Hallo, Am Don, 22 Jan 2009, Joachim Hussong schrieb:
David Haller schrieb:
Der im MBR scheint aus "chainloader" Einträgen zu bestehen, die jew. einen Grub in der jew. Partition starten. Grobes Vorgehen, für den Direktstart: Such dir einen Grub aus, der im MBR ist oder reinsoll, und füge in dessen menu.lst (erkennbar an den chainloader-Einträgen) die jew. gewollten Abschnitte aus den anderen menu.lst ein.
Du mußt allerdings darauf achten, die (hdX,Y) Einträge anzupassen _FALLS_ die device.map der divseren Grubs voneinander abweichen
Sowas habe ich mir gedacht. Nur, wie schaffe ich es, dass wenn zum Beispiel in der 11.0 ein kernel-Update gefahren wurde und da der grub angepasst wird, dass das bis zum Master-Grub durchschlägt? In jeder Installation müssten die Konfigurationsdateien identisch gehalten werden.
Bei mir liegt eine 11.1 in sda8 und eine 11.0 in sda6. Das wären somit hd(0,7) und hd(0,5). Jetzt biege ich in der 11.1 um auf ebenfalls hd(0,5), so dass sich der 11.1er grub die Daten von der 11.0 holt. jetzt holt sich beim Start der 11.1 der Grub seine Daten aus der 11.0 und will aber dann auch hd(0,5) als Bootlaufwerk und dann gibt es ein Problem, weil da gar kein 11.1er Kernel liegt.
Irgendwie habe ich da einen Knoten im Hirn.
*Schwert für den Knoten auspack*
Wenn ich zwei Installationen wirklich mit einem Grub booten will, dann müssten die /boot-Verzeichnisse beider Installationen physikalisch identisch sein, d.h. ich müsste mir eine /boot-Partition anlegen, die für beide Installationen gilt, in der alle Kernel verlinkt sind uswusf. Oder?
Nein. Du denkst viel zu kompliziert. Du kürst _einen_ grub zum "MBR-Grub". Zu welcher Distri gehört der, der grad im MBR ist? Ansonsten nimm den der 11.1, dann kannst du den am längsten verwenden. So, und jetzt zum Vorgehen: du kopierst den Eintrag für die 11.0 in die menu.lst des "MBR-Grub". Ein Beispiel bei mir verdeutlicht es: ==== Hallerlix : /dev/hdc5 = (hd2,4) : MBR-Grub (nach /dev/hda installiert) ==== [..] title SuSE 6.2 (2.4.33.2-dnh-1, hdc5) kernel (hd2,4)/boot/bzImage-2.4.33.2-dnh-1 root=/dev/hdc5 ... # Direktstart der 9.1, Eintrag ist aus der menu.lst der 9.1 kopiert title SUSE 9.1 (final/2.6.4-52-default) kernel (hd1,2)/boot/vmlinuz root=/dev/hdb3 ... initrd (hd1,2)/boot/initrd ## Eintrag um den Grub der 9.1 zu starten, den ich auf /dev/hdb ## installiert hab title hdb-MBR (GRUB SUSE91 final) root (hd1) chainloader +1 ==== ==== SuSE 9.1 : /dev/hdb3 = (hd1,2) : GRUB SUSE91 (nach /dev/hdb installiert) ==== [..] # Eintrag der 9.1, Vorlage für den Eintrag im MBR-Grub title Linux kernel (hd1,2)/boot/vmlinuz root=/dev/hdb3 ... initrd (hd1,2)/boot/initrd ## Eintrag um den MBR-GRUB nochmal zu starten title hda-MBR root (hd0) chainloader +1 ###Don't change this comment - YaST2 identifier: Original name: failsafe### title Failsafe kernel (hd1,2)/boot/vmlinuz root=/dev/hdb3 ... initrd (hd1,2)/boot/initrd ==== Ich habe bei der Installation der 9.1 Grub auf hdb installiert (hätte auch die Rootpartition der 9.1 also hdb3 sein können, ist egal), also jedenfalls nicht in den MBR. Das ist also einer wie bei dir, den man per chainloader aus dem MBR-GRUB starten kann. Yast hat mir dann den obigen Eintrag erstellt (bzw. die äquivalente Form): ==== title Linux root (hd1,2) kernel /boot/vmlinuz root=/dev/hdb3 ... initrd /boot/initrd ==== Welche Form der Eintrag hat ist egal. Diesen Eintrag vom 9.1er Grub habe ich als einfach in die Menu.lst des MBR-Grub im "Hallerlix" kopiert. Achso, die root=/dev/... Bezeichnugen darfst du nicht ändern, die interpretiert ja schon der jew. Kernel, d.h. bei mir der Kernel der 9.1. das "root=/dev/hdb3". Nur die Grub-Bezeichnungen (hdX,Y) müßtest du anpassen, falls die device.map die Platten unterschiedlich bezeichnen. Zurück zu dir. Angenommen es ist der Grub der 11.1 der im MBR ist. Dann kopierst du den "Linux" Eintrag aus der menu.lst der 11.0, fügst ihn in die menu.lst der 11.1 ein, änderst den Titel des Eintrags (von Linux auf "SUSE 11.0" oder so), falls nötig passe die (hdX,Y) an und das war es auch schon :) Die Konfiguration des Grub der 11.0 bleibt komplett unverändert, die menu.lst der 11.1 bekommt nur einen zusätzlichen Eintrag. Das ganze ist schwieriger zu beschreiben als umzusetzen ;) Achso, bei einem Kernelupdate musst du eben evtl. den Eintrag im MBR-Grub aktualsieren, wenn du die symlinks ohne Version verwendest nicht. Ueber den 'chainloader' Eintrag kannst du aber weiterhin den Grub der Distri starten, und der wurde beim Kernelupdate ja aktualisiert. Achso, du musst halt die menu.lst des MBR-Grub vor Yast schuetzen, eine Kopie aktuell halten und dann ggfs. den neuen Eintrag uebernehmen. Das ist echt nervig an Kernelupdates...
Kurz: vergiss es, scheint alles in Ordnung zu sein. Zeig aber zur Sicherheit nochmal die Ausgabe von fdisk -l.
Die Ausgabe war OK. Da hatte ich schon reingekuckt.
Gut. -dnh -- Listen, three eyes, don't you try to outweird me. I get stranger things than you free with my breakfast cereal. -- Zaphod Beeblebrox -- 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