Mittwoch, 18. März 2009

Mount NTFS Partitions

Windows uses a different filesystem (NTFS) to store files. In order for Fedora to read that filesystem, you require NTFS support in your kernel. There are multiple ways now to support NTFS in Linux. The following solution uses NTFS-3G which uses "Fuse" support in more recent kernels.

NOTE: As of Fedora 7, devices previously referenced by /dev/hda and /dev/hdb will be referenced by /dev/sda and /dev/sdb (respectively).

To setup NTFS access you must (1) install NTFS support, (2) check how many partitions you have, (3) create mount points, (4) mount partitions, and (5) update fstab to mount at next boot.

1. Install NTFS Support

The software required for NTFS support is included in the DVD installation. If not, install using yum:

[mirandam@charon ~]$ sudo yum install fuse fuse-libs ntfs-3g

Users without yum, either download or use your Fedora 7 DVD to install the following RPM's: fuse, fuse-lib and ntfs-3g.

2. Check Your Partitions

Use fdisk to list partitions. Most ATA hard drives will be /dev/sda. Drives may also show up as /dev/sdb depending on your configuration.

[mirandam@charon ~]$ sudo /sbin/fdisk -lu /dev/sda | grep NTFS
/dev/sda1 * 63 33559784 16779861 7 HPFS/NTFS
/dev/sda2 33559785 67119569 16779892+ 7 HPFS/NTFS
/dev/sda3 67119570 100679354 16779892+ 7 HPFS/NTFS

Usually the first will be a drive "letter": C drive, next D, etc. Hence /dev/sda1 is my C:\ drive used by Windows.

3. Create Mount Points

For every partition in step 2 that you wish to access, you will need a "mount point". A mount point is just a directory. Common directories are: /media/ and /mnt/. Use whichever, but be consistent.

[mirandam@charon ~]$ cd /media/
[mirandam@charon media]$ sudo mkdir c_drive d_drive e_drive

You do not have to use these names, if you prefer to create folders such as 'movies', 'documents', or 'winxp', any name will work (recommended without spaces).

4. Mount Partitions

Using the NTFS-3G we can either mount the NTFS partitions read-only or read-write. For new users, read-only is recommended.

[mirandam@charon ~]$ sudo mount /dev/sda1 /media/c_drive -t ntfs-3g -r -o umask=0222
[mirandam@charon ~]$ sudo mount /dev/sda2 /media/d_drive -t ntfs-3g -r -o umask=0222
[mirandam@charon ~]$ sudo mount /dev/sda3 /media/e_drive -t ntfs-3g -r -o umask=0222

Read/Write Access: The above is for read-only access. In order to mount read/write, you must use the -rw -o umask=0000. Example:

[mirandam@charon ~]$ sudo mount /dev/sda1 /media/c_drive -t ntfs-3g -rw -o umask=0000

HIGHLY RECOMMENDED: Please run man mount to understand what umask= does.

5. Update /etc/fstab

Every time Fedora boots, the partitions must be mounted. To automatically mount, you must edit /etc/fstab.

Open /etc/fstab in an editor: (use nano instead of gedit if you do not have a GUI)

[mirandam@charon ~]$ sudo gedit /etc/fstab

Add these lines to the END of the file:

/dev/sda1   /media/c_drive     ntfs-3g    ro,defaults,umask=0222 0 0
/dev/sda2 /media/d_drive ntfs-3g ro,defaults,umask=0222 0 0
/dev/sda3 /media/e_drive ntfs-3g ro,defaults,umask=0222 0 0

Read/Write Access: The above is for read-only access. In order to mount read/write, you must use the rw,defaults,umask=0000. Example:

/dev/sda1   /media/c_drive     ntfs-3g    rw,defaults,umask=0000 0 0

Done!

NOTE for FAT32 users

If you have FAT32 or FAT16 partitions, instead of ntfs-3g above you can use vfat to mount your partitions. No extra modules or downloads are required, this is built into the kernel. Just replace vfat for every place we have ntfs-3g when mounting and when editting /etc/fstab. Keep in mind that FAT partitions are read-write supported.