• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Nach 13.1-Installation: GRUB2 falsch konfiguriert

gehrke

Administrator
Teammitglied
Moin *,

nach der Installation von OpenSUSE 13.1 ist der Start einer parallell installierten 12.3 nicht mehr möglich.

Ich habe ein System mit 2 LVs, welche ich abwechselnd mit den letzten beiden OpenSUSE-Releases bestücke, BootManager GRUB2 wie zuvor auch schon. Auf der einen liegt 12.3 , die andere war die Zielplattform für 13.1. Das ganze liegt in einem LUKS-Device. Parallel dazu eine herkömmliche Partition für '/boot', also unverschlüsselt und gemeinsam genutzt. Im wesentlichen so, wie auf dem Bild http://www.linupedia.org/opensuse/Partitionierung_visualisieren zu sehen.

Ich habe eine komplette Installation gemacht, kein Update. Nein, ich habe die Boot-Partition nicht formatieren lassen. Anschließend habe ich ein paar Settings (password, shadow, cups....) überarbeitet, um die alte Konfiguration nicht zu verlieren.

Die Installation lief reibungslos und die wichtigsten Dinge laufen auch scheinbar problemlos.

Nun hat GRUB2 zwar zwei zusätzliche Einträge für das alte 12.3 gemacht, aber gestartet wird trotzdem 13.1. Derzeit komme ich also nicht mehr an meine installierte 12.3.

Der Inhalt von '/boot' (Installation am 24.11.2013):
Code:
gehrke@j2:~> ls -ltar /boot
insgesamt 84552
drwx------  2 root root    12288 30. Aug 2011  lost+found
lrwxrwxrwx  1 root root        5  6. Mär 2013  grub2-efi -> grub2
-rw-r--r--  1 root root   136018  7. Jun 11:12 config-3.7.10-1.16-desktop
-rw-r--r--  1 root root  2531845  7. Jun 12:17 System.map-3.7.10-1.16-desktop
-rw-r--r--  1 root root  5813683  7. Jun 12:28 vmlinux-3.7.10-1.16-desktop.gz
-rw-r--r--  1 root root      516  7. Jun 12:28 sysctl.conf-3.7.10-1.16-desktop
-rw-r--r--  1 root root   241451  7. Jun 12:28 symvers-3.7.10-1.16-desktop.gz
-rw-r--r--  1 root root  4998200  7. Jun 13:48 vmlinuz-3.7.10-1.16-desktop
-rw-------  1 root root 33676049 11. Okt 18:18 initrd-3.7.10-1.16-desktop
-rw-r--r--  1 root root     1484 18. Okt 08:48 boot.readme
-rw-r--r--  1 root root   140360  1. Nov 12:17 config-3.11.6-4-desktop
-rw-r--r--  1 root root  2697475  1. Nov 13:58 System.map-3.11.6-4-desktop
-rw-r--r--  1 root root  6075542  1. Nov 14:22 vmlinux-3.11.6-4-desktop.gz
-rw-r--r--  1 root root      516  1. Nov 14:23 sysctl.conf-3.11.6-4-desktop
-rw-r--r--  1 root root   261933  1. Nov 14:23 symvers-3.11.6-4-desktop.gz
-rw-r--r--  1 root root  5210216  1. Nov 19:33 vmlinuz-3.11.6-4-desktop
-rw-r--r--  1 root root   620544  6. Nov 20:59 message
lrwxrwxrwx  1 root root       24 24. Nov 20:34 vmlinuz -> vmlinuz-3.11.6-4-desktop
drwxr-xr-x  2 root root     1024 24. Nov 20:35 grub
lrwxrwxrwx  1 root root        1 24. Nov 20:35 boot -> .
-rw-------  1 root root 24141589 24. Nov 20:36 initrd-3.11.6-4-desktop
lrwxrwxrwx  1 root root       23 24. Nov 20:36 initrd -> initrd-3.11.6-4-desktop
-rw-------  1 root root      512 24. Nov 20:36 backup_mbr
drwxr-xr-x  7 root root     1024 24. Nov 20:36 grub2
drwxr-xr-x  5 root root     3072 24. Nov 20:46 .
drwxr-xr-x 24 root root     4096 27. Nov 20:46 ..

Unterdessen habe ich herausgefunden, dass die alte Installation scheinbar vollständig intakt ist und es 'nur' an einem falsch konfigurierten GRUB liegt. Wenn ich nämlich beim Start die 12.3-Zeile auswähle und anschließend 'E' drücke, dann ist der Eintrag tatsächlich falsch parametrisiert.

