CentOS挂载一个NTFS文件系统

分类:CentOS教程 阅读:47955 次

安装所需的组件

CentOS挂载一个NTFS文件系统虽然旧版的 ntfs 在读写模式下很容易会吃掉你的数据,ntfs-3g 似乎能安全地进行读写。详情见ntfs-3g 的网页

CentOS挂载一个NTFS文件系统由 CentOS5.4起(2.6.18-164 或更新的内核),fuse 模块已经包含在内核里。因此,已不再需要dkmsdkms-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挂载一个NTFS文件系统给 CentOS-5 用户的备注:如果你仍在运用 CentOS5.3或更旧版本,那么你需要安装来自ELRepo的kmod-fuse。

EPEL软件库为CentOS-7及CentOS-6提供较新的 NTFS 组件。EPEL 亦适用于CentOS-5。要进行安装,请依软件库页启用软件库,然后:

yum install ntfs-3g

如果你选择让 EPEL 缺省为停用的

yum --enablerepo epel install ntfs-3g

你也许会想执行

yum install ntfsprogs ntfsprogs-gnomevfs

来加入额外功能。(譬如说,利用 ntfsclone 复制 ntfs 分区,选择性地增加空间。)

挂载一个 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挂载一个NTFS文件系统由 CentOS-5.3 开始,centoplus(zh/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挂载一个NTFS文件系统然而,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(只读式挂载)