Comment 84 for bug 477169

Revision history for this message
Mark Abene (marcocinco) wrote :

Response to 82: if you properly created the separate boot.disk filesystem containing grub, your kernel(s) and initrd(s), it must BE MOUNTED before you run "grub-install hd0" (assuming we're talking about your primary hard drive). You didn't mention any error messages after running grub-install, so I have no idea what you did.

As per previous instructions you should:

1) "dd" to create the boot.disk file in /host/ubuntu/disks
2) "losetup" to assign it to a /dev/loopX device (it most likely will come up as /dev/loop1, since /dev/loop0 is the root filesystem). You can verify this with "losetup -a" after the fact.
3) "mke2fs" to create a new filesystem on this loopback device.
4) mount this new filesystem temporarily, for example, at /mnt
5) copy EVERYTHING in /boot to /mnt
6) unmount /mnt, and now mount the same filesystem on top of /boot
7) apply my grub-mkimage patch, and then run "grub-install hd0", which will update the wubildr.
8) add an entry for "/boot" in /etc/fstab

If you do this correctly, your system will be 100% back to normal. No more messing with grub prompts, and no editing command line boot strings.

What this shows is that the current version of grub2 obviously has a serious problem correctly seeking into very large filesystems, so we're working around that problem by creating a separate, much smaller /boot filesystem with everything it needs to start linux. Problem solved.

I urge everyone to READ AND UNDERSTAND what I'm saying, as this is the cause for this bug report, as well as the other bug reports I attached to this one as duplicates.