Wednesday, November 14, 2012

How to mount an NTFS Filesystem

 

Installing required packages

<!> 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 page for more information.
<!> As of CentOS 5.4 (kernel 2.6.18-164 or newer), the fuse kernel module is included in the kernel itself. Therefore, dkms and dkms-fuse are no longer required. If you have previously installed dkms-fuse, please uninstall it by a yum remove dkms-fuse command. Please note that CentOS-4 users need those 2 packages.
Make sure you have the rpmforge repo installed. If not, refer to Repositories.
Install the following packages.
yum install fuse fuse-ntfs-3g 
If the rpmforge repo is disabled by default,
yum --enablerepo=rpmforge install fuse fuse-ntfs-3g 
<!> Note for CentOS-5 users: If you are still running CentOS 5.3 or older, then you would need to install kmod-fuse from ELRepo.
For CentOS-6 the EPEL repository is carrying later NTFS packages. EPEL is also usable for CentOS-5. To install, after enabling the repo per the Repositories page:
yum install ntfs-3g 
or if you prefer to leave EPEL disabled by default
yum --enablerepo epel install ntfs-3g 
You may also want to
yum install ntfsprogs ntfsprogs-gnomevfs 
for additional functionality.

Mounting an NTFS filesystem

Suppose your ntfs filesystem is /dev/sda1 and you are going to mount it on /mymnt/win, do the following.
First, create a mount point.
mkdir /mymnt/win 
Next, edit /etc/fstab as follows. To mount read-only:
/dev/sda1       /mymnt/win   ntfs-3g  ro,umask=0222,defaults 0 0 
To mount read-write:
/dev/sda1       /mymnt/win   ntfs-3g  rw,umask=0000,defaults 0 0 
You can now mount it by running:
mount /mymnt/win 

Users of the centosplus kernel

<!> The NTFS module is not enabled in the centoplus (Repositories/CentOSPlus) kernel starting with CentOS-5.3. This is because NTFS in 5.3 is broken. Please see https://bugzilla.redhat.com/show_bug.cgi?id=481495 for details. If you would like to use the NTFS driver from the CentOS kernel, you can do so by installing kmod-ntfs from the ELRepo project. However, unlike ntfs-3g, the write option of the kernel ntfs module is extremely limited. Here is a note from the kernel Kconfig file (thanks to AlanBartlett for this info):
"The only supported operation is overwriting existing files, without changing the file length. No file or directory creation, deletion or renaming is possible. Note only non-resident files can be written to so you may find that some very small files (<500 bytes or so) cannot be written to."
The following description applies to CentOS 5.2 or older.
In CentOSPlus kernels, both ntfs and fuse kernel modules are enabled. The main difference between ntfs and ntfs-3g is that the former is read-only, whilst the latter is read-write. Therefore, if you do not need write access to a ntfs filesystem, there is no need to install additional packages. Simply add this line to /etc/fstab :
/dev/sda1       /mymnt/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 the dkms package:
yum install fuse fuse-ntfs-3g 
<!> 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. Also, you should update to the latest kernel which does not suffer from this issue.
Therefore, run:
yum install fuse fuse-ntfs-3g dkms dkms-fuse 
to replace the existing fuse kernel module with the one from RPMforge.

See also:
http://wiki.linux-ntfs.org/doku.php?id=ntfs-en#can_i_mount_an_ntfs_volume (read-only mounting)

No comments:

Post a Comment