While this ArsGeek tech guide is still valid, see here for a newer and more stable way to gain access to NTFS.

If you’re like me, then you’ve got a dual boot machine running both Windows and Ubuntu. heck, even if you’re not like me it’s entirely possible that you’ll have a dual boot machine. I’ll even allow for a triple boot machine if you like.

Here’s a guide to making the most of your NTFS partition while in Ubuntu. When you’re done you should be able to have your NTFS partition mounted at boot, be able to write to it and read from it and be able to lift three times your body weight without breaking a sweat.

It should be noted that writing to NTFS is still experimental. You’d best have a backup of your machine if you’re going to do this.

First let’s figure out where our NTFS partition is hiding. I’m going to assume that you’ve got an NTFS partition, an EXT3 partition and perhaps a FAT32 partition laying about. Open up a terminal session and type the following:
sudo fdisk -l
You’re looking for the NTFS partition, my output looks like this:
Device Boot Start End Blocks Id System
/dev/sda1 * 1 2550 20480008+ 7 HPFS/NTFS
/dev/sda2 2550 7493 39707451+ f W95 Ext’d (LBA)
/dev/sda3 7494 9729 17960670 83 Linux
/dev/sda5 2550 7394 38911288+ b W95 FAT32
/dev/sda6 7395 7493 795186 82 Linux swap / Solaris

It’s /dev/sda1 that I’m interested in. Find out what yours is and write it down somewhere. A good thing to do is to write it backwards on your forehead in indellible marker. This not only allows you to see where it is every time you look in the mirror but I’ll also be able to identify my readers if you venture out into public.

So let’s install the stuff we’ll need to get this working.
sudo apt-get install libfuse2 fuse-utils libntfs8 ntfsprogs
Now let’s add fuse to the list of stuff that our kernel will load:
echo fuse | sudo tee -a /etc/modules
Now let’s add a group which we’ll use to control who can or can’t get access to the NTFS partition.
sudo addgroup ntfs
When this is done, you’ll get some output which will contain your GID (Group ID). It’ll look something like adding group ntfs (1001). Write down that GID, or add it to your backwards forehead list.

Now we’re going to create a mount point for our partition. This is a folder into which this disk will be shoved. Well, metaphorically speaking anyway. We’ll put it in the /media directory so it’ll show up on our desktop. then we’ll edit the fstab file to tell it to mount the NTFS partition on to the folder.
sudo mkdir /media/windows
sudo cp /etc/fstab /etc/fstab.bak
gksudo gedit /etc/fstab

Now that you’ve got the fstab file backed up and open in gedit, let’s add the following line to the bottom of it.
/dev/hda1 /media/windows ntfs-fuse auto,gid=1002,umask=0002 0 0
Here’s where you’ll need a mirror to look at the info you’ve written backwards on your forehead. The first bit ‘/dev/hda1′ is the location of your NTFS partition. If you’re is different, then change it in your fstab entry above. The second bit we’ll need is the GID of your ntfs group. If it’s not 1002 then change that as well.

Now, let’s add your user to the ntfs group. If you’re username is ‘slartibartfast‘ this is how the command would look. (If you’re username is not ’slartibartfast, then type your username in place of slartibartfast, or consider changing it to slartibartfast’).
sudo adduser slartibartfast ntfs
Now let’s do some quick removing and linking to fix a known bug.
sudo rm /sbin/mount.ntfs-fuse && sudo ln /usr/bin/ntfsmount /sbin/mount.ntfs-fuse
Now reboot your machine and you’ll come back up to the joy of being able to muck with your windows install while not actually booting into windows.