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"?)