GRUB-Profis gesucht

  • Wer von euch kennt sich wirklich mit GRUB aus?

    Ich habe einige Partitionen auf eine größere Platte übertragen. Das lief alles soweit problemlos, das Multiboot-Menü zwischen Windows 98 SE und Windows 2000 funktioniert immer noch.

    Da mein Board schon recht alt ist, habe ich die Platten nicht am On-Board IDE-Controller (der kann bloß UDMA-33), sondern am RAID-Controller (HPT-370, unterstützt UDMA-100), ohne ein RAID-Verbund zu definieren.

    Somit habe ich jetzt folgende Partitionen:

    /dev/hde1: Primäre Partition mit Windows 98 SE, Windows 2000 und Windows-Bootmanager
    /dev/hde2: Erweiterte Partition...
    /dev/hde3: Linux-Boot-Partition mit SuSE 9.1

    /dev/hdf1: Erweiterte Partition...
    /dev/hdf2: Linux-Swap-Partition

    Jetzt würde ich gern, wenn möglich, Linux mit aus dem Bootmanager von Windows 2000 starten. In der c't 2/05 steht, wie man das erreichen kann: Bei der Installation wählen, dass der Bootmanager auf eine Diskette geschrieben wird, und dann den Bootsektor mit "dd" in eine Datei kopieren, die dann in der BOOT.INI aufgerufen wird.

    Leider macht der Installer das nicht richtig mit, der GRUB-Installer meldet fehlerhafte Werte für Geräte. Deshalb würde ich gern versuchen, GRUB direkt zu bedienen. Einen halben Erfolg hatte ich wohl schon: In der Konfigurationsdatei "/boot/grub/device.map" steht

    (fd0) /dev/fd0
    (hd0) /dev/hde3

    Also die root-Partition in GRUB festgelegt mit

    root (hd0)

    Erkannt wird Dateisystem reiserfs, verwendet wird die gesamte Disk. Diese Einstellung wollte ich nun auf Diskette "installieren":

    setup (fd0)

    Tatsächlich wird die Diskette beschrieben, und der Inhalt des Bootsektors (kopiert nach "C:\linuxldr.bin") sieht aus, als ob GRUB ihn zu verantworten hatte.

    Nur nach dem Einbinden in die BOOT.INI mit dem Eintrag

    [operating systems]
    ...
    C:\linuxldr.bin="Linux"

    sehe ich nur noch das Wort "GRUB" links oben, sonst passiert nichts weiter. Da muss ich doch wohl was missverstanden haben... oder vergessen?

    (evtl. "kernel /boot/vmlinuz ro root=/dev/hde3", oder noch "initrd /boot/initrd"?)

  • weshalb machst du das nicht mit dem Suse-Bootmanager ?
    bei richtiger Installation (= normal automatisch) kannst du über den Grub? Bootmanager deine Betriebssysteme auswählen
    du nicht geschrieben hast welche Suseversion (personal oder profesional) du benutzt.
    bei meinen 1ten versuchen mit 9.0 personal klappte das installieren und booten . Als ich mit der 9.1 weitermachte bootete mein Linux nicht . ich habe das umgangen indem ich zuerst eine 9.0 installierte und danach die 9.1.
    Edit:
    inzwischen habe ich es ausprobiert : Yast starten - System - Konfiguration des Bootladers - Bootladerpartition aktivieren

  • hey!

     ich nehme mal an dass du bei der suse-installation den grub in die boot-partition installiert hast (was im c't artikel sicher stand dass man es so machen soll).
    wenn du das gemacht hast musst du nichts anderes mehr machen als den befehl: dd if=/dev/hde3 [font=Arial, Helvetica]of=/mnt/floppy/linux.bin bs=512 count=1 eingeben. diskette umounten und die datei auf C:\ kopieren und wie du gemacht hast in die boot.ini eintragen.

    was du da mit setup gemacht hast weiss ich nicht ganz, habe setup noch nie benötigt...
    root(hd0) ist meiner meinung nach falsch, da das eher root(hd0,3) heissen soll, da boot bei dir ja auf /dev/hde3 ist.
     [/font]

    mfg
    scrat

    Matroska Guide - Encoden mit GordianKnot, VirtualDubMod im x264/Xvid Format *Update: 25.09.2005*

  • Zitat von scrat

    ich nehme mal an dass du bei der suse-installation den grub in die boot-partition installiert hast (was im c't artikel sicher stand dass man es so machen soll).


    Ich habe beim Installieren von Linux überhaupt keinen Bootmanager installiert, weil ich zu dem Zeitpunkt zwar das Schreiben des selbigen auf Diskette bevorzugt hätte, aber keine auftreiben konnte.

    SuSE 9.1 Pro läßt sich trotzdem aus der Installations-DVD heraus nachträglich starten, sowie der Bootmanager mit der Experten-Reparatur nachinstallieren. Zumindest bei "normalen" Installationen - aber bei meiner ist irgend etwas unnormal, mindestens die Installation am zweiten IDE-Controller (hde-hdh).

    Zitat von scrat

    root(hd0) ist meiner meinung nach falsch, da das eher root(hd0,3) heissen soll, da boot bei dir ja auf /dev/hde3 ist.


    Würde in der "/boot/grub/device.map" der Eintrag "(hd0) /dev/hde" stehen, würde ich dir recht geben. Aber versuche ich in GRUB den Befehl "root (hd0,3)", nörgelt er (selbstverständlich), dass die Partitionstabelle defekt sei - weil es auf /dev/hde3 natürlich keine gibt, denn der Eintrag lautet ja "(hd0) /dev/hde3". Mit dem Befehl "root (hd0)" dagegen erkennt GRUP einwandfrei das Dateisystem - mit dem Hinweis, dass die gesamte Platte verwendet wird ("ohne Partitionen" sozusagen).

    Vielleicht sollte ich den Eintrag in der device.map entsprechend ändern - vielleicht arbeitet dann das GRUB-Setup wieder automatisch? Das tut es ja - wie schon erwähnt - nicht, sondern meldet, dass es Geräte nicht erkennen kann; möglicherweise, weil der Eintrag "(hd0)" nicht auf die Platte "hde", sondern auf die Partition "hde3" verweist?

  • Zitat von LigH

    Wenn ich den GRUB normal verwenden würde, hätte ich folgendes Problem:

    • Linux
    • Windows

      • Windows 2000
      • Windows 98

    Also eine zweistufige Auswahl.


    Du kannst doch in GRUB basteln was du willst...kannst alles untereinader schreiben oder verschachteln...steht alles in der /boot/grub/menu.lst

  • Nur weiß ich nicht, ob es möglich ist, das Verhalten des Windows-Bootmanagers damit zu emulieren. In GRUB kann ich ja folgendes erreichen:

    - Linux starten
    - Windows starten

    Mit dem zweiten Punkt wird dann jedoch nach GRUB noch der Windows-2000-Bootmanager gestartet. Und der startet dann mit seinem eigenen Menü

    - Windows 2000 (ntldr)
    - Windows 98 SE (io.sys - über den gesicherten vorherigen Bootsektor)

    Im Windows-2000-Bootmanager kann ich Linux direkt starten, wenn ich den Linux-Bootsektor von GRUB als Datei speichere. Aber bei GRUB weiß ich nicht, ob ich damit Windows 2000 oder Windows 98 SE jeweils direkt starten kann, ohne dass der Windows-2000-Bootmanager noch mal dazwischenfunkt. Dann müsste ich ja auch in der Lage sein, GRUB mitzuteilen, dass er entweder ntldr oder io.sys starten soll.

  • hey!

    ah, du hast also gar keinen grub noch installiert. ich persönlich installiere ihn immer gleich bei der installation auf die boot-partition.
    außerdem sorry, meinte root(hd0,2) - da ja bei 0 zu zählen begonnen wird..

    du hast jetzt 2 möglichkeiten:
    - grub nach auf die root-partition installieren und linux mit dem win2k bootmanager starten
    - grub in den mbr installieren und win2k und win98 mit dem grub starten
    hast du dich da verschrieben: /dev/hde1: Primäre Partition mit Windows 98 SE, Windows 2000 und Windows-Bootmanager oder hast du echt win98 und win2k in einer partition?
    win2k und win98 mit dem grub starten geht folgendermaßen: ein eintrag für win2k und einer wür win98 (vorausgesetzt dass beide nicht in der gleichen partition installiert sind) - dann kannst du eh auswählen was du starten willst und im win2k bootloader die zeit zum warten auf auswahl auf 1sec stellen.


    mfg
    scrat

    Matroska Guide - Encoden mit GordianKnot, VirtualDubMod im x264/Xvid Format *Update: 25.09.2005*

  • Zitat von scrat

    hast du echt win98 und win2k in einer partition?


    Das ist genau das Problem worauf ich mir auch noch keinen Reim machen kann :ratlos: *grübel*

  • hey!

    wenn dem so ist kannst du grub im mbr und aus dem grub win98 und win2k meiner meinung nach vergessen...


    mfg
    scrat

    Matroska Guide - Encoden mit GordianKnot, VirtualDubMod im x264/Xvid Format *Update: 25.09.2005*

Jetzt mitmachen!

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