Irfan’s Corner on the Web On Mac, Linux, Grid, Virtualization and Software Technology

23Jun/075

Stable Full NTFS support in Linux Atlast!

Adding full read/write NTFS support to Linux has been a story of damaged reputations, data corruptions and human ingenuity!

Since 1995 various groups have been working on adding support for NTFS to Linux, however their efforts were dealt a severe blow when Microsoft significantly changed the filesystem in Windows 2000. The project which came most near to a providing a complete support for NTFS was Captive NTFS which used Windows's own native ntfs driver wrapped in ReactOS, however due to proprietary issues Captive NTFS could not be accepted as a mainstream solution.

Now after 12 years in development, there is a full driver at last! NTFS-3G, which uses Filesystem in User Space (FUSE), and provides full read/write support for NTFS partitions. Such was the demand that within 5 days of release the projects main page, received 2 million hits! Here is a brief tutorial how to make use of it.

Installing NTFS-3G

The entire software can be downloaded from http://www.ntfs-3g.org/index.html, many distribution specific packages exist.OpenSUSE users can refer to this.

Creating a Parition

For full guide, check the official how-to by TLDP

Formatting the partition to ntfs

use the mkfs.ntfs utility to format a partition to NTFS, you could also use any Windows installation for this purpose (I would recommend the latter, as mkfs.ntfs is very slow)

usage:

mkfs.ntfs drive-name [eg. mkfs.ntfs /dev/sdb1]

Mounting NTFS drive

mount -t ntfs-3g drive-name mount-point [eg. mount -t ntfs-3g /dev/sdb1 /mnt/sdb1]

Unmounting the NTFS drive

umount drive-name

Intially when I installed ntfs-3g, I faced lots of stability problems. It complained something about using a kernel less than 2.6.20, I was using opensuse's default kernel 2.6.18-34, and I faced data corruption twice. Now I'm using the 2.6.22-2 kernel, and it seems to be working stable now. Additionally it was reported in the media that writing is slow in this driver, however I have not noticed any difference, maybe because I was writing to an external hard disk and the bottleneck was in the USB interface. Real performance can be measured in internal hard disk partitions.

Filed under: linux, open source 5 Comments