How to mount NTFS in Linux

Linux-NTFS RPMs Documentation Print

This documentation should help you choosing the right RPM for your kernel and Linux distribution, and assist you in installing (and testing) it.

NOTE: If you are using Fedora Code 6 (Zod), you do not need to use these instructions. See the note for Fedora Extras.

Which RPM

It is important to install exactly the same version of NTFS kernel module as the kernel you have installed. Below are some simple instructions to help you find the file you need.

A quick way to find the version is to use the ‘whichrpm’ script. Save the file and run it. Then go to the install section.

    chmod 700 whichrpm
    ./whichrpm

The script, above, just automates what we will do next. First we need to decide which release you have. Run this command:

    cat /etc/redhat-release

and you will probably see one of the following responses:

    Fedora Core release 3 (Heidelberg)
    Fedora Core release 4 (Stentz)
    Fedora Core release 5 (Bordeaux)
    Red Hat Linux release 9 (Shrike)

Next find out your kernel version:

    uname -r

You should see a response something like one of these:

    2.4.18-3
    2.4.18-17.7.x
    2.4.22-1.2115.nptl
    2.6.8-1.521

The version might also have one of the following suffixes:

    smp
    bigmem
    hugemem
    BOOT

Note: If the result ends with smp then you have a multi-processor computer (you probably already knew that).

Next find out what sort of processor you have. This command will ask which kernel rpm was installed for you.

Note: If your version number had a suffix, then use it here, e.g. replace kernel with kernel-smp, or kernel-bigmem.

    rpm -q --queryformat "%{ARCH}n" kernel

Most people will have an i686 processor (a recent Pentium computer). Other options are athlon, i586 or i386.

Next download the RPM. Follow the links for

  * Fedora 4 (Stentz)
* Fedora 3 (Heidelberg)
* Fedora 2 (Tettnang)
* Fedora 1 (Yarrow)
* RedHat Enterprise 4 (Nahant)
* RedHat Enterprise 3 (Taroon)
* RedHat 9 (Shrike)
* RedHat 8.0 (Psyche)
* RedHat 7.3 (Valhalla)

When you have downloaded the RPM, we will continue with the installation instructions.

Install

You must be root for the rest of the commands. The examples will continue as if you downloaded kernel-ntfs-2.4.18-14.i686.rpm.

Note: Newer NTFS RPMs have names like

    kernel-module-ntfs-2.6.8-1.541-2.1.17-0.fc.1.2.i586.rpm

Next install the rpm:

    rpm -ihv kernel-ntfs-2.4.18-14.i686.rpm

    Preparing...      ############################### [100%]
       1:kernel-ntfs  ############################### [100%]

There should be no errors, just some ‘#’-characters.

Note: newer NTFS RPMs will also print a message telling you if install succeeded.

If something goes wrong see the Help Section.

This is the only command we actually needed, but we’ll go on and test what we have done.

Next load the kernel module

    /sbin/modprobe ntfs

There should be no output. If there are a lot of error messages see the Help Section.

The next command, dmesg prints the kernel logs. We search them for NTFS using grep.

    dmesg | grep NTFS

    NTFS driver v1.1.22 [Flags: R/O MODULE]

We can now check that the kernel really understands NTFS. The output may vary slightly, but you are looking for the entry ntfs.

    cat /proc/filesystems

    nodev   rootfs
    nodev   bdev
    nodev   proc
    nodev   sockfs
    nodev   tmpfs
    nodev   shm
    nodev   pipefs
            ext3
            ext2
    nodev   ramfs
    nodev   devpts
            ntfs

Mount

Mounting an NTFS Volume is covered in more detail in Section 4 of the Linux-NTFS FAQ (in the Wiki).

First you need to know which device your NTFS Volume is on and you need to create a directory as a mount point.

    /sbin/fdisk -l

The output might look like:

    Disk /dev/hda: 64 heads, 63 sectors, 4465 cylinders
    Units = cylinders of 4032 * 512 bytes

       Device Boot    Start       End    Blocks   Id  System
       /dev/hda1             1      2125   4283968+  07  NTFS/HPFS
       /dev/hda2          2126     19851  35735616   0f  Win95 Ext'd (LBA)
       /dev/hda5   *      2126      4209   4201312+  83  Linux
       /dev/hda6          4210      4465    516064+  82  Linux swap

    mkdir /mnt/windows
    mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222
    ls -l /mnt/windows

    ...
    -r-xr--r-- 1 root root  9719 Aug 24 1996 ansi.sys
    -r-xr--r-- 1 root root 15252 Aug 24 1996 attrib.exe
    -r-xr--r-- 1 root root 28096 Aug 24 1996 chkdsk.exe
    -r-xr--r-- 1 root root  5175 Aug 24 1996 choice.com
    ...

Hopefully everything is working for you now.

Note: Now, please read the NTFS FAQ (Frequently Asked Questions, in the Wiki), especially if you want to know:

  * How to change the owner or permissions of the mounted partition (Section 4.9) * How to have Linux mount the partition automatically at boot time (Section 4.10)

Uninstall

If you wish to remove the NTFS RPM, first list all the RPMs with ntfs in their name. You output might look something like this:

    rpm -qa | grep -i ntfs

    kernel-module-ntfs-2.6.9-1.667smp-2.1.20-0.fc.1.2

Then, cut and paste the name into the rpm erase command:

    rpm -e kernel-module-ntfs-2.6.9-1.667smp-2.1.20-0.fc.1.2

One thought on “How to mount NTFS in Linux

Leave a comment