從Windows轉到Linux的用戶,想必會遇到NTFS硬碟無法讀取的問題吧。Microsoft Windows系統所建立的檔案系統稱作NTFS,而Linux的檔案系統主要是EXT4、BTRFS這類的。由於NTFS是專有格式,那麼Linux讀取NTFS就會出問題,甚至根本讀不到。
要解決Linux讀不到NTFS硬碟的問題,我們可以安裝「NTFS-3G」開源驅動解決這個問題,透過在userpsace執行的FUSE檔案系統,它能讓Linux掛載NTFS格式的硬碟並進行讀寫,還支援解密BitLocker加密過的硬碟。
NTFS-3G這個套件Ubuntu、Arch Linux、Fedora、openSUSE等主流發行版都有收,甚至macOS也能裝。
註:雖然NTFS-3G驅動的相容性這幾年來已經改進了許多,但NTFS畢竟是專有格式,開源驅動無法100%相容所有功能,建議別把重要的Linux程式放在NTFS的磁碟跑,NRFS僅用來儲存資料就好。
NTFS3 vs NTFS-3G?#
NTFS3為Paragon Software於2021年推出的核心模組,直接在Linux核心執行,相對在userspace執行的NTFS-3G有更好的效能。
但是,撰文當下要滾動發行版才有,Ubuntu 24.04 LTS和Debian 12還無法使用。所以我們還是用相對穩定的NTFS-3G吧。
1. 取得NTFS-3G套件#
NTFS-3G於2006年推出,現由Tuxera公司維護,原始碼位於 Github。
不需要從原始碼編譯,請直接開啟終端機,用你系統的套件管理員安裝即可。
Ubuntu LTS / Debian Stable:
sudo apt install ntfs-3g
Arch Linux / Manjaro:
sudo pacman -S ntfs-3g
Fedora / RHEL / Rocky Linux:
sudo dnf install ntfs-3g
openSUSE:
sudo zypper install ntfs-3g
2. 掛載NTFS硬碟(圖形界面)#
裝好NTFS-3G套件後重開機,桌面環境的檔案管理器應會自動偵測到硬碟了。
GNOME:
NTFS硬碟應該會顯示在檔案管理員的「其他位置」或者左側欄位,用容量判斷,點選掛載。
之後,你可以用GNOME的公用程式 → 磁碟(Disk)程式 → 編輯掛載選項,設定開機自動掛載NTFS硬碟。
KDE Plasma:
NTFS硬碟應該會顯示在檔案管理員的左側的「裝置」欄位,點選掛載。
在KDE系統設定 → 可移除的儲存裝置,設定開機自動掛載NTFS硬碟。
3. 掛載NTFS硬碟(命令行)#
- 使用lsblk指令列出所有硬碟,Linux硬碟通常都是用
/dev/sdX
或者/dev/nvme0X
表示,例如我這裡的硬碟是/dev/sdd
sudo lsblk
- 確認該硬碟的檔案系統是否為NTFS
sudo lsblk -no FSTYP /dev/sdd
- 將其掛載到Linux的
/run/media/使用者名稱/ntfs-disk
sudo mkdir /run/media/$USER/ntfs-disk/
sudo mount -t ntfs3 /dev/sdd /run/media/$USER/ntfs-disk/
- 若要設定開機自動掛載,編輯
/etc/fstab
sudo vim /etc/fstab
- 將以上的掛載資訊寫上去。
/dev/sdd /run/media/使用者名稱/ntfs-disk/ ntfs-3g defaults 0 0
4. 在Linux格式化NTFS硬碟#
安裝 GParted
選擇要格式化的硬碟,通常Gparted上面會寫這個硬碟的檔案系統為何,由此可知這就是你要修改的NTFS硬碟。
開啟後選取裝置 → 新增分割表,選GPT。再選新增分割區,檔案系統選NTFS,按打勾開始格式化。
至於如何在Linux用BitLocker加密NTFS硬碟?嗯,目前好像沒有此類軟體出現~不過你倒是可以用跨平台的硬碟加密軟體 VeraCrypt,替代只有Windows才能用的BitLocker。