[Home]   Trace: » ntfsmount
 

Navigation:

Documentation:

Other:

Link Collection:

~~CLOUD:30~~

About ntfsmount

ntfsmount (part of the ntfsprogs) is an read/write userspace NTFS driver. It provides full read-write access to NTFS, excluding writing compressed and encrypted files, changing file ownership, access right.

It is different from the kernel driver in the way that is resides in the user space. That means that it is a bit slower but has more features, and we love features, don't we?

What ntfsmount can do?

  • Create/Delete/Move files and directories.
  • Hard link files.
  • Read and write to normal and sparse files.
  • Read compressed and encrypted files.
  • Access to special Interix files (symlinks, devices, FIFOs).
  • List/Read/Write/Add/Remove named data streams.
  • Supports Linux, FreeBSD, NetBSD and Mac OSX.

Using ntfsmount

Once you have fuse installed (and of course, ntfsprogs too):

Create a directory to mount your volume to:

mkdir /mnt/c

Mount your volume:

ntfsmount /dev/hda1 /mnt/c

Of course, you can play with the mount options as you like. Read ntfsmount man page for list of all options.

mounting via fstab

If you are using ntfsprogs-2.0.0 or later (we strongly recommend you to update to the lastest ntfsprogs version), you only need to place something like this in /etc/fstab:

/dev/hda1 /mnt/c fuse.ntfs locale=en_US.utf8 0 0

Specifing the locale is only needed on some misconfigured distributions where auto-detection does not work correctly, and if you are using non-english filenames. Use “echo ${LC_ALL}” and/or “locales” at the terminal to find out the exact locale that your system is using, and use that in the fstab line instead of the “en_US.utf8” example.

Installing ntfsmount (generic)

First of all you need to download FUSE. Then:

tar zxvf fuse-2.7.0.tar.gz
cd fuse-2.7.0
./configure && make && sudo make install

Then you need to install ntfsprogs:

tar zxvf ntfsprogs-2.0.0.tar.gz
cd ntfsprogs-2.0.0
./configure --enable-fuse-module && make && sudo make install

Installing ntfsmount (Gentoo)

ntfsprogs present in portage, so installation will be rather simple.

First of all you need “fuse” USE flag. Add it to make.conf:

vi /etc/make.conf

or

flagedit +fuse

I recommend to install latest version of ntfsprogs instead of marked as stable, because we almost never break things in new versions, but they often contain important fixes:

echo sys-fs/ntfsprogs ~x86 >> /etc/portage/package.keywords 

or

flagedit sys-fs/ntfsprogs -- +~x86

Note: replace ~x86 with your arch

Now we are ready to emerge ntfsprogs:

emerge -va ntfsprogs

Installing ntfsmount (Debian)

First, you will need to install FUSE.

FUSE is built in into every Linux kernel version 2.6.14 or above. Also some distributions (Like Ubuntu Breezy) included it in earlier kernel versions.

To find out if your kernel supports fuse, run (as root)

modprobe -l | grep fuse | wc -l

If the output is 0 it doesn't, an output of 1 means it does.

If you use a Debian based distribution without FUSE kernel support, use module-assistant to compile it. Example: You will need to do the following (as root):

apt-get install kernel-headers-`uname -r` fuse-source module-assistant
module-assistant clean fuse
module-assistant build fuse
module-assistant install fuse

Note: If you compile ntfsprogs from source, you will need the libfuse-dev package (before you run ./configure) or ntfsmount will not be built. You will need libfuse2 too for running it.

Troubleshooting

  • ntfsmount complains about: “fuse: unknown option `user=…'”
fuse: unknown option `user=...'
fuse_new failed. 
Unmounting

Please upgrade to FUSE-2.7.0 to fix this problem.

  • Configure complains about
checking for FUSE... configure: error: ntfsmount requires FUSE version >= 2.6.1.

You don't have the FUSE library installed. Check that you have the libfuse-dev (or similar) package. Note: configure does not care about the fuse kernel module, only libfuse cares about it.

  • ntfsmount complains about
fusermount: failed to open /dev/fuse: No such file or directory
fuse_mount failed. 

The fuse kernel module is not loaded. You should type “modprobe fuse” to make it work until the next reboot. Solving it persistantly is distribution specific (Example: On Debian you should add a line containing only the word “fuse” to /dev/modules, on Gentoo add “fuse” to /etc/modules.autoload.d/kernel-2.6. On Fedora you should add ”/sbin/modprobe fuse” as a new line in ”/etc/rc.local”).

  • mounting with “mount” or with “fstab” complains:
fusermount: unknown option --
Try `fusermount -h' for more information
fuse_mount failed. 

You have an old fusermount version. Probably an old version that hides a newer one. Use “whereis fusermount” to find out the locations of fusermount's, and use ”/path/to/fusermount -V” (replace /path/to with the actual path) to find the version (version 2.5 and above are known to work). You should delete or replace the old version.

  • mounting with “mount” or with “fstab” complains:
fuse: failed to exec fusermount: Invalid argument
fuse_mount failed.

This is a FUSE bug. fusermount should be in one of /usr/bin, /usr/sbin, /bin, /sbin. It will not work when in /usr/local/bin. Either copy, or symlink to the correct location (e.g. type ln -s /usr/local/bin/fusermount /usr/bin/fusermount)

  • mounting complains with:
fuse: unknown option
fuse_new failed.
Unmounting: 

You are not executing ntfsmount correctly. Check the ntfsmount man page for proper syntax.

  • mounting as a non-root user complains:
Error opening partition device: Permission denied
Failed to startup volume: Permission denied
Couldn't mount device '/dev/hda1': Permission denied
Mount failed.

This is valid for all file systems on all block devices. You should mount as root. Alternative options are distribution specific, so you should consult with your distribution's forums. Examples of alternative solutions would be adding your user to the group “disk”, using pmount or creating a suid script that will mount that partition for you.

  • Files and directories with international characters don't appear in the directory listing.

This happens when you've mounted via /etc/fstab, locale auto-detection failed, and did not supply the “locale=” option. See the “mounting via fstab” section for more details.

 
ntfsmount.txt · Last modified: 2009/02/09 21:32 (external edit)