grub will only boot old kernels, new kernels lead to grub errors
Bug #345488 reported by
Andy Whitcroft
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
grub (Ubuntu) |
Fix Released
|
Medium
|
Colin Ian King |
Bug Description
I converted an ext3 filesystem to ext4 and later upgraded my Jaunty install which gave me a new kernel. The new kernel is not bootable grub thinks the block list for the file exceeds the paritition boundaries. Old kernels work just fine still.
Related branches
Changed in grub: | |
assignee: | nobody → colin-king |
importance: | Undecided → Medium |
status: | New → In Progress |
To post a comment you must log in.
Debugging this we have found that grub is getting the block numbers wrong.
vmlinuz- 2.6.28- 8-generic is the older good kerne, grub block dumpl:
(hd0, 0)402243640+ 96,402243744+ 6661
vmlinux- 2.6.28- 11-generic is the new broken kernel, grub block dump:
(hd0, 0)1546320+ 8,32+8, 4096+8, 402255872+ 8,4096+ 8,2792+ 8,402280448+ 4
Further looking at the filesystem with debugfs we find that the two inodes are in different formats:
-8-generic: 50280455- 50280466, (IND):50280467, (12-844) :50280468- 50281300
=======
Inode: 12566582 Type: regular Mode: 0644 Flags: 0x0
Generation: 3327387640 Version: 0x00000000
User: 0 Group: 0 Size: 3459328
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 6768
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x49a7d678 -- Fri Feb 27 12:03:04 2009
atime: 0x49a7d673 -- Fri Feb 27 12:02:59 2009
mtime: 0x49a4ddf1 -- Wed Feb 25 05:58:09 2009
Size of extra inode fields: 4
BLOCKS:
(0-11):
TOTAL: 846
-11-generic :50281984- 50282495, (512-860) :50285056- 50285404
=======
Inode: 12566556 Type: regular Mode: 0644 Flags: 0x80000
Generation: 2561410428 Version: 0x00000000:00000001
User: 0 Group: 0 Size: 3524096
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 6888
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x49c20af8:66d68468 -- Thu Mar 19 09:06:00 2009
atime: 0x49c223ad:599b6548 -- Thu Mar 19 10:51:25 2009
mtime: 0x49c1831b:00000000 -- Wed Mar 18 23:26:19 2009
crtime: 0x49c20af8:244ae248 -- Thu Mar 19 09:06:00 2009
Size of extra inode fields: 28
BLOCKS:
(0-511)
TOTAL: 861