1. Introduction

Purpose of this article is to provide to reader step by step guide, how to mount partition with NTFS file system on the Linux operating system. This article consists of two parts:

  • mount NTFS file system read only access
  • mount NTFS file system with read write access

2. Mount NTFS file system with read only access

2.1. NTFS kernel support

Majority of current Linux distributions supports NTFS file system out of the box. To be more specific, support for NTFS file system is more feature of Linux kernel modules rather than Linux distributions. First verify if we have NTFS modules installed on our system.

ls /lib/modules/2.6.18-5-686/kernel/fs/ | grep ntfs 

  check for NTFS kernel support

NTFS module is presented. Let's identify NTFS partition.

2.2. Identifying partition with NTFS file system

One simple way to identify NTFS partition is:

fdisk -l | grep NTFS 

Identifying partition with NTFS file system

There it is: /dev/sdb1

2.3. Mount NTFS partition

First create a mount point:

mkdir /mnt/ntfs 

Then simply use mount command to mount it:

mount -t ntfs /dev/sdb1 /mnt/ntfs 

Mount NTFS partition using linux
Now we can access NTFS partition and its files with read write access.

3. Mount NTFS file system with read write access

Mounting NTFS file system with read write access permissions is a bit more complicated. This involves installation of addition software such as fuse and ntfs-3g. In both cases you probably need to use your package management tool such as yum, apt-get, synaptic etc.. and install it from your standard distribution repository. Check for packages ntfs-3g and fuse. We take the other path which consists of manual compilation and installation fuse and ntfs-3g from source code.

3.1. Install addition software

3.1.1. Fuse Install

Download source code from: http://fuse.sourceforge.net/

wget http://easynews.dl.sourceforge.net/sourceforge/fuse/fuse-2.7.1.tar.gz 

Compile and install fuse source code:
Extract source file:

tar xzf fuse-2.7.1.tar.gz 

Compile and install

cd fuse-2.7.1
./configure --exec-prefix=/; make; make install 

Compile and install fuse source code

3.1.2. ntfs-3g install

Download source code from: http://www.ntfs-3g.org/index.html#download

wget http://www.ntfs-3g.org/ntfs-3g-1.1120.tgz 

Extract source file:

tar xzf ntfs-3g-1.1120.tgz 

Compile and install ntfs-3g source code
NOTE: Make sure that you have pkg-config package installed, otherwise you get this error message:

checking for pkg-config... no
checking for FUSE_MODULE... configure: error: FUSE >= 2.6.0 was not found. Either it's not fully 
installed (e.g. fuse, fuse-utils, libfuse, libfuse2, libfuse-dev, etc packages) or files from an old
version are still present. See FUSE at http://fuse.sf.net/ 
cd ntfs-3g-1.1120
./configure; make; make install 

Compile and install ntfs-3g source code

3.2. Mount ntfs partition with read write access

mount -t ntfs-3g /dev/sdb1 /mnt/ntfs/ 

NOTE: ntfs-3g recommends to have at least kernel version 2.6.20 and higher.

linuxconfig.org~# mount -t ntfs-3g /dev/sdb1 /mnt/ntfs/
WARNING: Deficient Linux kernel detected. Some driver features are
not available (swap file on NTFS, boot from NTFS by LILO), and
unmount is not safe unless it's made sure the ntfs-3g process
naturally terminates after calling 'umount'. If you wish this
message to disappear then you should upgrade to at least kernel
version 2.6.20, or request help from your distribution to fix
the kernel problem. The below web page has more information: