Skip to content

Instantly share code, notes, and snippets.

@shawnyeager
Created January 28, 2026 04:42
Show Gist options
  • Select an option

  • Save shawnyeager/d063eaeb81c4601f684a3cbaeef59ef6 to your computer and use it in GitHub Desktop.

Select an option

Save shawnyeager/d063eaeb81c4601f684a3cbaeef59ef6 to your computer and use it in GitHub Desktop.
Framework 13: firmware update corrupts ESP FAT filesystem

Framework 13: Firmware Update Corrupts ESP (FAT Filesystem)

After a recent firmware update on a Framework Laptop 13, the EFI System Partition (ESP) can end up with a corrupted FAT filesystem. This is a UEFI/firmware issue, not distro-specific.

Symptoms

Anything that writes to /boot fails with read-only errors. The kernel log (journalctl -k) confirms the corruption:

FAT-fs (nvme0n1p1): Volume was not properly unmounted. Some data may be corrupt.
FAT-fs (nvme0n1p1): error, fat_get_cluster: invalid cluster chain (i_pos 62752781)
FAT-fs (nvme0n1p1): Filesystem has been set read-only

If your fstab has errors=remount-ro (the default), the ESP silently goes read-only at boot and everything that touches /boot breaks — kernel updates, bootloader updates, initramfs generation, etc.

Cause

UEFI firmware updates (via fwupd) stage capsule files on the ESP, which the firmware processes on reboot. The firmware's FAT implementation doesn't always sync metadata properly, leaving the filesystem dirty with corrupt cluster chains.

Fix

  1. Unmount the ESP (safe to do on a running system — the kernel is already in memory):

    sudo umount /boot
    
  2. Repair the filesystem (dosfstools package):

    sudo fsck.fat -a /dev/nvme0n1p1
    
  3. Remount:

    sudo mount /boot
    

Prevention

After firmware updates, check the ESP before anything else touches it:

sudo umount /boot
sudo fsck.fat -n /dev/nvme0n1p1   # dry-run check
sudo mount /boot
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment