[Bug 518582] [NEW] mount ext fileystem fails, booting fails, blkid produces no output
Launchpad Bug Tracker
518582 at bugs.launchpad.net
Sun Mar 7 15:47:34 UTC 2010
You have been subscribed to a public bug:
Symptoms: (Ubuntu 9.10 on an ext4 partition /dev/sda1)
1. Booting fails with error message:
Gave up waiting for root device. common problems
-Boot args(cat/proc/cmdline)
-check rootdelay=(did the system wait long enough?)
-check root=(did the system wait for the right device?)
Missing modules(cat/proc/modules; IS/dev)
Alert!/dev/disk/by-uuid/d3bb8e26-9798-49 ce-bc57-afb6ca6za7ba does not exist. Drop to a shell!
2. "mount /dev/sda1 /mnt" gives "mount: you must specify the filesystem type"
but "mount -t ext4 /dev/sda1" is successful
3. "blkid /dev/sda1" returns nothing
4. "blkid -p /dev/sda1" gives "ambivalent result (probably more
filesystems on the device)"
5. "hexdump -s 0x410 -n 2 /dev/sda1" returns on of the four numbers
hexadecimals 137f, 138f, 2468,2478,
6. "sudo BLKID_DEBUG=0xffff blkid -p /dev/sda1 | grep "minix: magic"
returns
"ambivalent result (probably more filesystems on the device)"
minix: magic sboff=16, kboff=1
7. After installing util-linux-ng-2.17 from source: "wipefs /dev/sda1" returns:
offset type
----------------------------------------------------------------
0x410 minix [filesystem]
0x438 ext4 [filesystem]
UUID: d3bb8e26-9798-49ce-bc57-afb6ca62a7ba
I was able to cure the problem by creating a file on "/dev/sda1" and whereby changing the number of free inodes.
There have been seven of these case in the Ubuntu forums by now:
http://ubuntuforums.org/showthread.php?t=1397193
http://ubuntuforums.org/showthread.php?t=1414662
http://ubuntuforums.org/showthread.php?t=1068895
http://ubuntuforums.org/showthread.php?t=1422558
My diagnosis:
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.
Cure:
Boot from the Ubuntu LiveCD and create a file on the affected partition:
sudo mount /dev/sda1 /mnt
sudo touch /mnt/empty_file
This solution works for an ext4 filesystem. But does not work for ext2.
For ext2 one needs to replace the UUID in fstab and grub.cfg by the
device name. See
https://sourceforge.net/apps/mediawiki/bootinfoscript/index.php?title=Boot_Problems:minix
for more details.
** Affects: util-linux (Ubuntu)
Importance: Undecided
Status: New
--
mount ext fileystem fails, booting fails, blkid produces no output
https://bugs.launchpad.net/bugs/518582
You received this bug notification because you are a member of Kernel Bugs, which is subscribed to util-linux in ubuntu.
More information about the kernel-bugs
mailing list