![]() |
Zentralinstitut für Angewandte
Mathematik
FZJ-ZAM-TKI-0398 |
1. Einleitung
2. Load-Image für Linux erstellen¹
3. Windows-Bootloader einrichten
Häufig werden auf modernen PCs mit großen Festplatten mehrere Betriebssysteme gleichzeitig installiert. Eine typische Konfiguration wäre etwa ein Windows-Produktionssystem mit Office, Multimedia etc. auf der ersten Festplatte, ein komplettes Linux-System ebenfalls auf der ersten Festplatte, Windows-Benutzerdaten und Image-Backups der ersten Festplatte auf einer Partition einer zweiten Festplatte, und schließlich noch ein speziell abgesicherten Windows-System für Softwaretests oder zum sicheren Surfen ebenfalls auf der zweiten Festplatte. Möglicherweise wird auch noch die Wiederherstellungskonsole von Windows direkt auf einer der Festplatten installiert, damit man mal eben schnell einen kaputten Bootblock reparieren kann.
Es stellt sich die Frage, wie man die verschiedenen Betriebssysteme bequem startet: Wird etwa ein Linux- Bootmanager auf der ersten Festplatte installiert, so wird dieser spätesten bei Installation des nächsten Windows-Systems im Bootblock einfach überschrieben und muss von Hand restauriert werden. Das gleiche passiert, wenn man den Bootblock etwa durch Wiederherstellen eines Image-Backups überschreibt oder mit Hilfe der Wiederherstellungskonsole neu anlegt.
Einfaches ist es, alle Systeme inklusive der Wiederherstellungskonsole mit Hilfe des Bootloaders von Windows zu starten - in seinem Konsolencharakter vielleicht optisch etwas weniger ansprechend als Grub, dafür aber "Windows-resistent".
Als Vorbereitung muss ein Datenträger mit FAT-Dateisystem (Diskette, USB-Stick) vorbereitet werden, auf das Linux schreiben und von dem Windows lesen kann. Der Platzbedarf ist mit 4 KB minimal.
Das Verfahren ist einfach: Es wird mit der Linux-Installations-CD (oder alternativ im laufenden Linux) ein Load-Image für Linux erstellt, mit Hilfe der zuvor erstellten Diskette in die Boot-Partition von Windows kopiert und die Windows-Datei "boot.ini" entsprechend angepasst. Soll auch die Wiederherstellungskonsole installiert werden, so wird diese mit Hilfe der Windows-Installations-CD auf die Festplatte installiert und ebenfalls im Bootloader eingetragen.
Zunächst wird ein Bootimage für Linux (d.h. eine Datei mit dem Inhalt eines 512-Byte Bootblocks) erzeugt und dieses auf die erste Festplatte in die Windows-Partition kopiert, von wo aus es durch den Windows-Bootloader geladen und gestartet werden kann. Dazu muss zunächst Linux oder die Linux-Installation gestartet und der Bootloader "Grub" so konfiguriert werden, dass er das Bootimage nicht in den MBR der ersten Festplatte, sondern in die Root-Partition des Linux-Systems selbst schreibt.
SuSE-Linux-CD 1 anbooten
Manual Installation auswählen
Sprache auswählen - OK
Tastatursprache auswählen - OK
Installation/System starten
Installiertes System starten
Linux-Partition, beispielsweise "hda3: reiserfs" auswählen - OK
In diesem Fall bei Installation des Bootloaders Grub als Ziel nicht den Master Boot Record (MBR) der ersten Festplatte auswählen, sondern die root-Partition des Linux-Systems selbst. Also wie oben etwa "hda3: reiserfs", falls Linux auf der dritten Partition der ersten Festplatte /dev/hda installiert ist (Die erste Partition auf dieser Festplatte ist typischerweise ein NTFS-Filesystem für die erste Windows-Installation).
Start - System - Yast
System - Konfiguration des Bootloaders
Ort des Bootloaders - Bearbeiten
Bootsektor der Bootpartition (Linux, beispielsweise /dev/hda3) auswählen - Beenden
mount /dev/fd0 /media/floppy (Diskette)
mount /dev/sda0 /media/floppy (USB-Stick)
dd if=/dev/hda3 of=/media/floppy/bootsek.lin bs=512 count=1
Der Bootloader von Windows wird über die Datei C:\boot.ini konfiguriert. Diese Datei ist als Systemdatei geschützt und sollte wie folgt editiert werden:
Damit wird boot.ini in den Editor geladen. Für einen PC mit zwei Festplatten ("rdisk(0)" und "rdisk(1)"), je einem Windows-System auf der ersten Partition jeder Festplatte ("partition(1)") und dem Default-Betriebssystem auf rdisk(0)partition(1) sieht das wie folgt aus (je eine Zeile ohne Zeilenumbruch!):
| [boot loader] timeout=10 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Pro (Produktion)" /noexecute=optin /fastdetect multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Pro (Abgesichertes System für Internet)" /noexecute=optin /fastdetect c:\bootsek.lin="SuSE Linux 9.2" C:\CMDCONS\BOOTSECT.DAT="Microsoft Windows XP-Wiederherstellungskonsole" /cmdcons |
Das Linux-System wird über den dritten Eintrag gebootet, der den Ort der MBR-Imagedatei angibt. Diese wird unter Windows von der Diskette oder dem USB-Stick einfach auf die Windowspartition, etwa als C:\BOOTSEK.LIN kopiert.
Der vierte Eintrag wäre die Bootoption für die Windows-Wiederherstellungskonsole. Diese kann für solche Benutzer recht nützlich sein, die öfter mit unterschiedlichen Betriebssystemen experimentieren und die Wiederherstellungswerkzeuge von Microsoft (etwa zum Wiederherstellen eines Bootblocks) direkt ohne Installations-CD zur Verfügung haben möchten. Dieser Eintrag wird beim Installieren der Windows-Wiederherstellungskonsole (siehe unten) automatisch generiert.
Die Windows-Wiederherstellungskonsole kann entweder von der Installations-CD gestartet werden, oder sie kann auf der Windows-Partition vorinstalliert und dann direkt aus dem Boot-Menü (s.o.) heraus gestartet werden.
a) mit "1" auswählen
b) Administratorkennwort eingeben
Die Installation der Wiederherstellungskonsole auf der Festplatte macht diese jederzeit verfügbar und erfordert nur ca. 8 MB Speicherplatz.
Damit ist die Wiederherstellungskonsole im Verzeichnis
C:\cmdcons der Windows-Bootpartition
installiert.
Es empfiehlt sich für den Notfall, alle für den Bootloader benötigten Dateien und vielleicht auch einige Bootkonfigurationen ("boot.ini") auf Diskette zu sichern. Mit dieser Diskette kann der Rechner gegebenenfalls wieder gestartet werden. Hierzu die Dateien auf der Bootpartition C:
- boot.ini
- ntldr
- NTDETECT.COM
- und gegebenenfalls bootsek.lin (für Linux-Boot)
auf eine Diskette kopieren.
¹ Die Information zum Linux-Bootimage wurde in der SuSE-Supportdatenbank (fhassel_grub_nt) gefunden
|
|
Forschungszentrum
Jülich D-52425 Jülich |
Zentralinstitut
für Angewandte Mathematik (ZAM) |
|
9.2.2005 |