Anzeige

Am Puls von Microsoft

Anzeige

Systemstartreparatur für Vista und Windows 7

Franz

Moderator
Teammitglied
Um den Bootsektor zu reparieren, sollte man in mehreren Schritten vorgehen,
wenn die automatische Reparatur nicht erfolgreich sein sollte.
Angemerkt sei noch, daß alle Reparatur-Varianten öfter durchgeführt werden sollten,
bevor man weitere Schritte vornimmt.
So kann es durchaus vorkommen, daß die automatische Reparatur von Windows Vista/Windows7
erst nach dem 3. oder 4. Durchlauf den Bootsektor wieder komplett hergestellt hat.

Also nicht gleich nach einem Durchlauf resignieren. ;)

Reihenfolge des Vorgehens:

1. Den Bootloader über die automatische Installations-Reparatur von Vista/Windows7, falls notwendig,
mehrmals reparieren:

Zuerst starten wir den PC mit eingelegter Vista/Windows7 - DVD.
Beim ersten Einstellungs-Dialog klicken wir einfach auf "Weiter".

win7_rep01.jpg


Erst jetzt bekommen wir die Auswahlmöglichkeiten, die wir für die Reparatur des Bootloaders benötigen.
und wählen "Computerreparaturoptionen":

win7_rep02.jpg


Nachdem der PC nach vorhandenen Windows-Installationen gescannt wurde,
und die automatische Reparatur erfolgreich war, wird eine entsprechende Erfolgsmeldung
angezeigt, mit der Option, Fehler an Microsoft zu senden.
Danach kann der PC neu gestartet werden und sollte dann wieder voll funktionsfähig sein.
Ist er es nicht, d.h., es kommen erneut Fehlermeldungen beim Booten, die Reparatur nach obg. Anleitung wiederholen,
bis der PC wieder normal bootet (das kann 3-4 Reparatur-Durchgänge benötigen).

Hat die automatische Reparatur aber keine Fehler finden können, erscheint folgendes Bild,
wobei wir hier das zu reparierende Betriebssystem auswählen und mit der "Weiter"-Taste fortfahren:

win7_rep03.jpg

win7_rep04.jpg


Nun bekommen wir verschiedene Optionen zur Reparatur angezeigt.
je nachdem, wie wir unser System konfiguriert haben und welcher Fehler vorliegt,
können wir die optimale Reparatur-Funktion auswählen:

Die Funktionen im Einzelnen:
Die Oberfläche in Vista (li) und in Windows7 (re):

vista_rep044.jpg
win7_rep05.jpg


Gehen wir die Funktionen im Einzelnen durch:

Systemstartreparatur:

Im Grunde genommen macht dieses Programm genau das, was es verspricht.
Es repariert defekte, überschriebene oder gelöschte Systemstart-Dateien,
die Windows benötigt um weitere Treiber und schließlich die Benutzeroberfläche mit den -programmen zu starten.
Bei dieser Reparatur-Methode werden alle Installations-Dateien überprüft.
Diese Methode wird auch gestartet, wenn die automatische Systemreparatur aufgerufen wurde (s.o.).

Systemwiederherstellung:
Hier werden, vorausgesetzt, es wurde im Vorfeld vom funktionierenden Betriebsystem
ein Systemwiederherstellungspunkt gesetzt, das System auf einen ausgewählten Zeitpunkt zurückgesetzt.
Default ist in Vista/Windows7 der Systemwiederherstellungsdienst-Dienst aktiviert und legt in regelmäßigen Abständen
Wiederherstellungspunkte für diese Reparatur-Methode.
Wählen wir diese Art, konnen wir mithilfe des Assistenten die Systemwiederherstellung durchführen.
Sind eine oder mehrere Wiederherstellungspunkte gesetzt worden, kann der Punkt individuell gewählt werden.
Hier macht es sich bezahlt, wenn man vor der Installation von ServicePacks, Updates, Systempatches und Programmen,
die sehr tief in das System eingreifen, einen Wiederherstellungspunkt setzt.
Wird dieser nun ausgewählt, wird das komplette System auf den Zustand des Zeitpunkts zurückgesetzt.
Welche Programme, die von dem System-Reset betroffen sind, kann man über die Option "Nach betroffenen Programmen suchen"
erfahren. Hier gibt es keine Möglichkeit, Programme aus der Wiederherstellung herauszunehmen.
Treiber und Programme, die hier gelistet sind, müssen neu installiert werden.

