# Bootloaderkunde, oder "One to boot them all"



## d00mfreak (28. September 2008)

*Bootloaderkunde, oder "One to boot them all"​*
Da hier oft Threads eröffnet werden, welche oft ähnliche Probleme bzgl. Dualboot etc. zum Inhalt haben, hier ein kleines How-To, welches die am häufigsten auftretenden Probleme behandeln sollte.

Inhalt:

Windows XP ist installiert, Windows Vista soll folgen.
Windows Vista ist installiert, Windows XP soll folgen.
Windows Vista und XP waren installiert, eines von beiden wurde entfernt.
Eine Windowsinstallation hat den Linux-Bootloader überschrieben.
Linux in den Vista-Bootloader integrieren.
Weitere nützliche Befehle für Bcdedit
Für Faule: EasyBCD


*Fall 1: Windows XP ist installiert, Windows Vista soll folgen.*​

Hier muss man nichts weiter machen, als Vista zu installieren. Vista erkennt ältere Betriebssysteme der Windowsfamilie und legt dabei automatisch ein Bootmenü an, mit welchem man das zu startende OS auswählen kann. Hierbei ist es egal, ob sich die beiden Partitionen auf der selben oder verschiedenen Platten befinden. Faustregel dabei: die Betriebssysteme immer dem Alter nach installieren, angefangen mit dem Ältesten.


*Fall 2: Windows Vista ist installiert, Windows XP soll folgen*​

Hier hat man das Problem, dass Windows XP den Bootloader von Windows Vista überschreiben wird, da Windows XP – logisch – Vista nicht erkennen kann. Trotzdem ist das erst mal egal, man installiert XP auf eine leere HDD. Sobald die Installation abgeschlossen ist, legt man die Vista-DVD ein, öffnet  eine Eingabeaufforderung, und tippt 
	
	



```
X:\boot\bootsect.exe –NT60 All
```
 ein, und bestätigt es mit [Enter]. „X“ ist dabei das DVD-Laufwerk, in dem sich die Vista-DVD befindet. Anschließend starten wir den PC neu, und stellen fest, dass nun Vista startet. Am Desktop angekommen öffnen wir wieder eine Eingabeaufforderung („als Administrator starten“ verwenden, sollte UAC aktiviert sein) und füttern sie mit 
	
	



```
C:\Windows\system32\bcdedit –create {ntldr} –d „Windows XP“
```
 Anmerkung: Sollte diese Zeile mit einem Fehler quittiert werden, schreibt  
	
	



```
C:\Windows\system32\bcdedit /delete {ntldr} /f
```
 hinein, und wiederholt den ersten Befehl
Danach folgen noch diese Eingaben, die jeweils mit [Enter] bestätigt werden müssen:

```
C:\windows\system32\bcdedit -set {ntldr} device partition=C:
C:\windows\system32\bcdedit -set {ntldr} path \ntldr
C:\windows\system32\bcdedit -displayorder {ntldr} –addlast
```




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        


*Wichtig:* Die Laufwerksbuchstaben am Anfang der Zeilen stellen die Partition dar, wo Vista installiert wurde, der bei Laufwerksbuchstabe „device partition=C:“ die aktive Partition, welche in der Regel die ein und dieselbe Partition sind. Unter Umständen müssen diese angepasst werden, die Angaben dazu lassen sich in der Datenträgerverwaltung finden. Allerdings dürfte diese Angabe bei den allermeisten PCs stimmen, wo Vista bereits installiert war.


*Fall 3: Windows Vista und XP waren installiert, eines von beiden wurde entfernt.*​

Hier hat man das Problem, dass der Bootloader nicht bemerkt, dass Vista oder XP entfernt wurde. Sollte XP entfernt worden sein, kann man den nun ins Leere laufenden Verweis im Menü mittels 
	
	



```
C:\windows\system32\bcdedit –delete {ntldr} /f
```
 entfernen. Von nun an dürfte auch das Bootmenü nicht mehr auftauchen, sofern nicht noch weitere Betriebssysteme installiert sind.

Falls man Vista deinstalliert hat, und man nun das Bootmenü loswerden will, muss man von der XP-CD starten, die Reparaturkonsole öffnen, und dort „fixmbr“ eingeben.


*Fall 4: Eine Windowsinstallation hat den Linux-Bootloader überschrieben*​

Um nach einer Windows-Neuinstallation auf einem System mit Linux-Dualboot Linux wieder startfähig zu bekommen, kann man entwerder die bei Punkt 5 genannte Methode verwenden (im Vorraus erledigen!), oder GRUB in den MBR zurüchschreiben. Letzteres läuft unter Ubuntu so ab:

