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

Tom H tomh0665 at gmail.com
Mon Nov 2 06:18:27 UTC 2009


>> I've just installed Ubuntu 9.10 along side F11. My disk now looks like this:
>>
>> /dev/sda1 F11 boot
>> /dev/sda2 F11 root
>> /dev/sda3 F11 swap
>> /dev/sda5 F11 home
>> /dev/sda6 9.10 root
>> /dev/sda7 9.10 home
>> /dev/sda8 91.0 swap
>>
>> When I reboot, I get grub, which has entries listed for both systems, but
>> when I try to boot Fedora now, I get an error message: "error: You need to
>> load the kernel first". (Ubuntu boots fine).
>>
>> I've tried booting manually from the grub command line, but the commands no
>> longer appear to be the same, as Ubuntu is now using grub 2. Here are the
>> relevant section from grub.cfg (menu.lst is now obsolete):
>>
>> ### BEGIN /etc/grub.d/30_os-prober ###
>> 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
>> }
>> ### END /etc/grub.d/30_os-prober ###
>>
>> The above entries were generated automatically.
>>
>> Does anyone know how to fix the error?
>>
>> Alternately, is there a way of telling the MBR to boot /dev/sda1 (F11 boot)
>> instead of /dev/sda6 (Ubuntu root), which is what is happening now?
>
>
> 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
> }
>
> 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 fedora-list mailing list