win7_rep06.jpg


Systemabbildsicherung:

win7_rep07.jpg


(In Vista: Windows Complete PC-Wiederherstellung)
Wenn ein Abbild (Image) eines Systems erstellt worden ist, wird der Assistent das ausgewählte Image
zurückspielen.
Um ein Abbild von einzelnen Dateien oder des ganzen Systems zu erstellen,
startet man die Option "Sichern und Wiederherstellen" in der Systemsteuerung.
Weitere Informationen hierüber (für Vista/Windows 7): http://www.drwindows.de/windows-7-s...stemdateien-sichern-und-wiederherstellen.html

Windows-Speicherdiagnose:

win7_rep08.jpg


Da immer wieder auch ein defekter Arbeitsspeicher zu Systemabstürzen und -fehlern beitragen kann,
bietet Windows intern eine Fehlersuche für den RAM an.

Eingabeaufforderung:

win7_rep09.jpg


Mit Starten der Kommandozeile hat man den größten Einfluß auf die Systemwiederherstellung und der Reparatur des Bootloaders.

Im 2. Teil beschreibe die Werkzeuge 'bcdedit' und 'bootrec',
die wir mit der Eingabeaufforderung benutzen können.

 
Zuletzt bearbeitet von einem Moderator:
Anzeige

Franz

Moderator
Teammitglied
Vorweg:
Die hier verwendeten UUIDs sind individuell und gelten nur für
meine Konfiguration, bei copy&paste bitte berücksichtigen.


Und jetzt geht's ein bißchen ans Eingemachte:

Über die Windowskugel -> Ausführen -> 'cmd' eingeben -> OK

starten wir die Eingabeaufforderung mit erweiterten Berechtigungen
(R-Klick auf die cmd-Verknüpfung -> "Als Administrator ausführen".)

Zunächst geben wir am Prompt einfach nur
Code:
bcdedit
ein und bestätigen, wie jeden Befehl, mit der [Enter]-Taste.
Nun werden alle Informationen über den Status des Bootloaders angezeigt.

bcdedit1.jpg

Ab Windows Vista wird der Booteintrag in 4 Elemente aufgeteilt:

  • 1. Identifier (Bezeichner): Benennt das aktuelle (Boot)-Programm
    2. Device: Der Ort auf der Festplatte, von dem Windows seine Startdateien lädt
    3. Path: Der Ort auf der Festplatte, auf dem der Bootloader abgelegt ist.
    4. Description: Benennt den Booteintrag wie z.B. Windows Vista, Windows XP, Windows 7, etc.
Dann haben wir hier auch die sog. UUIDs (Universally Unique Identifier),
die vom System für jeden Booteintrag festgelegt wird.
UUIDs können nicht geändert werden.
Hier die wichtigsten:

  • {bootmgr} = Der Bootmanager
    {current} = das aktuell ausgewählte Betriebssystem
    {default} = das Standard Betriebssystem
    {memdiag} = Reihenfolge der Tools
    {ntldr} = der NT-Loader wird für Prä-Vista Systeme benötigt (Windows XP, 2000, etc.)
    {ramdisk} = temp. Platz des Bootloaders auf dem Arbeitsspeicher

    Zum Mitnehmen:
    bootmgr: Der Bootloader bei Vista/Windows 7
    ntldr: Der Bootloader bei Windows 2000 und XP
    bcdedit: Boot Configuration Data Editor
    HAL: Hardware Abstraction Layer


Mit dem Programm "bcdedit" kann die Datei des Bootloaders geändert und ggf. repariert werden.
Außerdem unterstützt bcdedit auch andere Bootloader, wie z.B. Grub und Lilo unter Unix.
Die versteckte Datei befindet bei Vista unter C:\Boot\BCD, beim Windows 7
in der versteckten Systempartition unter \Boot\BCD.

