back: HIB Homepage
  Prof. Urban
Materialien für Mathematik, Physik, Informatik
 
 
zurück
 

Linux mithilfe des Windows-Startmenüs auswählen

Viele Windows-Benutzer sind verunsichert, wenn sie Grub statt des gewohnten Windows-Startmenüs sehen. Also nehmen wir doch einfach Linux als zusätzliche Auswahl in den Microsoft-Bootloader auf.

Eine oft lästige Situation: Auf einem Windows-Rechner wird zusätzlich Ubuntu installiert. Grub ersetzt dabei, um den Benutzer nicht mit Fragen zu belästigen, den Windows-MBR durch einen eigenen Bootblock (wobei er allerdings im Unterschied zu Windows kooperativ ist und die bestehenden Betriebssysteme in sein Menü integriert). Will man diesen Bootblock wieder loswerden (Linux entfernen oder andere Starttechnik verwenden) oder muss Windows neu installieren (dabei entfernt Windows das Linux Bootmenü komplett), ist guter Rat teuer.

Wir öffnen ein root-Terminal und kontrollieren, wo denn die Linux-Systempartition sitzt.
root# rdev
Das ergibt bei mir /dev/hda10
In Grub wird mit Null zu zählen begonnen also ist Linux-hda die Grub-Festplatte 0 und die Linux-Partitionsnummer 10 heißt in Grub 9. hda10 = (hd0,9)
Alternativ schaut man sich in Grubs /boot/grub/menu.lst den Menüeintrag für den Linux-Start an und sucht die Zeile für root.

Nun schreiben wir den GrubBootblock nicht in den MBR, sondern einfach in irgendeine Partition. Windows ist pingelig, wir lassen es in Frieden und wählen eine Linux-Partition. In meinem Fall installiere ich mittels
root# grub
grub> root (hd0,9)
grub> setup (hd0,9)
grub> quit

in die Linux Systempartition.Damit ist der Booteintrag erstellt worden.
Das war aber nur ein Zwischenschritt. Der Block soll ja Windows zugänglich gemacht werden. Dazu kopieren wir nun die ersten 512 Byte des Blocks in eine Datei, etwa mit Namen linuxboot
root# cp if=/dev/hda10 of=linuxboot bs=512 count=1
Diese Datei kopieren wir auf Diskette oder Stick, um sie dann in Windows wieder einzulesen. Clevere Leute haben C: als FAT-Partition eingerichtet und können direkt dorthin kopieren.
Nun starten wir Windows. Wir speichern die neue Datei z.B. in ein Unterverzeichnis C:\linux
Wer eine FAT-C: besitzt, kann nun die Datei boot.ini direkt editieren, die übrigen müssen zumeist die Systemsteuerung/System/Erweitert/Starten/Systemstart/Bearbeiten rufen und dort editieren. Wir fügen einfach einen Eintrag dazu:
C:\linux\linuxboot=Linux

Windows-MBR restaurieren

Nun müssen wir aber noch Grub aus dem MBR entfernen. Entweder macht man das mit dem Gratisprogramm FixMBR direkt vom Administrator-Account aus oder mit systemeigenen Mitteln, wenn man eine Windows-Installations CD besitzt.
Das geht dann so:
Man startet von der Original-Windows CD und drückt beim Setup die Taste R für Reparatur. Dann wird die Windows-Systempartition angezeigt, man wählt sie und landet in einer Konsole. Dort gibt man falls nötig das Administratorkennwort an und führt zwie Befehle aus:
fixmbr
fixboot

Der erste Befehl stellt den Windows-MBR wieder her und entfernt damit Grub. Der zweite aktualisiert die dort befindliche Partitionstabelle. Mit
exit
verlässt man die Konsole. Fertig. Ab nun erscheint Linux als zusätzliche Auswahl beim Starten von Windows.

Vorsicht: Die OEM-Windows-CDs vieler vorinstalliert gekaufter Computer enthalten keine Reparaturkonsole, sondern verzweigt in ein Hersteller-spezifisches Setup-Programm. Dann muss man mit FixMBR arbeiten.

Nachsatz:

Vorsichtige Leute sichern den MasterBootRecord vor und nach gefährlichen Aktionen in eine Datei (Diskette z.B. /dev/fd0, Stick z.B. /dev/scd1, Festplatte), um diesen im Bedarfsfall einfach reparieren zu können.

In Windows verwendet man das freie MbrFix. Für die erste Festplatte:
>MbrFix /drive 0 savembr dateiname
sichert MBR und Partitionstabelle,
>MbrFix /drive 0 restore dateiname
stellt den MBR wieder her.

In Linux benötigt man keine extra Software. Da in Unix prinzipiell alles als 'Datei' angesprochen werden kann, darf man auch den MBR wie eine solche behandeln.
1.) schon vor der Installation von Linux eine Live-CD (Grml, Knoppix, Suse, Ubuntu,...) starten, in der Konsole mit root-Rechten (su oder sudo): Auslesen und abspeichern des MBR:
> dd if=/dev/hda of=Zieldatei bs=512 count=1
2.) Reparatur durch Zurückspielen des MBR:
> dd if=ObigeDatei of=/dev/hda bs=512 count=1
und das wars auch schon.

Linux kann aber noch mehr:

> dd if=Datei of=/dev/hda bs=1 count=446
stellt nur den Bootloaderbereich wieder her. (Meist ist nur das notwendig)
> dd if=Datei of=/dev/hda bs=1 skip = 446 count=66
stellt die Partitionstabelle auf den ursprünglichen Stand zurück

 


--- © Wolfgang.Urban@schule.at ---