Tuesday, January 6, 2009

How to access Windows FAT drives in Linux

Recently I was wondering, how to access my FAT32 formatted Windows drives in Linux, there was a reason for it. Most of my NS-2 tutorials were stored in Windows, and I cannot shift all of them to Linux because of space constraints. I used to reboot the system log into Windows refer the document and again reboot to log back to Linux to do the task. This was a rather hectic process.
As usual I used Google to find a way out. I was directed to a blog which solved my problem, and I was surprised how easy it was to access Windows FAT files in Linux. I regret that I should have done this earlier. Anyway as the proverb says "Better late then never" I am glad I have done this atleast now, and happy that I learned something Good.
Theses are the steps I followed to access the Windows formatted FAT drives in Linux
1. Login as root from the terminal.
2. Type the below command without "
"fdisk -l"
and press return key(Enter Key)
3. After the above step this was the data displayed on my system,

Disk /dev/hdb: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hdb1 * 1 1275 10241406 c W95 FAT32 (LBA)
/dev/hdb2 1276 9729 67906755 f W95 Ext'd (LBA)
/dev/hdb5 1276 2550 10241406 b W95 FAT32
/dev/hdb6 2551 3825 10241406 b W95 FAT32
/dev/hdb7 3826 5099 10233373+ b W95 FAT32
/dev/hdb8 5100 6374 10241406 b W95 FAT32
/dev/hdb9 6375 7943 12602961 b W95 FAT32
/dev/hdb10 7944 7956 104391 83 Linux
/dev/hdb11 7957 9660 13687348+ 83 Linux
/dev/hdb12 9661 9729 554211 82 Linux swap

4. Now I will show you how to access my C Drive in Linux.
As you can see my C drive is /dev/hdb1 (The * indicates primary partition of Windows which is C:)
To access C Drive do the following
Navigate to /mnt and create a new directory called c_drive (this will help you to identify your C Drive in case you mounted many drives) as shown below

[root@localhost mnt]# mkdir c_drive

You may be wondering what is this /mnt(mount). This is a standard location where the mounting takes place in Linux. For more info on mounting please refer Google.

Now type the below commands

[root@localhost /] mount /dev/hdb1 /mnt/c_drive

this will mount the C Drive to Linux, in plain English it means you can now access the C Drive in Linux
The location of this drive is "/mnt/c_drive"

In the similar way you can access the remaining drives, even your USB drive also can be mounted in the similar way.

For further information you can refer the following links

Note:The above method was tested with Red Hat enterprise Linux release 4.

Hope it Helped
Good Luck

No comments: