Grub2 - Bootet ein System nur über Commandline nicht über Menüeintrag
A. Dreyer (LUG-OWL)
ml10227 at adreyer.com
Sat Dec 29 15:20:15 CET 2012
On 29/12/12 13:24, Stefan U. Hegner wrote:
> 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.
Wie sieht deine devices.map aus? Manuell nutzt du hd0.. weiter oben ist
aber alles hd1..
Regards,
Achim Dreyer
--
A. Dreyer, Senior SysAdmin (UNIX&Network) / Internet Security Consultant
More information about the Linux
mailing list