----- Original Message ----- From: "Emil Stephan" Sent: Tuesday, April 26, 2011 5:42 PM Am Tuesday 26 April 2011 16:47:35 schrieb Emil Stephan:
Am Tuesday 26 April 2011 00:16:42 schrieb Alex Winzer:
Hallo,
neues Thema, neues Glück. ... das war die ander Mail
[...]
Wie bekomme ich ein GRUB in die MBR und/oder kann ich das Aktiv-Flag möglichst mit openSUSE-Bordmitteln setzen?
Das Aktiv-Flag der passenden Partition kannst Du mit fdisk setzen. Mich wundert es aber, wenn Du schreibst, dass sich das BIOS darüber beschwert. Normalerweise übergibt das BIOS die Verantwortung an den Master Boot Record und ist aus dem Rennen. Der MBR-Code von GRUB braucht keine aktive Partition, GRUB hat seine eigene Konfiguration irgendwo untergebracht (vermutlich in ungenutzten Sektoren der ersten Spur).
Welchen Schalter muss ich da nehmen? man fdisk bringt bei mir nichts brauchbares. Ganz unten habe ich aber gesehen, dass es evtl. cfdisk sein könnte. Dort gibt es einen Schalter b für "Toggle bootable flag". Das hört sich gut an. Ich habe auf einem anderen System mal nachgesehen, konnte dort aber nicht erkennen, dass/wie man das setzen kann. Bei sfdisk sehe ich zwar, dass /dev/sdx1 offenbar die gesamte Platte einnimmt UND bootbar gemacht ist. Wie man das mit sfdisk machen kann, konnte ich man aber auch nicht entlocken...
Vielleicht hast Du ja jetzt einen DOS-MBR und grub in der /-Partition. Dann versucht der MBR-Code die Verantwortung an den Boot-Code der aktiven Partition zu übergeben. Dieser MBR-Code würde sich dann über ein Fehlen des Aktiv-Flags beschweren.
Das kann sein. Ich hatte yast2 aber explizit gesagt, dass er GRUB in den MBR schreiben soll.
Es kann auch Probleme beim Booten von einem RAID-System geben, weil der Bootloader nur auf einer der Platten installiert ist. Wenn das BIOS dann die Plattenzuordnung anders sieht als das Betriebsystem, macht man es vom Betriebssystem aus meistens falsch. Ich boote auch von einem RAID-System, allerdings mdraid (nicht dmraid, war ein Tippfehler in der anderen Mail). Mit folgendem Skript sorgte ich dafür, dass der Bootloader auf beiden Platten installiert ist: -------------- #!/bin/sh grub --device-map device.map --no-curses << E.O.F root (hd0,1) install --stage2=/mnt/boot/grub/stage2 /boot/grub/stage1 \ (hd0) /boot/grub/stage2 0x8000 (hd0,1)/boot/grub/menu.lst install --stage2=/mnt/boot/grub/stage2 /boot/grub/stage1 \ (hd1) /boot/grub/stage2 0x8000 (hd0,1)/boot/grub/menu.lst quit E.O.F --------------
Das werde ich entweder so machen oder: Ich habe mir bereits die SuperGRUBDisk runtergeladen und auf eine Diskette gebannt. Von der werde ich starten und GRUB in die MBRs installieren lassen.
Die Pfade sind gegebenfalls anzupassen. Der Anteil /mnt für die erste Angabe der stage2 geht davon aus, dass im Rettungs-System die /-Partition des Systems auf /mnt gemountet ist. (hd0) und (hd1) sind die Installationsorte für GRUB. (hd0,1) ist der Ort, wo beim Booten die menu.lst gefunden werden soll. Ist bei beiden gleich in der Annahme, dass bei einem Ausfall die zweite Platte zur ersten wird. In der device.map müssen beide Platten definiert sein: ------------ (hd0) /dev/disk/by-id/ata-WDC_WD5000BEVT-00ZAT0_WD-WXNY08ST2340 (hd1) /dev/disk/by-id/ata-WDC_WD5000BEVT-00ZAT0_WD-WXNX08ND6423 ------------ zum Beispiel. Das habe ich allerdings schon lange nicht mehr gebraucht, also ohne Gewehr.
Ich habe da auch noch ein paar Gedanken, dass das Skript damals nur zufällig funktioniert hat. Ich fände es verständlich, wenn alle Angaben vor dem Installationsort (hd0) bzw. (hd1) aus der Sicht des Betriebssystems erfolgen sollten. Dann müsste ich auch für die stage1 ein /mnt vorneweg stehen. Hat er da die stage1 vom Rettungs-System genommen und die hat gepasst? Wenn die OS-Version des Betriebssystems und des Rettungs-Systems gleich sind, sollte es deswegen gelungen sein.
Das Weglassen von /mnt habe ich zur Kenntnis genommen. Ich werde das System mal am Wochenende quälen und fürs Archiv schreiben, falls/wie es geklappt hat. Kaputt machen kann ich ja sowieso nichts :-) Gruß und nochmals Dank, Alex -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org