Please refer to this thread now: http://www.ubuntuforums.org/showthread.php?t=217009
This guide is outdated since there is a new and better ntfs supporting driver now.
ATTENTION, OLD INSTRUCTIONS FOLLOW BELOW FOR REFERENCE ONLY! PREFER THE INSTRUCTIONS FOUND ON THE NEW THREAD:
As initially posted on the Wiki: https://wiki.ubuntu.com/Lkraider/NtfsFuse
Warning! Ntfs writing support is still experimental! You should not enable it on production machines and/or volumes you don't have backups of. Proceed at your own risk!
End of Initial Remark.
That being said, it is quite safe and if it fails to write something, will not corrupt your disk (unless there's a bug somewhere).
This initial part is for Breezy only, Dapper users already have the required packages
I - Install the necessary dependencies
bash:~$ sudo apt-get install libfuse2 fuse-utils
II - Get the latest ntfsprogs package
Note: You will be downloading these directly from the Dapper repositories, so they are safe to install.
III - Install the downloaded packages
bash:~$ sudo dpkg -i libfuse2_*.deb fuse-utils_*.deb ntfsprogs_*.deb libntfs8_*.deb
Dapper and Breezy instructions from here on:
Note: you can replace the "gksudo gedit" commands with your preferred editor (ex: "sudo nano", for instance)
1 - Add fuse to the list of modules to load
bash:~$ echo fuse | sudo tee -a /etc/modules
2 - Create a user group to access the ntfs disks
bash:~$ sudo addgroup ntfs
The output should look something like this:
Adding group `ntfs' (1002)...
Take notice of your group GID (the number printed after the group name), as it can differ for you and we will need it.
3 - Edit the fstab file to mount the disks
Make a backup of your current settings:
bash:~$ sudo cp /etc/fstab /etc/fstab.bak
Edit the fstab file:
bash:~$ gksudo gedit /etc/fstab
Find the line that currently mounts your ntfs partitons, and change them to look like this:
/dev/hda1 /media/hda1 ntfs-fuse auto,gid=1002,umask=0002 0 0
Notice the use of the group's GID from before, and the umask to allow write access just to owner (root) and group (ntfs), and read access to everyone.
You could also use an umask=0007
to block all access for users not on the ntfs group.
4 - Add users to the ntfs group
bash:~$ sudo adduser username ntfs
stands for the user you whish to add (replace it with a real username). Do this for all the users you want to be able to write to ntfs disks.
5 - Fix Dapper bug #29865 of the linux-ntfs package:
bash:~$ sudo rm /sbin/mount.ntfs-fuse && sudo ln /usr/bin/ntfsmount /sbin/mount.ntfs-fuse
If you reboot now, the disk will be writable to the selected users when they logon.
If you want the changes to take effect immediately without rebooting, execute these commands:
(Ignore errors about "/" and others not being unmounted, it doesn't matter)
bash:~$ sudo modprobe fuse && sudo umount -a && sudo mount -a
You'll have to logout from all your user sessions for the new group to be acknowledged (usually a logout from your graphical session and login back again will do it).
1) If you get this error:
You will have to boot into your Windows OS and do a "chkdsk /f" (aka. scandisk) on the partiton that you are trying to mount. Currently, ntfsprogs can't check/fix the integrity of the partitions and will refuse to mount them if they are marked as dirty (ie. needing to be checked), so you'll have to do it from Windows.
Couldn't mount device '/dev/hda1': Operation not supported
Windows did not shut down properly. Try to mount volume in windows, shut down and try again.
2) You can't access the ntfs partitions from Nautilus anymore from the computer:/// places. This is a bug of Nautilus I think. You'll get an error like this:
A workaround is manually creating a link from the mountpoint to your desktop for easy access.
Unable to mount the selected volume mount: according to mtab, /dev/hda1 is already mounted on /media/hda1
3) If you want to check whether you are in the ntfs group, type:
it will output all groups the current user is in. Example:
4) If you partition/format the NTFS drive in Linux then the System Volume Information folder is not created and you must run chkdsk on it in order for it to work correctly. (as reported by glycerin)
username adm dialout cdrom floppy audio dip video plugdev lpadmin scanner admin ntfs