Mac OS X: Mounting FAT32 external hard drive via Terminal command line

I have a 150GB USB external hard drive (IDE/Parallel ATA disk in an enclosure) which was formatted as one partition, FAT32 in Windows XP. I wanted to extract the files off of it using my Macbook Pro running Apple Macintosh Leopard (Mac OS X 10.5.6).

However, when I plug it in, I get a dialog box which says:

Disk Insertion
The disk you inserted was not readable by this computer.
Initialize...   Ignore   Eject

I saw many references to there being a 127GB or 128GB partition limit for FAT32 for Mac to successfully mount.

Also, a potential problem was that when using Disk Utility it shows up on my system incorrectly as formatted as a Windows NT Filesystem (NTFS-3G).

diskutil list disk3

Output:

/dev/disk3
#:                       TYPE NAME                    SIZE       IDENTIFIER
0:     FDisk_partition_scheme                        *149.1 Gi   disk3
1:               Windows_NTFS                         149.0 Gi   disk3s1

It did however mount automatically and show up when I was running a virtual machine, for example Parallels and Windows XP (I used VirtualBox and Windows 7), but copying over files this way proved to be very slow.

So, after spending a lot of time on the internet looking for solutions, I just tried mounting it from the Terminal (command line) with success!

First, make a mount point:

sudo mkdir /Volumes/EXT_HD

Now mount (your device numbers may be different, e.g. /dev/disk2s1 — you can determine what it is as it will the the highest number when you issue the command ‘ls /dev/disk*’):

sudo mount -t msdos /dev/disk3s1 /Volumes/EXT_HD/

It eventually showed up in Devices in Finder, but just to let you know, when I tried ejecting (unmounting) it when I was done, even though I had closed all programs I got the error:

The disk “USB_DRIVE” is in use and could not be ejected. Try quitting applications and try again.

Unmounting via he command line also failed:

sudo umount /Volumes/EXT_HD/
umount: unmount(/Volumes/EXT_HD): Resource busy

So I had to reboot.

I hope someone finds this information useful because I sure didn’t find any help…

EDIT (01 Oct, 2009): Apparently there is a way to enable native NTFS read/write support in 10.6 Snow Leopard (and this may work for Leopard). However, I would recommend not allowing write ability (and thus read only) when using this method as it may corrupt your NTFS files. To set to read only, follow the directions in the link but instead of using ‘rw’, use ‘ro’, e.g. UUID=123-456-789 none ntfs ro

29 thoughts on “Mac OS X: Mounting FAT32 external hard drive via Terminal command line

  1. yeah, this rules. i still haven’t actualized the power of terminal for myself, thanks for the leg up.

  2. Yeah, the unmounting is a pain, but at least I can mount this puppy. What a pain. I chose FAT32 expressly because it is supported by osx, winblows and linux. I’m thinking about reformatting, but the thought of re-transferring – by usb – 200+gb of data is discouraging.

    Anyway, thanks for at least helping me get it mounted.

  3. The reason you had a hard time to umount could be because it was being scanned by the OS or something:

    strangepork:~ raub$ sudo lsof /mnt
    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
    mds 32 root 14r DIR 14,5 442 2 /mnt
    mds 32 root 16u REG 14,5 28 29 /mnt/.Spotlight-V100/Store-V1/Stores/4C73D5F1-F8B7-45A9-B38E-6229932EBFAB/indexState
    mds 32 root 18r DIR 14,5 1326 26 /mnt/.Spotlight-V100/Store-V1/Stores/4C73D5F1-F8B7-45A9-B38E-6229932EBFAB
    mds 32 root 29u REG 14,5 53248 54 /mnt/.Spotlight-V100/Store-V1/Stores/4C73D5F1-F8B7-45A9-B38E-6229932EBFAB/store.db
    mds 32 root 30u REG 14,5 53248 55 /mnt/.Spotlight-V100/Store-V1/Stores/4C73D5F1-F8B7-45A9-B38E-6229932EBFAB/.store.db
    mds 32 root 31u REG 14,5 0 57 /mnt/.Spotlight-V100/Store-V1/Stores/4C73D5F1-F8B7-45A9-B38E-6229932EBFAB/journalLive
    mds 32 root 37r DIR 14,5 442 2 /mnt
    mds 32 root 40u REG 14,5 0 58 /mnt/.Spotlight-V100/Store-V1/Stores/4C73D5F1-F8B7-45A9-B38E-6229932EBFAB/journalExclusion
    mds 32 root 42u REG 14,5 0 59 /mnt/.Spotlight-V100/Store-V1/Stores/4C73D5F1-F8B7-45A9-B38E-6229932EBFAB/journalSync
    fseventsd 37 root 9u REG 14,5 0 266 /mnt/.fseventsd/000000000118a6be
    strangepork:~ raub$

  4. Try diskutil unmountDisk since you mounted the disk with diskutil. And note that diskutil unmount only unmounts a single volume, which is not what you want.

  5. it didnt work on my hard drive. after I typed the last command “sudo mount -t msdos /dev/disk2s1 /Volumes/EXT_HD/”, what i got is an “input/output error”.

  6. Yunita,

    Make sure that you first made the mount point with “sudo mkdir /Volumes/EXT_HD”. Also, use the “ls /dev/disk*” command (after plugging in your external hard drive) to determine the drive number – looks like you did and saw it was disk2. Other than those two things, I don’t have much of an idea what could be wrong.

  7. THANK YOU! After two hours of reading unhelpful articles, this finally saved me from Mac compatibility hell. Like you, the FAT32 partition on my Seagate GoFlex 1TB external HD was erroneously listed as NTFS. No idea why – Macs are just rubbish. But it works now after the manual mount so thank you very much for posting this.

  8. Thank you so much for this post! I put the command’s in as per your instructions in Terminal and the hard drive mounted after a restart, I was ready to start using data recovery software to retrieve 400GB!

    Cannot understand why this info isn’t more readily available on apple sites & forums, I did loads of searches before finding this!

    Thanks!

  9. This is indeed appreciated. Gotten further than anywhere else with this guidance.

    However…I get an error:

    mount_msdos: Unsupported sector size (0)

    Any thoughts?

  10. I have a problem:
    after this command:
    sudo mount -t msdos /dev/disk3s1 /Volumes/EXT_HD/

    mount_msdos: Unsupported sector size (0)

    How can I fix it?
    Thanks!

  11. Same Problem.

    mount_msdos: Unsupported sector size (0)

    Please help me out. Seems like this is the only place where I can hope for it.

  12. The reason you’re getting the Unsupported sector size may be because you’re not specifying the whole disk name: use disk3s2 instead of disk3 (or whatever your numbers happen to be)

    • Hi, I’m getting same message, under the identifier it lists disk1, 1s1, 1s5. I’ve entered all of these and still receive the unsupported sector size, not (0), but (36352) …sector too large then ? hmmmm

      (trying to recover files from an linux hd)

  13. Gratitude for sharing this. This also worked for me. I tried a number of programs but none worked. Terminal the best!

  14. Hi can this be used on Maverick , i am typing in this command however it is giving an error message in disk utility .. Help required urgently

  15. Hey I got the Input/output error when performing the sudo mount -t .. line

    Can you help?

    I verified that the dir is created and that I wrote the right disk number.

    Thx

  16. I just did this and i succesfully mounted the 1TB HDD I have with FAT32
    BUT…
    i open it and although the information bar says it has 996GB of files inside…the folder is EMPTY

    how can I solve this?
    Thank you

Leave a Reply to Yunita Cancel reply

Your email address will not be published. Required fields are marked *