如何掛載一個 NTFS 檔案系統
[註:假若你應用的是一個 centosplus 內核、閱讀這部份]
安裝所需的套件
雖然舊版的 ntfs 在讀寫模式下很容易會吃掉你的資料,ntfs-3g 似乎能安全地進行讀寫。詳情見 ntfs-3g 的網頁。
由 CentOS 5.4 起(2.6.18-164 或更新的內核),fuse 模塊已經包含在內核裡。因此,已不再需要 dkms 及 dkms-fuse。如果你先前安裝了 dkms-fuse,請利用 yum remove dkms-fuse 這個指令把它解除安裝。請留意 CentOS-4 的用戶須要這兩個套件。
請確定你已經安裝了 rpmforge 軟件庫。否則,請參考「軟件庫」頁。
安裝下列套件。
yum install fuse fuse-ntfs-3g
假若 rpmforge 軟件庫預設為停用的,
yum --enablerepo=rpmforge install fuse fuse-ntfs-3g
給 CentOS-5 用戶的備註:如果你仍在運用 CentOS 5.3 或更舊版本,那麼你需要安裝來自 ELRepo 的 kmod-fuse。
EPEL 軟件庫為 CentOS-6 提供較新的 NTFS 套件。EPEL 亦適用於 CentOS-5。要進行安裝,請依軟件庫頁啟用軟件庫,然後:
yum install ntfs-3g
如果你選擇讓 EPEL 預設為停用的
yum --enablerepo epel install ntfs-3g
你也許會想執行
yum install ntfsprogs ntfsprogs-gnomevfs
來加入額外功能。
掛載一個 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
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 51
