grub 2: "error: You need to load the kernel first"

Tom H tomh0665 at gmail.com
Mon Nov 2 06:16:44 UTC 2009


I've just installed 9.10 along side F11 on a laptop.

When I boot, both the Ubuntu and Fedora installations are shown in grub.

However, when I try to boot the latter, I get an error message: "error: You
need to load the kernel first"

Here is the relevant section in grub.cfg:

menuentry "Fedora (2.6.30.9-90.fc11.i586) (on /dev/sda2)" {
       insmod ext2
       set root=(hd0,2)
       search --no-floppy --fs-uuid --set
5a8b0f33-5369-4a45-a501-455ed10f4fa7
       linux /boot/vmlinuz-2.6.30.9-90.fc11.i586 ro
root=UUID=5a8b0f33-5369-4a45-a501-455ed10f4fa7 rhgb resume=/dev/sda3
       initrd /boot/initrd-2.6.30.9-90.fc11.i586.img
}
menuentry "Fedora (2.6.29.4-167.fc11.i586) (on /dev/sda2)" {
       insmod ext2
       set root=(hd0,2)
       search --no-floppy --fs-uuid --set
5a8b0f33-5369-4a45-a501-455ed10f4fa7
       linux /boot/vmlinuz-2.6.29.4-167.fc11.i586 ro
root=UUID=5a8b0f33-5369-4a45-a501-455ed10f4fa7 resume=/dev/sda3 rhgb
       initrd /boot/initrd-2.6.29.4-167.fc11.i586.img
}

Change
      set root=(hd0,2)
to
      set root=(hd0,1)

Change
      search --no-floppy --fs-uuid --set 5a8b0f33-5369-4a45-a501-455ed10f4fa7
to
      search --no-floppy --fs-uuid --set UUID_of_sda1

Change
      linux /boot/vmlinuz-2.6.30.9-90.fc11.i586 ro
to
      linux /vmlinuz-2.6.30.9-90.fc11.i586 ro

Change
root=UUID=5a8b0f33-5369-4a45-a501-455ed10f4fa7 rhgb resume=/dev/sda3
to
root=UUID=UUID_of_sda2 rhgb resume=/dev/sda3

Change
      initrd /boot/initrd-2.6.30.9-90.fc11.i586.img
to
      initrd /initrd-2.6.30.9-90.fc11.i586.img

(What does "resume=/dev/sda3" do?)

You can either change these lines in /boot/grub/grub.cfg (but keep a
backup because it will be overwritten the next time that grub-mkconfig
is run) or chmod -x /etc/grub.d/30_os-probe and add your Fedora
entries into /etc/grub.d/40_custom.

# cat /etc/grub.d/40_custom
cat << EOF
menuentry "F11 on sda1/sda2 {
...
}
EOF

2nd option

Since Grub 2 allows you to boot from ext4, you could boot into karmic,
mount sda1 and sda2, copy (cp -rp) the contents of sda1 into /boot
(boot's mount point) on sda2, comment out the "/boot" line in
/etc/fstab, and run update-grub to re-create a proper
/boot/grub/grub.cfg.




More information about the ubuntu-users mailing list