Achtung:
Bevor Änderungen am Bootloader vorgenommen werden: bcd-Datei sichern!


Da wir schon in der Eingabeaufforderung sind, geht das einfach mit dem Befehl:
Code:
bcdedit /export c:\bcdsicherung
Bei evtl. Fehlern in den Änderungen des Bootloaders, wird die Datei mit dem Befehl
Code:
bcdedit /import c:\bcdsicherung
zurückgespielt.

Was können wir also mit diesen ganzen Einträgen anfangen und wie ändern wir diese?
bcdedit ist ein sehr umfangreiches Programm, mit dem der Bootloader sehr individuell angepaßt werden kann.
Das hat natülich zur Folge, daß ich nciht sämtliche Optionen und Möglichkeiten in diesem Tutorial behandeln kann.
Aber für evtl. weitere Fragen steht Dr. Windows jederzeit zur Verfügung. ;)

Mit bcdedit können wir u.a. folgende Aufgaben durchführen:

Code:
bcdedit /enum all
zuständig. Hier werden detailliert alle aktuellen Optionen der verschiedenen Programme gelistet.

Hier nun ein paar Beispiele zum Ändern der Bootkonfiguration:
Code:
bcdedit /set {current} description "Mein eigener Windows Boot Eintrag"
Zuerst können wir unsere eigene, editierte Bootreihenfolge benennen, dabei wird der Descriptor "{current}" individuell umbenannt.

Code:
bcdedit /set {ntldr} path \ntldr
Da ntldr der Bezeichner für den XP-Bootloader ist, können wir ihn
im bcdedit Befehl verwenden. Mit folgender Zeile setzen wir XP an die
erste Stelle der Bootreihenfolge.
Wobei sich der XP Bootloader im Root-Verzeichnis "\" befindet.

Code:
bcdedit /displayorder {ntldr} /addfirst
Mit diesen Befehl wird XP als erste Stelle in der Boot-Menüliste angezeigt.

Code:
bcdedit /set {ntldr} device partition=E:
Hier wird BCD mitgeteilt, auf welchem Laufwerk/Partition Windows XP abgelegt ist. In meinem Fall ist es das Laufwerk "E:\".

Code:
bcdedit /default {ntldr}
Da der alte NT-Loader weder von Vista noch von Windows 7 benutzt wird, wird Windows XP als Standard-System geladen.

Code:
bcdedit /displayorder {22342343-3424-2342342342-2344} /addlast
Damit wird der letzte Eintrag festgelegt.
Hier muß die UUID des jeweiligen Betriebssystems eingetragen werden. (über den Befehl "/enum all"
kann die UUID der Systeme ausgelesen werden)

Code:
bcdedit /copy {current} /d "Kopie von Windows7"
Wir können auch eine Kopie eines originalen Eintrags setzen, damit existiert
z.B. vorerst Windows 7 zweimal im Bootloader.
Mit der Kopie kann dann experimentiert werden, ohne den bis jetzt konfigurierten Bootloader durcheinander zu bringen.

Die Antwort auf den Befehl lautet dann:
Code:
The entry was successfully copied to {016813a0-6fd3-11de-a104-ba606670b012}

In der Kopie des Windows7-Eintrages experimentieren wir zunächst mit dem Hinzufügen des 2. CPU Kerns in den Bootvorgang,
den Windows startet standardmäßig nur mit einem Kern. Wenn es klappt, super, wenn nicht, geht nicht viel kaputt:

Code:
bcdedit /set {016813a0-6fd3-11de-a104-ba606670b012} numpoc 2

Code:
bcdedit /deletevalue {016813a0-6fd3-11de-a104-ba606670b012} numproc
Der Eintrag wird wieder gelöscht und Windows startet wieder mit einem CPU-Kern.

Code:
bcdedit /timeout 5
Um die Zugriffszeit auf das Bootmenü zu verlängern oder zu verkürzen benutzen wir diesen Befehl.

Code:
bcdedit /set {current} detecthal yes
Jetzt wird der Bootloader nur den 'hard coded' HAL starten. Dieser ist manuell nicht veränderbar.
Alle anderen vorhandenen HALs oder modifizierte Kernel werden nicht berücksichtigt bzw. aufgerufen.

Soviel erstmal zu bcdedit.
Es gibt noch weitaus mehr Funktionen und Möglichkeiten, den Bootloader zu manipulieren,
das würde aber sicher den Rahmen des Tutorials sprengen.

Aber für weitere Fragen, Anregungen und Diskussionen stehe ich
natürlich jederzeit zur Verfügung. :)

Siehe hierzu auch
BOOTMGR fehlt - Fehlermeldung beim Windows-Start auf MSN
 
Zuletzt bearbeitet von einem Moderator:

Sabcoll

kennt sich schon aus
Funktioniert das auch, um einen Boot Manager zu entfernen, den man anders nicht mehr deinstalliert kriegt?
 

Martin

Webmaster
Teammitglied
Ohne die genaue Anforderung zu kennen, würde ich mal eher "nein" sagen.
Aber vielleicht machst Du mal ein neues Thema auf und schilderst den Fall dort ausführlich.
 

Franz

Moderator
Teammitglied
Nach längerer Abstinenz vom Board habe ich nun endlich den 2. Teil des Tutorials
online gestellt.
 

wvpidoll

nicht mehr wegzudenken
Danke Franz,
sehr gute Arbeit.
Ich hoffe aber, ich werde nicht in die Verlegenheit kommen,
Deine Ausführungen zu brauchen.
Wenn ja, weiß ich mich ja in guten Händen bzw. Seiten.;)
Liebe Grüße
Winfried
 

winmac

gehört zum Inventar
systemstartreparatur

Danke ebenfalls für ausgezeichnete Areit !:eek::)
Man muß es nicht können aber wissen wo man es finden kann .:)
 
G

Gast598

Gast
Hallo Franz; besten Dank für Dein ausführlich geschildertes Tutorial. ^^

Nun zum Anliegen meinerseits - es ist komplex.

Ich bin damals das Dilemma umgangen, dass Windows 7 den Master Boot Record auf eine für meinen Zweck nutzlosen, zusätzlichen beziehungsweise anderen Partition knallt, als dort, wo das betroffene System letztlich werkelt - unter Einbeziehung, dass der betroffene Datenträger als Laufwerk 0 gesetzt ist.

Folgendermaßen: Mit etwas Umsicht bemerkt man, dass das Partitionierungstool von Windows 7 den MBR stets unter einer zusätzlichen Partition errichtet, genau das, was der Partitionierer von Windows Vista nicht tut. Also hatte ich alle anderen Platten abgebunden und die zur Installation verwendete mittels den Partitionierungstool von Windows Vista "komplett" formatiert. Nun bleibt Windows 7 keine andere Möglichkeit, als den MBR in die Systempartition zu schreiben - außer, das Tool findet Speicherplatz am ***** der Welt, oder strebt den Gesetzen der Quantenphysik. :D Wie gehabt, so getan ...

Doch weswegen der ganze Aufwand? Wegen der Systemsicherung; damit der MBR über die zu spiegelnde Partition mitgesichert wird.

Ich nutze ausschließlich Nero BackItUp zur Systemsicherung, weil das Programm genaue Datenabgleiche vollzieht und somit gegensätzlich zu beispielsweise Acronis True Image die Dateien zu 100% konsistent spiegelt, mitsamt Datenträgerabgleich und simpler Wiederherstellungsfunktion - selbst unter geänderter Hardwarekonfiguration.

Gut, so viel dazu ..., doch nun zum Problem: Ich hatte damals nicht mit einkalkuliert, dass ich Windows Vista irgendwann in den Ruhestand schicke - denn genau auf den Datenträger und ebenso der Partition sitzt der MBR. Ich bin jedesmal darauf angewiesen, das Backup von Windows Vista mit zu installieren, damit Windows 7 über sein eigenes Backup auf der anderen Platte hochfährt.

