如何掛載一個 NTFS 檔案系統
[註:假若你應用的是一個 centosplus 內核、閱讀這部份]
1. 安裝所需的套件
雖然舊版的 ntfs 在讀寫模式下很容易會吃掉你的資料,ntfs-3g 似乎能安全地進行讀寫。詳情見 ntfs-3g 的網頁。
EPEL 軟件庫收錄了適用於 CentOS-7 及 CentOS-6 的 ntfs-3g 套件。若要安裝,請按照 軟件庫 頁的指引啟用 EPEL 軟件庫: {{{yum install ntfs-3g fuse }}} 如果你選擇讓 EPEL 預設為停用的 {{{yum --enablerepo epel install ntfs-3g fuse }}}
你也許會想執行 {{{yum install ntfsprogs ntfsprogs-gnomevfs }}} 來加入額外功能。譬如說,利用 ntfsclone 複製 ntfs 分割區,選擇性地增加空間。ntfsprogs-gnomevfs 只適用於 CentOS-6。
2. 掛載一個 NTFS 檔案系統
假設你的 ntfs 檔案系統是 /dev/sda1 而你將會把它掛載在 /mymnt/win,請執行以下步驟。
首先,建立掛載點。 {{{mkdir /mymnt/win }}} 之後,編輯 /etc/fstab 如下。要唯讀式掛載: {{{/dev/sda1 /mymnt/win ntfs-3g ro,umask=0222,defaults 0 0 }}} 要讀寫式掛載: {{{/dev/sda1 /mymnt/win ntfs-3g rw,umask=0000,defaults 0 0 }}} 現在你可以進行掛載。執行: {{{mount /mymnt/win }}}
3. centosplus 內核的用戶
由 CentOS-5.3 開始,centoplus(zh-tw/Repositories/CentOSPlus)內核沒有啟用 NTFS 模塊。這是由於 5.3 內的 NTFS 是不能運作的。詳情請參閱 https://bugzilla.redhat.com/show_bug.cgi?id=481495 。如困你希望使用來自 CentOS 內核的 NTFS 模塊,你可以安裝來自ELRepo 計劃的 kmod-ntfs。然而,有別於 ntfs-3g,附屬內核的 ntfs 模塊只提供極度有限的寫入功能。以下文字來自內核的 Kconfig 檔案(多謝 AlanBartlett 提供這資料):
「唯一被支援的運作是在不更改長度的情況下重寫現存檔案。建立檔案及目錄,或者將它們刪除和改名都不可能。請注意,只有非常註的檔案才可以被寫入,因此你可能會發現無法把資料寫入一些很細小(小於 500 字元左右)的檔案內。」
以下描述適用於 CentOS 5.2 或更舊版本。
在 CentOSPlus 內核,ntfs 及 fuse 內核模塊都同時被啟用。ntfs 與 ntfs-3g 之間的主要差別就是前者是唯讀的,而後者可讀寫。因此,你若不需要權限來寫入 ntfs 檔案系統,便不用安裝額外的套件。你只需在 /etc/fstab 內加入這行: {{{/dev/sda1 /mymnt/win ntfs ro,umask=0222,defaults 0 0 }}} 假若你想有讀寫權限,你便需要 fuse-ntfs-3g 套件,但由於 fuse 模塊已經由內核提供,因此你不需要 dkms 套件: {{{yum install fuse fuse-ntfs-3g }}} 然而,CentOS 5 內所包含的 fuse 模塊(截至 2007 年 8 月)產生一個信息:WARNING: Deficient FUSE kernel module detected。它依然可以操作,但我們建議使用 RPMforge 內(較新)的模塊。此外,你應該升級至不含這個問題的最新內核。
因此,執行: {{{yum install fuse fuse-ntfs-3g dkms dkms-fuse }}} 以 RPMforge 內的 fuse 內核模塊取代現有版本。
另外請參閱:
http://wiki.linux-ntfs.org/doku.php?id=ntfs-en#can_i_mount_an_ntfs_volume (唯讀式掛載)
這頁的英文版本由 AkemiYagi 撰寫。歡迎各位作出修改。
Translation of revision 54