2008年10月31日星期五

How to Mount an NTFS Filesystem

Installing required packages

  • " src="http://wiki.centos.org/wiki/modern-CentOS/img/attention.png" title="" height="15" width="15"> While older ntfs drivers were prone to eat your data in r/w-mode, ntfs-3g seems to be r/w safe. See the ntfs-3g QA page for more information.

Make sure you have the rpmforge repo installed. If not, refer to Repositories.

Install the following packages.

yum install fuse fuse-ntfs-3g dkms dkms-fuse

(dkms and dkms-fuse install the fuse kernel module)

If the rpmforge repo is disabled by default,

yum --enablerepo=rpmforge install fuse fuse-ntfs-3g dkms dkms-fuse

If you are using the ATrpms repository there is no need to install dkms and dkms-fuse (you still need fuse-ntfs-3g from rpmforge).

The line to install from ATrpms then is

yum install fuse-kmdl fuse
  • " src="http://wiki.centos.org/wiki/modern-CentOS/img/attention.png" title="" height="15" width="15"> Do not mix from both repositories if you have rpmforge and atrpms installed. Choose one to install fuse from. You might want to take a look at the yum priorities plugin to priorize one repository over the other.

    " src="http://wiki.centos.org/wiki/modern-CentOS/img/attention.png" title="" height="15" width="15"> Make sure that you have the correct kernel-devel package installed - especially having one that matches your running kernel. dkms has kernel-devel as a requirement, but that only pulls in the standard kernel-devel package.

If you are running the xen kernel (kernel-xen), you need to

yum install kernel-xen-devel

If you're running kernel-PAE, you need to install

yum install kernel-PAE-devel

Same goes for kernel-smp and so on.

  • " src="http://wiki.centos.org/wiki/modern-CentOS/img/attention.png" title="" height="15" width="15"> yum will install the latest kernel-*-devel package. Make sure that it fits the kernel you are using. You might have to reboot to run the latest installed kernel after a "yum update". The installed running kernel and the kernel-*-devel package have to match.

Mounting an NTFS filesystem

Suppose your ntfs filesystem is /dev/sda1 and you are going to mount it on /mnt/win, do the following.

First, create a mount point.

mkdir /mnt/win

Next, edit /etc/fstab as follows. To mount read-only:

/dev/sda1       /mnt/win   ntfs-3g  ro,umask=0222,defaults 0 0

To mount read-write:

/dev/sda1       /mnt/win   ntfs-3g  rw,umask=0000,defaults 0 0

You can now mount it by running:

mount /mnt/win

Users of the centosplus kernel

In centosplus (Repositories/CentOSPlus) kernels, both ntfs and fuse kernel modules are enabled. A main difference between ntfs and ntfs-3g is that the former is read-only. Therefore, if you do not need write access to the ntfs filesystem, add this line to /etc/fstab :

/dev/sda1       /mnt/win   ntfs  ro,umask=0222,defaults 0 0

If you wish to have read-write access, you would need the fuse-ntfs-3g package. But because the fuse module is already available in the kernel, you do not need dkms :

yum install fuse fuse-ntfs-3g
  • " src="http://wiki.centos.org/wiki/modern-CentOS/img/attention.png" title="" height="15" width="15"> However, the fuse kernel module included in CentOS 5 (as of August 2007) produces a message: WARNING: Deficient FUSE kernel module detected. It still works, but it is advised that the fuse module from RPMforge (newer) be used instead.

Therefore, run:

yum install fuse fuse-ntfs-3g dkms dkms-fuse
to replace the existing fuse kernel module with the one from RPMforge.

Mount ntfs filesystem
mount -t ntfs-3g /dev/sda1 /mnt/windows


Let portable disk automount
ln -s /sbin/mnt.ntfs-3g /sbin/mnt.ntfs

没有评论: