Hit by a really nasty bug in Ubuntu

I was booting my laptop into Ubuntu and noticed it was stuck immediately after starting the kernel. Rebooting into recovery mode gave me a message that it could not mount the root file system.

Didn’t have a clue why it didn’t want to do this. Some googling brought me to this Ubuntu bug. The problem according to the bug is the following:

Minix uses the “magic number” 137f, 138f, 2468,2478, at the location 0x410 to mark a Minix file system.

0x410 is also the location any ext filesystem uses to record the number of free inodes.

In decimals those four numbers are 4991,5007,9320,9336

If the number of free inodes happens to be one of those four numbers plus a multiple of 65536, then the ext filesystem will write one of the four Minix magic numbers to the 0x410 location.

So blkid gets confused and does not know whether the files system is Minix or Ext.
In particular, if this happens on the root partition, Ubuntu will no longer boot.

So in theory this happens once every 16384 times when you boot (4 out of a possible 65536 values for location 0x410  trigger this bug). Solution is simple just boot from a live-CD and remove a few files from your boot partition and reboot.

So far several people have confirmed this bug but I’d expect much more people to be affected by it if the probability is really 1 in 16384.