[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: weird stuff about grub2



On Sun, Dec 5, 2010 at 5:15 AM, wolf python london
<lyh19901223@gmail.com> wrote:
>
> Recently , I install Mandriva 2010 spring and openSUSE 11.3 in my desktop
> computer.Now , I hava 4 OSs(3 distros) in my desktop computer
> --- Debian Squeeze(/dev/sda1), Debian Sid(/dev/sda10), Mandriva 2010 spring
> (/dev/sda11), openSUSE 11.3(/dev/sda12) .
>
> root@debian:/etc/grub.d# fdisk -l
>
> Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
> 255 heads, 63 sectors/track, 121601 cylinders
> Units = cylinders of 16065 * 512 = 8225280 bytes
> Sector size (logical/physical): 512 bytes / 512 bytes
> I/O size (minimum/optimal): 512 bytes / 512 bytes
> Disk identifier: 0xa8a8a8a8
>
>   Device Boot      Start         End      Blocks   Id  System
> /dev/sda1               1         608     4881408   83  Linux
>                        #this partion is mounted on the Debian Squeeze's root
> (/)
> Partition 1 does not end on cylinder boundary.
> /dev/sda2             608         851     1952768   83  Linux
> Partition 2 does not end on cylinder boundary.
> /dev/sda3   *         852      121602   969925632+   5  Extended
> /dev/sda5             852        4499    29295616   83  Linux
> /dev/sda6            4499        8146    29295616   83  Linux
> /dev/sda7            8146        9362     9764864   83  Linux
> /dev/sda8            9362        9726     2928640   82  Linux swap / Solaris
> /dev/sda9            9727      109419   800780288   83  Linux
> /dev/sda10         109419      115620    49803264   83  Linux
>                  # Debian Sid
> /dev/sda11         115620      117613    16016742   83  Linux
>                   # Mandriva
> /dev/sda12         117614      121602    32034816   83  Linux
>                  #openSUSE
>
> the bootloader I use to boot all the OSs is the grub2 shipped with Debian
> Squeeze.After I installed all the OS, I execute the command  update-grub
> It did probe  all the OS ,the output is :
> root@debian:/etc/grub.d# update-grub
> Generating grub.cfg ...
> Found background image: moreblue-orbit-grub.png
> Found linux image: /boot/vmlinuz-2.6.36.1
> Found initrd image: /boot/initrd.img-2.6.36.1
> Found linux image: /boot/vmlinuz-2.6.32-5-686
> Found initrd image: /boot/initrd.img-2.6.32-5-686
> Found Debian GNU/Linux (squeeze/sid) on /dev/sda10
> Found Mandriva Linux 2010.1 (2010.1) on /dev/sda11
> Found openSUSE 11.3 (i586) on /dev/sda12
> done
>
> but when I reboot, and chose the Mandriva  menu , it doesn't work ,
> something was wrong , the error message just like this:
> VFS:cannot open root device "UUID=f4deab0a-b37c-426f-bb35-f997fd2c9940" or
> unknown-block(0,0)
> ...
> panic +0x5b/0x10b
> ...
> I check the UUID, the /dev/sda11's uuid is ok (at
> https://gist.github.com/728993), but   the openSUSE can be boot very well.
> The config of mandriva (done by the update-grub) is (the whole grub.cfg is at
> https://gist.github.com/728991) :
> menuentry "linux (on /dev/sda11)" {
>     insmod part_msdos
>     insmod ext2
>     set root='(hd0,msdos11)'
>     search --no-floppy --fs-uuid --set f4deab0a-b37c-426f-bb35-f997fd2c9940
>     linux /boot/vmlinuz BOOT_IMAGE=linux
> root=UUID=f4deab0a-b37c-426f-bb35-f997fd2c9940
> resume=UUID=23a9b6ac-b275-4066-8223-
> b0ad9e0051ea
>     initrd (hd0,10)/boot/initrd.img
> }
> menuentry "failsafe (on /dev/sda11)" {
>     insmod part_msdos
>     insmod ext2
>     set root='(hd0,msdos11)'
>     search --no-floppy --fs-uuid --set f4deab0a-b37c-426f-bb35-f997fd2c9940
>     linux /boot/vmlinuz BOOT_IMAGE=failsafe
> root=UUID=f4deab0a-b37c-426f-bb35-f997fd2c9940 failsafe
>     initrd (hd0,10)/boot/initrd.img
>
> I had to write a config in the /etc/grub.d/40_custom :
> menuentry 'Mandriva 2010 Spring' {
> set root='(hd0,msdos11)'
> linux /boot/vmlinuz root=/dev/sda11
> initrd (hd0,msdos11)/boot/initrd.img
> }
>
> It works.
>
> However, I was wondering what's wrong with the auto-probe configuration of
> grub2 (the part of mandriva)

The problem comes from the initrd line:
menuentry "linux (on /dev/sda11)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos11)'
search --no-floppy --fs-uuid --set f4deab0a-b37c-426f-bb35-f997fd2c9940
linux /boot/vmlinuz BOOT_IMAGE=linux
root=UUID=f4deab0a-b37c-426f-bb35-f997fd2c9940
resume=UUID=23a9b6ac-b275-4066-8223-b0ad9e0051ea
initrd (hd0,10)/boot/initrd.img
}

It should be either "initrd /boot/initrd.img" or "initrd
(hd0,11)/boot/initrd.img".


Reply to: