NTFS-Write in FreeBSD

NTFS-write in FreeBSD is possible with NTFS-3G from ports. From tuxera.com:

NTFS-3G is a stable, full-featured, read-write NTFS driver for Linux, Android, Mac OS X, FreeBSD, NetBSD, OpenSolaris, QNX, Haiku, and other operating systems. It provides safe handling of the Windows XP, Windows Server 2003, Windows 2000, Windows Vista, Windows Server 2008 and Windows 7 NTFS file systems.

To install NTFS-3G, do:

# portmaster sysutils/fusefs-ntfs

Next, create a symbolic link from the newly-installed /usr/local/bin/ntfs-3g into /usr/sbin/:

# ln -s $(which ntfs-3g) /usr/sbin/mount_ntfs-3g

Modify your /etc/rc.conf to contain:

1
2
3

fusefs_enable="YES"

Provided you know on which hard-disk (based on make/model/capacity of the device) your NTFS partition resides, you can figure out it’s exact device node in FreeBSD:

# egrep 'ad[0-9]|cd[0-9]|da[0-9]' /var/run/dmesg.boot

ad0: 35303MB  at ata0-master
ad2: 57240MB  at ata1-master
ad4: 286168MB  at ata2-master

My NTFS partition resides on a 300GB WD Velociraptor drive, ad4. To confirm that /dev/ad4 does indeed contain the NTFS partition, do:

# gpart show -p ad4

=>        34  586072064    ad4 GPT  (286G)
          34  586072064  ad4p1 ntfs (286G)

To mount the partition manually, do:

# ntfs-3g /dev/ad4s1 /mnt/windows7

Finally, add the appropriate line to /etc/fstab to have the NTFS partition mounted at the next system boot. For instance, my /etc/fstab contains:

/dev/ad4s1              /mnt/windows7            ntfs-3g rw,late         0       0