Man startet mit der Live-CD, öffnet ein Terminal und legt sich mittels 
	
	



```
sudo mkdir /mnt/root
```
 einen Ordner an, wo man seine Linux-root-Partition, in meinem Fall sdb1 mit 
	
	



```
sudo mount /dev/sdb1 /mnt/root
```
 mountet. (Die Laufwerksbezeichnungen müssen u.U. dem eigenen System angepasst werden.)

Danach tippt man 
	
	



```
sudo grub-install --root-directory=/mnt/root /dev/sda
```
 ein, nach ein paar Sekunden sollte man eine Meldung zum erfolgreichen Abschluss erhalten, und Grub bei einem Neustart wieder erscheinen. 




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        




*Fall 5: Linux in den Vista-Bootloader integrieren
*​

Linux kann man auch in den Bootloader von Vista integrieren. Das kann sinnvoll sein, wenn man Windows öfter neu installiert als Linux, oder man vermeiden will, dass bei einem bestehenden Dualboot-System von Windows XP und Vista man erst in GRUB Windows auswählt, und man sich dann nochmal im Windows-Bootmenü zwischen XP und Vista entscheiden muss.
Dazu startet man erst mal Linux, öffnet ein Terminal, und kopiert sich mittels „dd“ die ersten 512Byte auf der Platte, wo sich GRUB im MBR eingenistet hat. Danach mountet man das Windows-Verzeichnis, und verschiebt den Dump auf C:\. Ich musste hier zusätzlich noch die Besitzrechte der Datei anpassen. 




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        


Danach neu starten, diesmal mit Windows. Dort wird nun wieder eine Eingabeaufforderung mit Adminrechten geöffnet, wo Folgendes eingegeben wird:

```
bcdedit -copy {ntldr} -d "Fedora 9"
```
„Fedora 9” kann man hier wiederum nach eigenem Wunsch ändern. Zusätzlich erhält man hier als Rückgabe einen HEX-Code, den ich, um Platz zu sparen, auch nur als solchen bezeichnen werde:

```
bcdedit -set { HEX-Code } device boot
bcdedit -set { HEX-Code } path \bootldr.img
bcdedit -displayorder { HEX-Code } -addlast
```




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        

​
War alles erfolgreich, dann sollte die Eingabe von „bcdedit“ folgendes zum Vorschein bringen (der HEX-Code kann variieren):





			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        



Nach einem Test kann man GRUB wieder mit dem Vista-Bootloader überschreiben, die Windowsverweise in der menu.lst löschen, und sich über ein übersichtliches Bootmenü freuen.




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        


Damit das ganze auch einen Sinn hat, sollte man sich dem MBR-Dump von Linux sowie auch die Einstellungen von bcdedit mittels "bcdedit –export [Pfad + Dateiname]" sichern, um sie später bei Bedarf parat zu haben.


*Weitere nützliche Befehle für Bcdedit*​


 *Reihenfolge der Auflistung im Bootmenü ändern:*
Erst besorgt man sich mittels Eingabe von 
	
	



```
bcdedit
```
 die Liste aller Bezeichner, das wären in diesem Fall alle, bis auf den im Punkt Windows-Start-Manager genannte.
Danach kann man die Reihenfolge im Bootmenü mit 
	
	



```
bcdedit –displayorder {Bezeichner1} {Bezeichner2} {Bezeichner3} {…}
```
 festlegen. Die Aufzählungreihenfolge hier entspricht dann der Reihenfolge der zukünftigen Liste im Bootmenü.




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        




*Bezeichnung eines Eintrags ändern*

```
bcdedit –set {Bezeichner} description „Neuer Name“
```
Will man z.B. den Eintrag von Windows XP, der sich nach der Installation von Vista „Frühere Windows Version“ nennt, umbenennen, geht man wie folgt vor:

```
bcdedit –set {ntldr} description „Windows XP“
```



 *Anzeigedauer des Bootmenüs einstellen:*

```
bcdedit –timeout XX
```
Anzeigedauer auf XX Sekunden einstellen. Nach Ablauf wird das Default-OS geladen.



*OS ändern, das standardmäßig gebootet wird*

```
bcdedit –default {Bezeichner}
```
Festlegung des Betriebssystems, das nach Ablauf der Anzeigedauer des Bootmenüs geladen wird.

Die letzten beiden Optionen lassen sich auch unter einer grafischen Oberfläche ändern:
Rechtsklick auf „Computer“ – „erweiterte Systemeinstellungen“ - Reiter „Erweitert“ – Button „Einstellungen“ bei der Kategorie „Starten und Wiederherstellen“:




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        




