# USB Harddrive: mount fail: vfat drive

## coren2000

Hello,

Could you please help me? I have a 2 USB external harddrives I wish to mount.

One is fat16

Other is fat32

I cannot mount the second with this command

```
mount -t vfat /dev/sda1 /mnt/usb
```

I can mount both drives with this command

```
mount -t msdos -o codepage=437 /dev/sda1 /mnt/usb
```

when I mount with the msdos option, my file/folder names are truncated to tightly.

Can someone please help me mount with wider file/folder names please?

----------

## NeddySeagoon

coren2000,

Both commands will need the

```
 -o codepage 
```

option. If that is required for mount to work at all, it indicates you have set a defualt codepage to be used in the kernel other than 437 but not actually compiled it under NLS Support.

The error message that the vfat mount returns would be useful

----------

## ChickensDontFly

What happens with mount -t auto?

----------

## coren2000

```
localhost coren # mount -t vfat -o codepage=437 /dev/sda1 /mnt/usb

mount: wrong fs type, bad option, bad superblock on /dev/sda1,

       missing codepage or other error

       In some cases useful info is found in syslog - try

       dmesg | tail  or so

localhost coren # mount -t auto -o codepage=437 /dev/sda1 /mnt/usb

mount: wrong fs type, bad option, bad superblock on /dev/sda1,

       missing codepage or other error

       In some cases useful info is found in syslog - try

       dmesg | tail  or so

```

----------

## NeddySeagoon

coren2000,

What does the end of dmesg show after you ave attempted to moount /dev/sda1 ?

```
-t auto
```

 is a really bad idea. It asks mount to guess the filesystem.

Thats ok for reading, when mount guesses wrong. You just get a mess.

When you write ...  well, you have backups don't you ?

----------

## coren2000

It says

```
Unable to load NLS charset iso8859-1

FAT: IO charset iso8859-1 not found
```

----------

## desultory

According to that message, the kernel that system is running on lacks iso8859-1 character set support in its Native Language Support. It would seem a new kernel is in order. When configuring the new kernel, under 'File systems  --->', 'Native Language Support  --->', select (at least one of) 'Codepage 437 (United States, Canada)' or 'NLS ISO 8859-1  (Latin 1; Western European Languages)', along with whatever else is of interest.

----------

## NeddySeagoon

coren2000,

You have selected a defualt codepage for VFAT to use but not actually made the codepage for the kernel.

You can use the mount option 

```
-o codepage=<codepage>
```

to avoid a kernel build.

See 

```
man mount
```

under FAT

----------

