Moinsen,

habe gerade einen nachweihnachtlichen Grub-Koller ;-((.

Mein Rechner hat einen Raid-Controller (gebootet ist der auf /dev/sda)
und eine alte PATA Platte (gebootet ist die auf /dev/sdb). Mein /boot
liegt auf /dev/sda1; auf /dev/sda2 habe ich ein Ubuntu-Rettungssystem.

Grub2 scheint die zu vertauschen, was ja prinzipiell kein Problem sein
sollte. Mein "normales" Debian wird von Grub2 wie folgt erkannt und in
einen funktionierenden Menüeintrag verwurschtet:

    menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-amd64' --class debian 
--class gnu-linux --class gnu --class os {
            insmod part_msdos
            insmod ext2
            set root='(hd1,msdos1)'
            search --no-floppy --fs-uuid --set 
3a9ce315-deb5-448a-9502-697c9f2a5922
            echo    'Loading Linux 2.6.32-5-amd64 ...'
            linux   /vmlinuz-2.6.32-5-amd64 root=/dev/mapper/crypt-areca1-root 
ro  quiet splash
            echo    'Loading initial ramdisk ...'
            initrd  /initrd.img-2.6.32-5-amd64
    }

Ich möchte über Grub auch mein Rettungssystem booten. In meiner
/boot/grub/grub.cfg habe ich über /etc/grub.d/11_ubuntu folgenden
Menüeintrag generiert:

    menuentry "HD1-label Ubuntu 12.10-64, kernel 3.5.0-17-generic 
(Rettungssystem)" {
            insmod part_msdos
            insmod ext2
            set root='(hd1,msdos2)'
            echo    'Loading Ubuntu Linux 12.10 ...'
            linux /boot/vmlinuz-3.5.0-17-generic 
root=/dev/disk/by-label/ubuntu-root
            initrd /boot/intitrd.img-3.5.0-17-generic
    }

bzw. alternativ über Verwendung der UUID:

    menuentry "HD1-uuid Ubuntu 12.10-64, kernel 3.5.0-17-generic" {
            insmod part_msdos
            insmod ext2
            set root='(hd1,msdos2)'
            search --no-floppy --fs-uuid --set 
ea899bc4-adc2-40fd-9d3a-b758e279bfb5
            echo    'Loading Ubuntu Linux 12.10 ...'
            linux /boot/vmlinuz-3.5.0-17-generic 
root=UUID=ea899bc4-adc2-40fd-9d3a-b758e279bfb5
            initrd /boot/intitrd.img-3.5.0-17-generic
    }

Wenn ich diese  Menüeinträge boote, bekomme ich Kernel-Panic, denn das
System findet das root-Volume nicht. Im Dump sehe ich, dass als /dev/sda
meine zweite Platte (/dev/sdb) und das optische Laufwerk (/dev/sr0)
gefunden wird, nicht dagegen mein RAID-Controller:

    Cannot open root device "UUID=ea899 ..." (bzw. "/dev/disk/by-label ..."
    Available partitions ... sr0 ... sda ... sda1

Aber mir scheint auch, dass die initrd gar nicht erst geladen wird. -
Funktioniert der 3.5 er Kernel an der Stelle komplett anders?

Hatte auch noch alternativ den ubuntu-kernel und die initrd in die
/boot-Partition nach /dev/sda1/ubuntu gepackt und auch das führt dazu,
dass der Kernel geladen und die initrd nicht gefunden wird:

    menuentry "HD1-1-label-boot Ubuntu 12.10-64, kernel 3.5.0-17-generic 
(Rettungssystem)" {
            insmod part_msdos
            insmod ext2
            set root='(hd1,msdos1)'
            echo    'Loading Ubuntu Linux 12.10 ...'
            linux /ubuntu/vmlinuz-3.5.0-17-generic 
root=/dev/disk/by-label/ubuntu-root
            echo    'Loading initial Ramdisk ...'
            initrd /ubuntu/intitrd.img-3.5.0-17-generic
    } 

Aber was ich absolut nicht begreife ist folgendes:
Gebe ich dagegen am Grub-Prompt die Zeilen manuell ein, werden die
Platten nicht vertauscht (!!!) ...

    > set root='(hd0,msdos2)'
    > linux /boot/vmlinuz-3.5.0-17-generic
    root=/dev/disk/by-label/ubuntu-root
    > initrd /boot/intitrd.img-3.5.0-17-generic
    > boot

und die Kiste startet sauber das Ubuntu - alles gut! - Alternativ habe
ich für root= schon /dev/sda2 bzw. UUID=xxxx ... und dem kernel aus
/dev/sda1/ubuntu probiert - das alles funktioniert.

Jaaa, ich kann mir für mein Rettungssystem, was ich hoffentlich nie
brauchen werde einen Zettel mit grub-Kommandos schreiben und den ganzen
Kram vergessen ... aber das fände ich auch blöd, nach all den Stunden,
die ich hieran schon gebastelt habe.

Auch würde ich gerne verstehen, wo das Problem ist (3.5er Kernel, der
Raid, falsche Grub2-Config). Mag' mir wer einen heißen Tipp geben, wie
ich das vielleicht doch noch hinbekomme?

LG und 1000 Dank!

Stefan.

-- 
Stefan U. Hegner 
         <[email protected]>
              * * *
D-32584 Löhne --- good ole Germany
internet: http://www.hegner-web.de
              * * *
GPG-Key | D9DB 51BD 2DA6 9B3A 41CB
F-Print | 0287 05A1 8D11 38BA CE91




Attachment: signature.asc
Description: OpenPGP digital signature

-- 
Linux mailing list [email protected]
subscribe/unsubscribe: http://lug-owl.de/mailman/listinfo/linux
Hinweise zur Nutzung: http://www.lug-owl.de/Mailingliste/hints.epo

Antwort per Email an