*Für Faule: EasyBCD​*

Das Vorhergehende war jetzt für die, die alles gerne selber machen, dennoch gibt es für konsolenscheue Menschen eine, wenn auch eine weit weniger coole Lösung , nämlich EasyBCD. 




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        


Mit diesem lassen sich per Klick auf „Add/Remove Entries“ die meisten oben genannten Dinge erledigen, einzig bei der Integration von Linux gab es bei mir kleinere Probleme, es ließ sich nur mit einigen Schlägen auf die Tastatur zum Start bewegen (kein Scherz, Any Key-Problem?) 




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        

​
Das Schema läuft eigentlich immer so ab, dass man auf „Add/Remove-Entries“ [1] klickt, die Art und Installationsort des Betriebssystems auswählt [2], und danach auf „Add Entry“ [3]. Gespeichert wird alles mit einem Klick auf Save [4].
Einträge werden entfernt, indem man in der Liste in der Mitte  einen Eintrag auswählt, und auf „Delete“ klickt.
Das wars fürs erste, ich hoffe, dass dieser Guide die wichtigsten Fragen zum Thema Bootloader beantworten konnte. Diesem Guide fielen 6 Windows- und 3 Linux-Installationen zum Opfer. (R.I.P)

MfG
DooM


----------



## y33H@ (29. September 2008)

Möchtest du noch erläutern, wie man die Einträge im Bootloader sortiert und umbenennt (für n00bs *g*)?  

"Frühere Windows-Versionen" und "Windows Vista" (letzteres als 1st Boot *nerv*) ist ziemlich doof. Leider weiß ich nicht mehr wie ich das ändere. 

cYa


----------



## d00mfreak (29. September 2008)

y33H@ schrieb:


> Möchtest du noch erläutern, wie man die Einträge im Bootloader sortiert und umbenennt (für n00bs *g*)?
> 
> "Frühere Windows-Versionen" und "Windows Vista" (letzteres als 1st Boot *nerv*) ist ziemlich doof. Leider weiß ich nicht mehr wie ich das ändere.
> 
> cYa



So, habs eingefügt.


----------



## Pokerclock (29. September 2008)

Kann man die Befehle von/für Vista auch auf Win Server 2008 übertragen oder gibt es dort Unterschiede? Und arbeitet das Tool auch mit Server 2008?


----------



## d00mfreak (29. September 2008)

Soweit ich weiß, unterscheiden sich Server 2008 und Vista in Sachen Bootloader nicht. Müsste also alles auch mit Server 2008 funktionieren. Alle Angaben natürlich ohne Gewähr


----------



## Pokerclock (29. September 2008)

Danke für Antwort! Ich werde es spätestens in drei Monaten wissen, wenn mein Server 2008 endgültig die neun Monate hinter sich hat und neu installiert werden will.


----------



## Pokerclock (24. Oktober 2008)

Ich hab da mal ne Frage.

Ich muss bei mir beide Partitionen neu installieren. Auf C läuft Windows XP und auf D Windows Server 2008. Mir geht es vor allem darum, keine "Leichen" irgendwo liegen zu lassen. Insbesondere den Vista Bootloader.

Wie ist da die einfachste Vorgehensweise? Einfach eine BS-CD nehmen und die Festplatten formatieren? Oder muss ich irgendwas beachten?


----------



## k-b (24. Oktober 2008)

installier zuerst XP neu auf C.
Dann wird der Bootloader überschrieben, so das nur XP drin ist.

Und dann auf D das was du sonst noch ham willst.
Wahrscheinlich willst du da Server 2008 oder Vista. Deshalb das erst nach XP installieren, da die einen intelligenteren Bootmanager haben, der dann auch wieder den XP-Bootmanager überschreibt (und in 90% der Fälle XP mit in den Bootmanager aufnimmt).

Bootmanager-leichen gibts net, da der jedesmal neu komplett überschrieben wird während einer Installation


----------



## Pokerclock (24. Oktober 2008)

Also ist es in Ordnung wenn ich Die XP-CD einlege und bei der Installation die beiden Partitionen formatiere?

Dann bin ich ja soweit informiert. Dank an dich


----------



## k-b (24. Oktober 2008)

jap. Reicht wenn C formatierst und die andere bei der anderen formatierung


----------



## Pilzkopf (25. Oktober 2008)

Hätte da bitte auch noch ne Frage 
Derzeit läuft bei mir XP.
Vista und Kubuntu sollten folgen und im Vista-Bootmanager alle wie oben gezeigt erscheinen.



> Nach einem Test kann man GRUB wieder mit dem Vista-Bootloader überschreiben, die Windowsverweise in der menu.lst löschen, und sich über ein übersichtliches Bootmenü freuen.


