Unable to read partition as FAT error will appear during the Raspberry Pi boot process if the device is not able to read the file system from the SD card. This is a generic error that can have a few different causes, such as a corrupt file system or faulty SD card. In this tutorial, we will attempt to troubleshoot the error by looking at some of the leading causes and attempt to rectify them. The end goal is to get your Raspberry Pi booting from the SD card as expected.
In this tutorial you will learn:
- How to install Raspberry Pi OS
- How to check FAT file system for errors
- How to check for a faulty SD card
|Requirements, Conventions or Software Version Used
|Privileged access to your Linux system as root or via the
# – requires given linux commands to be executed with root privileges either directly as a root user or by use of
$ – requires given linux commands to be executed as a regular non-privileged user
Causes for ‘Unable to read partition as FAT’ error on Raspberry Pi
When installing Raspberry Pi OS to your SD card, the boot partition will be formatted as FAT32, and the rest of the card will be the typical ext4 Linux file system. When the Raspberry Pi boots up, the first thing it does is try to search the SD card for a boot partition. If the Raspberry Pi can’t read the file system from the boot partition, it throws the following error:
Unable to read partition as FAT
This will appear on the boot screen along with a bunch of other text, and you will be unable to proceed with booting into the operating system. There are multiple potential causes for this error, so we will look into various issues and their corresponding solutions below.
No operating system
Let’s start with the most basic potential cause. Does your SD card have an operating system? You should follow our step by step tutorial on Installing an OS on Your Raspberry Pi if you do not currently have Raspberry Pi OS installed on the SD or micro SD card. This is a requirement for the Raspberry Pi to be able to boot.
Incorrect file system
The boot partition must be formatted as FAT32. Note that Windows systems will attempt to format the SD card as exFAT by default. If you do not have the correct file system on the SD card, it is recommended that you use the official Raspberry Pi OS imager tool which will install the operating system to your device and format the partitions correctly along the way.
Poorly seated SD card
Try verifying that your SD card or micro SD card is firmly inserted into the Raspberry Pi. To do so, completely remove the SD card, and then insert it back into the proper slot. Sometimes, the card may become loose and fail to make full contact with the Raspberry Pi, which will throw the error upon boot, as it can’t read the contents of the SD card.
Check file system for errors
You can insert your SD card into a separate device and use the Linux command line to check the FAT file system for errors. Once it is inserted, execute:
$ dosfsck -w -r -l -v -t /dev/sdX
/dev/sdx with the device path to your FAT32 file system on the SD card.
This command will check the file system for errors, alert you about them, and then attempt to fix them.
Faulty SD card
If you have verified that your file system contains no errors, and run through all the other checks above, then it is time to consider that the SD card itself may have gone bad. To assess this, you can try inserting the SD card into another device to see if it works there. Better yet, try a different SD card in your Raspberry Pi and see if that works. Before chucking the SD card in the garbage can, it is worthwhile to try reinstalling Raspberry Pi OS to the device to see if that fixes any previously undiagnosed and lingering issues.
In this tutorial, we saw how to troubleshoot the
Unable to read partition as FAT boot error on a Raspberry Pi system. This is a frustrating error that is caused by the inability to read the boot partition off of the SD card. By using the troubleshooting steps above, we can fix the problem and get booted into the system. If all else fails, it may be necessary to use a different SD card.