> For the complete documentation index, see [llms.txt](https://open-rt.gitbook.io/open-surfacert/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://open-rt.gitbook.io/open-surfacert/common/boot-sequence/uefi/fat32-isnt-fat32.md).

# 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):

![Gnome Disks shows this for a working FAT32 partition.](https://2395005476-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MJQb34R_xPz0ll0scbM%2F-Mi7v633KSmSguOPF9M8%2F-Mi7wE9SCrN6-NsrAQuW%2FFAT32-works.png?alt=media\&token=76372fc1-de1b-49ac-9aac-8b9ed9ce90ed)

![This is proper FAT32 which does not work.](https://2395005476-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MJQb34R_xPz0ll0scbM%2F-Mi7v633KSmSguOPF9M8%2F-Mi7wR6AqczmpJNKUheN%2FFAT32-doesnt-work.png?alt=media\&token=ca7df833-e5c7-4be3-b715-cb57d66f8e8a)

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:

   ```
   lsblk
   ```
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](https://askubuntu.com/a/1064316)&#x20;