Entsprechend suche ich schon länger nach Abhilfe, den MBR zu verschieben, oder zu klonen. Acronis Disk Director Suite 11 hat das Windows 7 im Offline-Modus noch nie erkannt. Angeblich 100% kompatibel zu Windows 7. Ja, unter mehreren Windows Vista-Installationen kein Problem, denn da gelingt entsprechend das Verschieben des MBR' - alles schon vollzogen.

Doch was tun, wenn Windows 7 nicht erkannt wird?
Mittlerweile beherrscht das Tool EasyBCD das Klonen sowie Installieren des Bootloaders sowie der Starttabelle. Einen Haken hat 's aber; ich klone den MBR von Laufwerk 0 nach Laufwerk 1 und setze das Laufwerk 1 als Laufwerk 0 (BIOS), doch die Starttabellen bleiben identisch - nun sitzt Windows 7 mitsamt den MBR zwar auf Laufwerk 0, doch in der Starttabelle steht es weiterhin unter Laufwerk 1 eingetragen. Mit den Eintrag von Windows Vista startet das Windows 7 garantiert nicht auf. :D Das kann der Acronis Disk Director richten - sofern besagtes Programm das Windows 7 wenigstens einmal erkenne.


@Franz; wie gehe ich vor? Sind die Zuweisungen der Laufwerke für die Systeme in der Starttabelle änder- bzw. austauschbar?
Was bringt mir das Abklemmen aller anderen Laufwerke, einschließlich Laufwerk 0? Normalerweise findet die Systemreparatur nichts, denn das Laufwerk 0 ist mitsamt den MBR weg, doch kalkuliert man mit ein, dass von dem MBR eine exakte Kopie auf Laufwerk 1 liegt und ich das als Laufwerk 0 zuweise, müsse die Systemreparatur normalerweise alles auffinden, was es benötigt und die verdrehte Zuweisung der Starttabelle an die Situation anpassen - zumal Windows Vista nicht aufzufinden ist, aber irgendwie Windows 7 gefunden und erkannt werden muss.

Bin ich auf dem Holzdampfer?

Ich bitte Dich wahrlich um Hilfe. Ich will nicht mehr, dass Windows 7 von der Windows Vista-Installation abhängig ist, bloß weil darauf der MBR klebt. Eine andere Möglichkeit ist, ein anderes Windows drüber zu installieren, doch ich brauche nicht zwingend weiterhin ein zweites Betriebssystem - egal, wessen Namen es trägt, denn der fehlende Speicher ist mir kostbar. ^^


Danke ^^
 
Zuletzt bearbeitet:

Franz

Moderator
Teammitglied
Hallo und herzlich Willkommen bei uns im Forum, :)

wie heißt es so schön?
Des Menschen Wille ist sein Himmelreich.
Spätestens aber hier macht Windows den Strich durch Wille und Himmelreich, denn Windows startet generell von der mit einem Active-Flag gesetzten Partition.

Was heißt das?

Egal, wie du die Zuweisungen der Partition/Festplatten setzt, nur die aktive Partition ist die # "0" bzw- die Nummer Eins, von der Windows seine Informationen für den Bootvorgang abruft.
Im einzelnen läuft der Vorgang so ab:

  • BIOS Code - initialisiert Grundtreiber, Tests und sucht/findet den MBR
  • dann wird der Code des MBR auf der Startpartition der ersten Festplatte über bootsect.exe geladen und ausgeführt
  • darin ruft bootect.exe nur den aktiven Bootsektor der ersten Startpartition auf, lädt und führt ihn aus
  • der nun gestartete Bootmanager (bootmgr) der aktiven Partition lädt die bcdboot.exe und führt ihren Code aus
  • Bootmanager liest "\boot\BCD" (von der aktiven Partition) und zeigt dann auf dem Monitor entweder das Bootmenü (bei dualen systemen) oder startetet Windows
D.h., egal welche Festplatte du über bcdedit als "0" oder "1" markierst, es wird immer nur die aktive Partition gefunden und geladen.

Um immer einen Wechsel zwischen den Betriebssystemen zu erreichen, bietet sich hier nur an, über diskpart die jeweilige aktive Partition zu bestimmen, die gestartet werden soll, oder ein normales Dual-System mit einem Bootloader zu installieren oder Vista über VHD als virtuelles System zu nutzen.

