NTFS
來自維基百科:
- NTFS (New Technology File System) 是一個由微軟開發的專有日誌文件系統。從 Windows NT 3.1 開始是 Windows NT 系列的默認文件系統。
Linux有兩個內核驅動提供了對NTFS讀寫支持。
- ntfs3—最初被 Paragon 提交到Linux內核中。ntfs3 內核驅動並沒有配套的用戶空間工具。安裝 來自 NTFS-3G 的 ntfsprogs包 或使用 Windows 設備以格式化分區和執行維護。
- ntfs— 從 Linux 7.1 其可用,基於在 Linux 6.9 被移除的老舊只讀驅動,用戶空間工具在 ntfsprogs-plusAUR 中可用。
目前來看,沒有哪個驅動系統明顯更好,兩者各有優缺點,操作上也存在一些細微差別。值得注意的是:
提示與技巧
防止創建 Windows 不支持的命名
NTFS 本身對字符和名稱沒有限制,但 Windows 對此有限制。
內核驅動支持 windows_names mount(8) 選項。使用該選項可嚴格保證兼容性。
在 GUI 文件管理器中使用 ntfs 驅動
大多 GUI 文件管理器使用 udisks 掛載,它默認偏向使用 ntfs3 驅動。參見Udisks#默認掛載選項以使用 ntfs 驅動替代。
已知問題
掛載時需要明確的文件系統類型
在7.1版本之前的內核上,NTFS 分區默認可能以只讀方式掛載或完全無法掛載。
這種情況下,需要明確指定ntfs3為文件系統類型。例如,使用 mount(8) 的 -t/--types 選項:
# mount -t ntfs3 /dev/sdxY /mnt
或者使用 fstab:
/etc/fstab
/dev/sdxY /mnt ntfs3 defaults 0 0
排障
文件系統掛載為只讀
如果使用版本舊於 7.1 的內核,使用ntfs3掛載文件系統以讀寫。詳見#掛載時需要明確的文件系統類型。
unknown filesystem type 'ntfs'
掛載 NTFS 時,可能會遇到如下錯誤:
mount: /mnt: unknown filesystem type 'ntfs'
請檢查是否已安裝 ntfs-3g:
$ pacman -Qi ntfs-3g
如果尚未安裝,可安裝之。也可以使用 -t ntfs3 參數來指定使用內核的 ntfs3 驅動。
無法用 ntfs3 掛載被標記為髒的分區
嘗試掛載一個正常的 NTFS 分區時(成功地使用 NTFS-3G 掛載,執行 ntfsfix --no-action 不匯報任何錯誤時),你可能會獲得下面的錯誤:
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error.
dmesg(1) may have more information after failed mount system call.
當分區被標記為「髒的」時,ntfs3 將不會掛載它。dmesg 會幫助你判斷這個情況,會說:
sdb1: volume is dirty and "force" flag is not set!
你可以嘗試用 --clear-dirty 參數來使用 {ntfsfix(8) 來清理它。
[2]
參見
- NTFS3 內核文檔
- NTFS3 驅動 FAQ – Paragon Software Group
- NTFS3 性能比較