Donnerstag, 21. Januar 2010

Linux und Windows zusammen betreiben, ohne den MBR zu ändern

Dies gelingt durch Verwendung von Grub4Dos (Version 0.4.4).

1. Windows-XP

In der Binär-Distribution ist eine Version von Grub vorhanden (grldr), die vom Bootmanager von Windows-XP geladen werden kann und mit NTFS-Dateisystemen zurecht kommt. Die Datei grldr muss nach meiner Erfahrung auf C: liegen.

Ziel ist es, Linux auf einem Rechner zu booten, auf dem Windows-XP oder Windows7 normal in der Partition C: installiert wurde, ohne den Master Boot Record (MBR) zu verändern. Dies kann politisch von Vorteil sein.

Vorsicht: Grub4Dos funktioniert gut, nummeriert aber die Partitionen ausgehend von 0, nicht wie Grub2 von 1 (Grub2 ist der Standard-Bootmanager von Ubuntu ab Version 9.10. Soviel ich gelesen habe, kann Grub2 noch nicht mit NTFS-Dateisystemen umgehen).

Der Aufbau des Grub4Dos-Bootmenüs wird durch eine Datei menu.lst gesteuert, deren Aufbau an den der Steuerdatei von Grub1 erinnert. Grub1 war der Standard-Bootmanager von Ubuntu vor Version 9.10. Es gibt ein aussagekräftiges Beispiel in der Distribution.

Der Einbau in den Windows-XP-Bootmanager gelingt wie gehabt durch Editieren von c:\boot.ini .

2. Vista und Windows 7

Unter Windows 7 und Vista muss man den Inhalt einer binären Datenbank (BCD) verändern. Weiterhin muss man für das Laden der Datei grldr.mbr sorgen, die wiederum grldr lädt und im gleichen Verzeichnis (bei mir c:\) finden muss.

Ich bin mit EasyBCD-1.7.2 (heruntergeladen vom Heise/c't-Server) gescheitert. Das Editieren der Datenbank hätte wohl für sich geklappt, aber vielleicht war das von EasyBCD verwendete Neogrub (Grub4Dos-Variante) zu alt für meine große Linux-Partition und nicht mit dem ext4-Dateisystem unter Ubuntu 9.10 kompatibel.

Ich musste mich doch mit dem recht sperrigen Kommandozeilenprogramm bcdedit auseinandersetzten, das zum Lieferumfang von Windows 7 bzw. Vista gehört. Allerdings war es faktisch kaum sperriger als das etwas verwirrende EasyBCD, dessen Anzeige man erst trauen konnte, wenn man es nach einer Editoperation neu gestartet hat.

Eine funktionierende Anleitung mit Beispielzeilen für bcdedit und Grub4Dos ist zum Glück leicht im Grub4Dos-Tutorial zu finden. Nach dem sinngemäßen Anwenden der Beispielinformationen war dann auch unter Windows7 der Booteintrag für Grub4Dos-0.4.4 nach kurzer Zeit funktionsfähig. Da ich schon im Prinzip richtige von EasyBCD erstellte Einträge vorfand, ist mein tatsächliches Vorgehen von dem im Tutorial abgewichen.

Es bleibt das Rücksetzen des MBR zu behandeln. Ich habe ich mir dazu vom Heise-Server mbrfix.zip herunter geladen. Die Anwendung des Programms funktionierte problemlos unter Windows 7 und XP. Das ZIP-Archiv enthält auch eine ausführliche Anleitung.