[solved] Syntax grub2 chainloader ... ?

  • Hi,


    evtl. ist von Euch jemand bereits über das Problem gestolpert?


    Ich habe folgende Syntax aus grub(1) /boot/grub/menu.lst:

    Code
    title Windows XP Professional
     rootnoverify (hd0,0)
     makeactive
     chainloader (hd0,1)/test.mbr

    und möchte diese nach grub2 migrieren. Leider macht es der versch... grub2 es einem da nicht leicht und die Doku schweigt sich über solche Schmankerln mal wieder aus. Folgenden Versuch hatte ich mit verschiedenen leichten Änderungen in der Syntax ausprobiert:

    In der /boot/grub/grub.cfg taucht der Eintrag dann auf, beim booten kann ich aber nicht zwischen Linux und Windows wählen, das Grub-Menu taucht gar nicht auf. Linux bootet allerdings ...


    Vielen Dank schon mal für etwaige Ideen.


    Kind regards
    hummingbird_de

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()

  • @OppTupacShakur


    Hehe, ja das wird bei Dir funktionieren, aber die XP Partition ist wohl auch nicht verschlüsselt, oder?


    Die Syntax für grub(1) funktioniert, leider finde ich keine Beschreibung, wie das mit grub2 umzusetzen ist. Ich vermute es ist der Punkt "rootnoverify", der muß aber so sein, da er die verschlüsselte Partition nicht verifizieren kann und soll.


    Kind regards
    hummingbird_de

    HowTo: APT pinning

  • Die Numerierung der Parttionen hat sich geaendert: die erste Partition
    hat in grub2 nicht mehr die Nummer 0 (wie in grub-legacy) sondern die
    Nummer 1 (die Nummern der weiteren Partitionen erhoehen sich dementsprechend
    auch jeweils um 1).


    könnte es sein das es daran liegt?

  • redeye


    Interessant, welche Nummer?


    hd(0,0) jetzt hd(0,1) oder hd(1,0) oder gar hd(1,1)?


    [EDIT]


    Hab's gefunden. Es scheint, wenn /dev/sda1 früher hd(0,0) war, ist es jetzt hd(0,1). Melde mich wieder.


    [/EDIT]


    Kind regards
    hummingbird_de

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()

  • Oh mann, da schimpfe noch einer über die Freunde aus Redmond:

    • grub2 letzte stable version von Februar 2008!
    • es fehlen offensichtlich gute nützliche Feature wie "savedefault, rootnoverify, makeactive" aus grub-legacy bis heute
    • Doku ist mehr als lausig, fast noch schlimmer als upstart. Und ich bin da nicht alleine ...
    • Irgendein Schlaumeier hat beschlossen, Windows werden dynamisch automatisch ins Menu eingepflegt. Dumm nur, das das mit externen und/oder verschlüsselten Platten, die per Chainloader einen MBR benötigen, nicht mehr funktioniert.

    Wie kann man nur so eine Mist zum Standard machen ... ich kapiers nicht ...


    Daher gilt ab sofort: grub2 = Feinbild1 :angryfire


    Dann werde ich mir mal einen Downgrade-Pfad zu grub-legacy mit Karmic suchen ... :evil:


    Die einzig brauchbare Doku habe ich im übrigen bei den Gentoo Freunden gefunden. Aber das was ich suche, haben die mangels Verfügbarkeit auch nicht beschrieben.


    Kind regards
    hummingbird_de

    HowTo: APT pinning

  • @all


    So, ging schneller als gedenkt in Karmic auf grub-legacy zurück zu gehen und siehe da der "chainload" mit Übergabe des MBR funktioniert wie geplant.


    Leichte Probs gibt es zwar noch, "update-grup" übernimmt nicht die "defopts", aber damit kann man leben, die ändern sich ja nicht so oft.


    Für alle die das jetzt lesen und evtl. auch machen wollten, bitte vorher dran denken, "/boot" darf nicht "ext4" sein, grub-legacy kann davon nicht booten!


    So, ich habe jetzt den Crypto-Monster-Laptop den ich „par ordre de mufti“ haben muß und die lieben Mod's dürfen den Thread schließen ... ;)


    Kind regards
    hummingbird_de

    HowTo: APT pinning

  • Zitat

    Original von hummingbird_de
    So, ich habe jetzt den Crypto-Monster-Laptop den ich „par ordre de mufti“ haben muß und die lieben Mod's dürfen den Thread schließen ... ;)


    wennde zumachen willst: rechts unten gibts die optionen.

  • NemoN


    Bist Du Dir ganz sicher?


    Es mag sein das Du den Eintrag drin stehen hast, aber der wird IMHO mit ziemlicher Sicherheit einfach ignoriert, siehe dazu:


    - CommandList - GRUB Wiki


    Und das Ersatz-Kommando hat lt. der vorhandenen dünnen Doku ein leicht veränderte Funktion.


    Kind Regards
    hummingbird_de

    HowTo: APT pinning

  • Hast Recht, das savedefault Kommando benutze ich nicht mehr, sondern die neue Syntax.


    Im Prinzip sieht meine /boot/grub/grub.cfg so aus:



    vorher musste ich noch einen leeres "grub environment block file" anlegen via:


    Code
    grub-editenv /boot/grub/grubenv create


    der zu bootende startmenu eintrag wird mit:


    Code
    grub-editenv /boot/grub/grubenv set saved_entry=1


    gesetzt (in diesem Fall Windows 7). Beim nächsten Reboot wird dann wieder Linux gestartet.

  • NemoN


    Verstehe ich das richtig, Du mußt in Deinem laufenden Linux wählen was Du als nächstes booten möchtest?


    Kind regards
    hummingbird_de

    HowTo: APT pinning

  • @hummingbird_de


    ich muss nicht, ich möchte :)
    an dem system ist keine tastatur angeschlossen.


    per default bootet grub2 in die linux partition mit dem vdr.
    wenn ich einmal windows brauche (bzw den MCE um bluray abzuspielen) starte ich es via
    vdr (command.conf) und anschließenden automatischen reboot.

  • NemoN


    Ok, für Deinen Anwendugsfall die einzig praktikable Lösung, sehe ich ein.


    Für ein Arbeitsgerät eher nicht, zumal verschüsselte Windows Partitionen nicht im Boot-Menu auftauchen und man diesen Eintrag wegen fehlender Funktionalität nicht erzwingen kann. Unabhängig ob "rootnoverify" nicht funktioniert, kann ich dem grub2 Befehl "chainload" augenscheinlich keine MBR-Datei mitgeben.


    Also die Lösung, das man nur von einem USB Stick, und dem dort installierten grub, in die verschlüsselten Partionen seines Laptops bootet, geht soweit meiner Erfahrung und Information nicht. Es geht auch nicht wenn der grub2 auf der lokalen Platte installiert ist, da man da genauso den MBR übergeben müßte.


    Kind regards
    hummingbird_de

    HowTo: APT pinning

  • sparkie


    Sehr schön mal wieder ein Bröckchen aus dem Gesamtzusammenhang gerissen, ... aber das Thema hatten wir ja schon ...


    Wenn man den Thread in seiner Gesamtheit liest, stellt man fest das, das "savedefault" nicht mein Problem war und ist. Es war eine Feststellung, das diese Funktion in grub2 nicht mehr zur Verfügung steht. NemoN hat korrigierendenerweise angemerkt, das die Funktion aber in abgewandelter Form und Funktion zur Verfügung steht.


    Zum Verständnis mein Problem war und ist die fehlende Möglichkeit, einen Eintrag im grub2-Menu zu erzwingen und dem Befehl "chainload" eine Datei mit einem MBR mitzugeben.


    Kind regards
    hummingbird_de

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()

  • @all


    Da mir das Thema grub2 keine Ruhe gelassen hat, kann ich den Thread doch noch positiv beschliessen.


    Wenn man seither seine verschlüsselte Windows Partition mit so einem Eintrag in der "/boot/grub/menu.lst" von grub-legacy gestartet hat:

    Code
    title		Windows XP Professional
    rootnoverify	(hd0,0)
    makeactive
    chainloader	(hd0,1)/test.mbr

    Muß man das bei grub2 jetzt so konfigurieren, die Nummerierung der hd's wären für diesen Fall genauso zu ändern:

    Code
    laptop-ubuntu:/etc/grub.d> cat 09_windows 
    #! /bin/sh -e
    echo "Adding Windows XP Professional">&2
    cat << EOF
    menuentry "Windows XP Professional" {
    	set root=(hd0,1)
    	parttool (hd0,1) boot+
    	chainloader (hd0,2)/test.mbr
    }

    Da das Menu von grub2 von "update-grub(2)" dynamisch zusammengebaut wird, steuert man die Position im Menu über die Nummerierung der Konfigurationsdateien in "/etc/grub.d". Da bei mir Windows default sein soll und ich nicht davon abhängig sein wollte, wieviele Einträge "/etc/grub.d/10_linux" findet, habe ich das ganze in "/etc/grub.d/09_windows" definiert. Wenn jemand das hinten dran möchte, wäre "11_windows" oder die bereits vorhandene "40_custom" ein gute Wahl ...


    Damit zwingend auch ein grub-Menu beim Start erscheint muß noch die Datei "/etc/default/grub" angepasst werden:


    "update-grub" bzw. "update-grub2" nicht vergessen.


    Kind regards
    hummingbird_de

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!