Mit manuell geänderten Werten bootet die 12.3 fehlerlos und ist vollständig benutzbar. Dieses Posting erfolgt unter 12.3.

Also muss ich wohl herausfinden, wie ich GRUB2 dazu bringe, die Parameter bitte richtig zu setzen...
 
OP
gehrke

gehrke

Administrator
Teammitglied
Ich denke, das Problem liegt im os-prober:
Code:
cat /boot/grub2/grub.cfg
...
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'openSUSE 12.3 (x86_64) (auf /dev/mapper/system-os2)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-6557eee8-c0bf-45f4-830a-74d7b89beef8' {
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  e4b43960-0bf2-46b9-aeac-564a9bcdf79c
        else
          search --no-floppy --fs-uuid --set=root e4b43960-0bf2-46b9-aeac-564a9bcdf79c
        fi
        linux /vmlinuz-3.11.6-4-desktop root=/dev/mapper/system-root resume=/dev/system/swap splash=silent quiet showopts
        initrd /initrd-3.11.6-4-desktop
}
submenu 'Erweiterte Optionen für openSUSE 12.3 (x86_64) (auf /dev/mapper/system-os2)' $menuentry_id_option 'osprober-gnulinux-advanced-6557eee8-c0bf-45f4-830a-74d7b89beef8' {
        menuentry 'openSUSE 13.1 (auf /dev/mapper/system-os2)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/vmlinuz-3.11.6-4-desktop--6557eee8-c0bf-45f4-830a-74d7b89beef8' {
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos1'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  e4b43960-0bf2-46b9-aeac-564a9bcdf79c
                else
                  search --no-floppy --fs-uuid --set=root e4b43960-0bf2-46b9-aeac-564a9bcdf79c
                fi
                linux /vmlinuz-3.11.6-4-desktop root=/dev/mapper/system-root resume=/dev/system/swap splash=silent quiet showopts
                initrd /initrd-3.11.6-4-desktop
        }

Aus irgendwelchen Gründen wird hier '3.11.6-4' anstatt '3.7.10-1.16' verwendet. Und '/dev/mapper/system-root' anstatt '/dev/mapper/system-os2'. Eben die Parameter für 13.1. Die Bezeichnung '12.3' hat er ja richtig erkannt.

Hinweis: Zitiert habe ich nur die 12.3-Einträge, die definitiv falsch waren. Die 13.1er waren korrekt.
 
OP
gehrke

gehrke

Administrator
Teammitglied
Ein Workaround: Dieser Eintrag in /etc/grub.d/40_custom erzeugt einen funktionierenden Eintrag:
Code:
menuentry 'openSUSE 12.3 CUSTOM (x86_64) (auf /dev/mapper/system-os2)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-6557eee8-c0bf-45f4-830a-74d7b89beef8' {                                  
        insmod part_msdos                                                                                           
        insmod ext2                                                                                                 
        set root='hd0,msdos1'                                                                                       
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  e4b43960-0bf2-46b9-aeac-564a9bcdf79c
        else
          search --no-floppy --fs-uuid --set=root e4b43960-0bf2-46b9-aeac-564a9bcdf79c
        fi
        linux /vmlinuz-3.7.10-1.16-desktop root=/dev/mapper/system-os2 resume=/dev/system/swap splash=silent quiet showopts
        initrd /initrd-3.7.10-1.16-desktop
}

Code:
# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub.cfg ...
Found theme: /boot/grub2/themes/openSUSE/theme.txt
Found linux image: /boot/vmlinuz-3.11.6-4-desktop
Found initrd image: /boot/initrd-3.11.6-4-desktop
Found linux image: /boot/vmlinuz-3.7.10-1.16-desktop
Found initrd image: /boot/initrd-3.7.10-1.16-desktop
Found openSUSE 12.3 (x86_64) on /dev/mapper/system-os2
done

Damit bleibt IMHO die Frage, ob es noch einen Bug in 'os-prober' gibt!
 

admine

Ultimate Guru
Ich kann dazu nur sagen, dass bei meiner neuen Installation von oS 13.1 mit Grub2 ein funktionierender Eintrag für das noch vorhandene oS 12.3 erstellt wurde.
 
OP
gehrke

gehrke

Administrator
Teammitglied
admine schrieb:
Ich kann dazu nur sagen, dass bei meiner neuen Installation von oS 13.1 mit Grub2 ein funktionierender Eintrag für das noch vorhandene oS 12.3 erstellt wurde.
Verwendest Du LVM?
Könntest Du evtl. Deine grub.cfg hier posten?
TNX
 
Oben