Was ist darunter zu verstehen?
Wie überschreibe ich GRUB und da ich ein ziemlicher Linux-noob bin, wäre es noch schön zu wissen, ob ich bei dem Schritt mit dem _dd_ Befehl denn ach die Rechte anpassen muss, und wenn ja, wie?


Danke!


Gruß, Pilz


----------



## k-b (25. Oktober 2008)

Wenn du das in der Reihenfolge installierst:
XP -> Vista: Vista Bootloader wird in MBR geschrieben, Vista lässt dir die Wahl zwischen XP und Vista
XP->Vista->Kubuntu: Kubuntu haut die Grub in MBR. Im Grub hast du dann Anfangs dann die unterste Option, die dir den Bootloader von Vista läd und da kannst du dann zwischen XP und Vista wählen. Bzw. Vista ist default. So hab ichs, nur mit Ubuntu (da der KDE support traurig schlecht ist).

Allerdings kannst du auch im Grub die beiden Windows einzeln anlegen. Das geht so rum besser, als wie wenn du Linux in den Vista Bootloader rein machen willst ^^


----------



## Pilzkopf (25. Oktober 2008)

Und wie integriere ich die Wins in Grub?

Und wie siehts aus, wenn ich eines der OSe neuinstalliere?


----------



## k-b (25. Oktober 2008)

Wenn  eins der OSe neu installierst, dann hast erst mal n Problem. Aber um genau so was zu erklären, ist dieser Thread doch da? http://extreme.pcgameshardware.de/l...ootloaderkunde-oder-one-boot-them-all.html#a4


----------



## stiGGywiGGy (2. Dezember 2008)

servus dOOmfreak und alle anderen die hier aufkreuzen,

danke erstmal für deine ausführliche und übersichtliche Hilfestellung. 


Kurz gefasst ist meine Situation folgende:   

Nagelneuer Rechner vom Chef mit Vista drauf, wunderbar! 
Nur, dass eben diverse Progs noch nicht auf Vista funzen. 
Also nach Absprache eifrig das alte XP drauf und prompt war Vista weg.

Ich wollt eigentl. nur Gutes, und vor allem schnell weiterarbeiten und steh jetzt a bissl da wie`n Depp, naja.

Wie krieg ich jetzt am schnellsten *ohne weitere Fehler zu verursachen* Vista wieder ins Boot-Menü?

–was bedeutet dass "-d"? Ist das die XP-Partition o. ein Befehl?

" C:\Windows\system32\bcdedit –create {ntldr} –d „Windows XP“ "

Kann bei Möglichkeit 1 (Bootloader manuell "umschreiben/aktivieren ") irgendwas schief gehen? Ich traus mich nicht so richtig.


*–  ** ich **versuchs morgen als erstes mit der uncoolen Variante! D**ein Bootmanager** macht Hoffnung!!!*

Ich habs schon mit VistaBootPro3.1 versucht, hat alles erkannt, aber 
bei VISTA > SET DEFAULT kam dann eine Fehlermeldung von wegen "...Error...Timeout=8sec..."??? Da wars dann rum...

(EasyBCD sieht etwas vertrauter aus)

Reicht es nicht aus, mit Vista-CD zu reparieren etc. sodass auch die vorinstallierten Treiber erhalten bleiben?

Ich hoffe mein FAQ Paket passt hier rein, in erster Linie wollte ich ein dankeschön loswerden für die Zusammenstellung die mir morgen hoffentlich weiterhelfen wird...

Grüße stiGGy


----------



## d00mfreak (3. Dezember 2008)

> Wie krieg ich jetzt am schnellsten *ohne weitere Fehler zu verursachen* Vista wieder ins Boot-Menü?


Von der Vista-DVD starten, dort die Reparaturopionen auswählen, und dann das machen, was oben unter Punkt 2 steht.



> –was bedeutet dass "-d"? Ist das die XP-Partition o. ein Befehl?


 Nein, ist keine Partition, einfach nur ein Schalter für bcdedit.



> Kann bei Möglichkeit 1 (Bootloader manuell "umschreiben/aktivieren ") irgendwas schief gehen? Ich traus mich nicht so richtig.



Nö, das Schlimmste was passieren könnte ist, dass du einen bereits bestehenden Eintrag im Bootmenü entfernst. Das ist allerdings sehr unwahrscheinlich, da es eine Menge unabsichtlicher Tippfehler bräuchte, die zum Schluss auch noch Sinn ergeben müssten (z.B. "-delete" statt "-create") 
Aber auch das liese sich wieder rückgängig machen.


----------