Alles vorausgesetzt, ich habe deine Ausführen richtig verstanden. ;)
 
Zuletzt bearbeitet:

hansjorg71

gehört zum Inventar
Hallo, diese Situation hatte ich schon mehrmals, Früher als ich von Vista nach Win 7 umgestellt habe.
Ich konnte dieses Problem immer lösen, mit einem Partitionsmanager, die Win 7 Partition auf aktiv setzen und danach mit der Win 7 DVD eine Systemstart-Reparatur durchführen ! (das Win 7 Laufwerk darf nur angeschlossen sein ) ;)

Gruß :)
 
G

Gast598

Gast
Hallo Franz, und ein Dankeschön, für all Dein eventuell vergebliches Bemühen, mir zu helfen. ^^

Ja, ich denke, davon überzeugt zu sein, dass Du mich exakt verstanden hast.

Also, wenn ich Dich nun korrekt vernommen habe, kommt 's weniger auf den Sitzposten des MBR' an, als ebenso wenig das Gebrabbel in der Starttabbelle, sondern überwiegend darauf, welche Partition als die Systempartition gesetzt ist?

Als Startpartition sind die Platten beider Systeme gesetzt, einzig das mit den Windows Vista (Laufwerk 0) - wo der "aktive" MBR sein Unwesen treibt - ist als Systempartition gesetzt. Doch welche Partition die Systempartition ist kann ich mittels herkömmlichen Bordmitteln nicht beeinflussen.

Danke ^^


Edit:

Gruß hansjorg71. ^^

Also, in der Praxis genau das, was Franz schon erwähnt hat: Das entsprechende Laufwerk aktiv zu setzen, wodurch es womöglich automatisch zur Systempartition befördert wird. ^^

Dankeschön. ^^
 
Zuletzt bearbeitet:

Franz

Moderator
Teammitglied
Deshalb auch mein Vorschlag mit diskpart. Damit erspart man sich auch die Geschichte mit der anschließenden Reparatur.
 
Zuletzt bearbeitet:

hansjorg71

gehört zum Inventar
@KnSN da ja man immer dazulernt ;) und ich nun Multiboot mit Win 7 + Win 8 habe und ich nicht wieder in diese Situation kommen will habe ich sofort nach meiner Win 8 Installation das Win 7-Laufwerk abgekabelt und mit meiner Win 8 DVD eine Systemstart-Reparatur durchgeführt um sicher zu sein, dass auch mein Win 8 startet wenn ich später mal das Win 7 entferne ! :)
Das schaut dann so (Bild) in der Datenträgerverwaltung aus. ;)

Gruß :)
 

Anhänge

  • datenträgerverwaltung.PNG
    datenträgerverwaltung.PNG
    50,3 KB · Aufrufe: 728
G

Gast598

Gast
@hansjorg71; dem Bild entnehme ich jedoch, dass die obere Partition mit den Windows 7 drauf die Systempartition ist - folglich führt ein Einreißen von Windows 7 dazu, dass der MBR flöten geht. ^^


So, ich habe mich mal in dieses Diskpart gewälzt: Nach über einen halben Jahrzehnt habe ich beinahe alles vergessen, was mit DOS-Befehlen und dergleichen zu tun hat.

Nach langem Googlen und Experimentieren ist mein Kenntnisstand erneut ein wenig aufgefrischt. Die Befehle, die ich gesetzt habe, lauten:

DISKPART.jpg

Laut der Datenträgerverwaltung ist das Laufwerk 0 weiterhin als "System" gesetzt, beziehungsweise, beide haben nicht ihre Rollen getauscht. Eventuell muss erst ein Systemneustart vergehen.
 

hansjorg71

gehört zum Inventar
@KnSN du wählst die Partition 1 hast du nur diese eine Partition ? dein System kann ja auch z.B. auf der Partition 3 liegen ! ;)

folglich führt ein Einreißen von Windows 7 dazu, dass der MBR flöten geht.

Ist mir nicht ganz klar was du damit sagen willst ! ;)
Nun ist doch der MBR auf beiden Systemen !

Gruß :)
 
Anzeige
Oben