FAT32 isn't FAT32

The special FAT32 requirment of this device.

The issue

For a long time it has been thought that only some USB drives work on these devices. Now the issue is known: FAT32 isn't FAT32.

Windows's FAT32 is actually W95 FAT32 (LBA). But Linux creates proper FAT32. So a USB drive that is formatted with Linux won't work for these devices, because the UEFI firmware doesn't support proper FAT32.

Here is a comparison from the two possible partitions (Program used is Gnome Disks):

Type, (here german "Inhalt") doesn't matter. The parition type is meaningful.

Possible solutions / USB formatting

Format the USB with Windows

Here is are steps to achive this with diskpart:

  1. In the Start menu, type cmd, and then click the entry for the cmd program.

  2. At the command prompt, enter diskpart (you have to approve this operation as an administrator). The prompt line should now display "DISKPART".

  3. Enter list disk. lists your drives.

  4. Enter select disk X, where X is the number of your selected disk. (MAKE SURE TO SELECT THE CORRECT ONE!!!).

  5. Enter clean. wipes the selected drive partition table.

  6. Enter create partition primary. creates a partition and marks it as primary.

  7. Enter select partition 1. selects the partition number 1 (primary).

  8. Enter active. sets it as active (makes it bootable).

  9. Enter format fs=fat32 quick. formats the drive as FAT32 partition table (quick at the end indicates quick format).

  10. Enter assign. assigns the drive to a mount point.

  11. Enter exit.

Source: https://kb.iu.edu/d/bccm

Change partition type with fdisk using Linux

  1. Open a terminal and run this command to locate the right device:

  2. Use fdisk command accordingly:

    1. sudo fdisk /dev/sdX; X stands for the right disk letter something in the region of b, c or d

    2. Type o to change the partition table type to dos

    3. When the command runs type d and enter to delete the existing partition, then

    4. Type n to create new partition

    5. Accept the defaults when ask for the partition type and size (assuming that is desirable),

    6. Type p to see what you have done,

    7. Type t to change the file system type,

    8. Type c to create a W95 FAT32 (LBA) partition,

    9. Repeat step 2.5, i.e. 5 above to see the created partition,

    10. Type a to activate that partition so it automounts,

    11. Type w to write the changes to disk

  3. Format the again from the terminal:

    sudo mkfs.vfat /dev/sdXi
    • Note: i represents the partition number in this case it should be 1

  4. Eject and replug the device

Source is Stack Overflow

Last updated