it-swarm.com.de

Wie kann ich den Windows 8 EFI Bootloader reparieren?

Ich habe vor einigen Tagen Windows 7 und Windows 8 im EFI-Modus auf einer Festplatte installiert. Heute wurde der Bootloader vermisst/beschädigt.

Ich habe derzeit das Windows 8-Installationsprogramm auf einem Flash-Laufwerk und habe versucht, den Bootloader mithilfe der Option "Automatische Reparatur" zu reparieren, aber es hat nichts getan. Die Option Starthilfe fehlt auch im Windows 8-Installationsprogramm.

Wie kann ich den EFI-Bootloader über die Eingabeaufforderung reparieren/neu erstellen?

BCDEDIT gibt die folgende Nachricht zurück:

The requested system device cannot be found.
123
Elmo

Ich habe viel Zeit damit verbracht, meinen Windows 8-PC nach dem Klonen auf eine neue SSD wieder zum Booten zu bringen und zusammenzufassen, wie ich endlich alles zum Laufen gebracht habe.

Erstens, Booten von einer UEFI-Windows 8-Wiederherstellungsdiskette (CD/DVD/USB) - Ich stellte fest, dass der automatische Wiederherstellungsprozess nicht die richtige Windows-Partition gefunden hat und dass er beim Hinzufügen zu den BCD-Einstellungen zuverlässig bootfähig ist z.B Mit BCDEDIT konnte ich die Windows-Partition finden und starten, aber sie hat sich geweigert, einen Kaltstart durchzuführen oder die Einstellungen nach einem zweiten Neustart oder Ausschalten nicht "beizubehalten".

Gehen Sie in die erweiterten Optionen und führen Sie die Eingabeaufforderung aus.

Geben Sie diskpart ein, um das DiskPart-Tool zu verwenden, um sicherzustellen, dass Sie über die richtigen Partitionen verfügen und Ihre EFI-Partition zu identifizieren. Der Schlüssel hierbei ist, dass Ihre EFI-Partition als FAT32 formatiert ist:

DISKPART> sel disk 0

Disk 0 is now the selected disk.

DISKPART> list vol

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     E                       DVD-ROM         0 B  No Media
  Volume 1     C                NTFS   Partition    195 GB  Healthy    Boot
  Volume 2         WINRE        NTFS   Partition    400 MB  Healthy    Hidden
  Volume 3                      FAT32  Partition    260 MB  Healthy    System

Weisen Sie dann der EFI-Partition einen Laufwerksbuchstaben zu:

DISKPART> sel vol 3

Volume 3 is the selected volume.

DISKPART> assign letter=b:

DiskPart successfully assigned the drive letter or mount point.

Beenden Sie das DiskPart-Tool, indem Sie exit eingeben und an der Eingabeaufforderung Folgendes ausführen:

cd /d b:\EFI\Microsoft\Boot\

bootrec /fixboot

Löschen Sie die BCD-Datei oder benennen Sie sie um:

ren BCD BCD.bak

Verwenden Sie bcdboot.exe, um den BCD-Speicher neu zu erstellen:

bcdboot c:\Windows /l en-gb /s b: /f ALL

Mit dem Parameter /f ALL werden die BIOS-Einstellungen einschließlich UEFI-Firmware/NVRAM aktualisiert. /l en-gb wird für das Gebietsschema UK/GB lokalisiert. Die Standardeinstellung für die Lokalisierung ist US-Englisch oder "en-US".

Starten Sie neu und drücken Sie die Daumen.

Das bereitete mir Kopfschmerzen. Ich war lange im Kreis. Zum Zeitpunkt des Schreibens gibt es nicht viele zuverlässige Informationen zur Behebung von UEFI/Windows 8.

[BEARBEITEN]

Um Hyper-V wieder zu aktivieren, musste ich nach dem Neustart auch Folgendes an einer Administrator-Eingabeaufforderung in Windows ausführen:

bcdedit /set {default} hypervisorlaunchtype Auto
bcdedit /set {default} nx OptIn
184
Alex

Die anderen Antworten sind hilfreich, aber das musste ich tun, um meine Probleme zu beheben.

Ich hatte eine 1.5 TB Festplatte mit Windows 7 installiert. Ich habe dann Windows 8 auf einer 150 GB SSD installiert, die ich gekauft habe. Die Festplatte 1.5 TB ist ausgefallen, und ich konnte ein Geräusch hören. Mein Computer wurde nicht mehr gestartet und meldete "Bitte Systemdatenträger einlegen". Ich dachte, dass der Bootloader fehlte, da er sich auf der Diskette 1.5 TB befunden haben muss. Es stellte sich heraus, dass das Problem darin bestand, dass die Anleitungen, denen ich folgte, den Bootloader oder wie auch immer es hieß, nicht neu erstellten, da ich keine EFI-Partition auf der kleineren 150-GB-Festplatte hatte (diese möglicherweise auf der ausgefallenen Festplatte vorhanden war) hatte nur 1 Partition, die die gesamte Festplatte füllte.

Ich wollte nicht alle meine Daten verlieren, also gab ich die Eingabeaufforderung ein, indem ich von meinem Windows 8-Installations-USB-Laufwerk aus bootete. In diesem Fall können Sie die UEFI-Version nicht booten Davor erscheinende UEFI).

Sobald Sie in der Eingabeaufforderung sind (Anweisungen finden Sie in den anderen Antworten), müssen Sie die Partition verkleinern. Geben Sie dazu die folgenden Befehle ein und drücken Sie Enter nach jedem:

diskpart

list disk

select disk 0

list partition

select partition 1

shrink desired=200 minimum=200

create partition efi

list partition

select partition 2

format fs=fat32

Diese Befehle erstellen die EFI-Partition. Überprüfen Sie alles, indem Sie list vol eingeben. Sie sollten eine 200-MB-Partition sehen. Sie müssen ihm jetzt einen Buchstaben zuweisen. Geben Sie dazu assign und dann list vol ein, um den zugewiesenen Buchstaben anzuzeigen.

Nun müssen Sie die Boot-Dateien auf diese neu erstellte Partition kopieren:

bcdboot C:\Windows /l en-gb /s B: /f ALL

Hinweis: Sie müssen C: durch den Laufwerksbuchstaben der Partition ersetzen, die Windows enthält, und B: durch den Buchstaben, der der soeben erstellten EFI-Partition zugewiesen wurde.

Ich habe auch die folgenden Befehle eingegeben:

bootrec /fix

bootrec /fixmbr

Beide kamen erfolgreich zurück, keine Ahnung, ob sie wirklich etwas anderes taten, als wen interessiert das? Windows ist jetzt vollständig wiederhergestellt.

21
Paul

Okay, ich hatte Zeit, mir hier einen richtigen Überblick zu verschaffen. Es ist lang, aber es ist ziemlich vollständig und sollte Ihnen helfen, zu sehen, was los ist.

Erstens kann dies auf eine Weise geschehen:

  1. Ihr BIOS verliert seine Einstellungen.
  2. Kein Problem, all das Zeug ist in der EFI-Partition gespeichert.
  3. ... mit Ausnahme der Einstellung SATA IDE vs AHCI aus offensichtlichen Gründen.
  4. Haben Sie SATA-AHCI verwendet? Sie verwenden jetzt wahrscheinlich SATA-IDE.
  5. Haben Sie versucht zu booten, bevor Sie das herausgefunden haben?
  6. Wenn Sie es getan haben, ist es fehlgeschlagen. Haben Sie Windows versuchen lassen, das Problem zu beheben?
  7. Wenn Sie dies getan haben, BLAM, hat dies möglicherweise die Startkonfigurationsdatenbank zerstört.
  8. Stellen Sie sicher, dass Sie die richtige SATA-Einstellung verwenden, die Sie zuletzt verwendet haben.

Folgendes haben Sie wahrscheinlich bereits getan. WENN EINES DIESES NICHT ZUSAMMENPASST, BEURTEILEN SIE SORGFÄLTIG, OB DIESES IS IHR PROBLEM FAKTUALISIERT.

  1. Sie haben den ganzen Mist über das Reparieren des Master Boot Record (MBR), der Partitionstabelle, der Partitionsflags und anderen Mülls, der für ein EFI-Boot-Szenario NICHT zutrifft, HOFFNUNGSLOS ignoriert. AT ALL . Im besten Fall können Sie eine neue, unabhängige , NON-EFI-Boot-Lösung vollständig neu erstellen. Das mag jedoch nicht trivial sein, weil:

  2. Sie haben herausgefunden, dass Windows sicher ist, dass es keine Startkonfigurationsdatenbank hat, aber es ist leider entweder völlig ahnungslos oder SEHR sicher, wohin es geht - Sie können nicht genau sagen, welche.

  3. Ihnen ist bekannt, dass der Startspeicher normalerweise (irgendwo)\Boot\BCD ist und dass die Datei VERSTECKT ist. Zeigen Sie es mit "dir/a: hs" an.

  4. Sie haben sich ein wenig mit BCDEDIT.EXE vertraut gemacht und herausgefunden, dass Sie damit eine Boot-Konfigurationsdatenbank in einer Staging-Datei mit "/ CREATESTORE" "nachahmen" können (und nennen Sie sie bitte nicht "BCD") Sie können die Staging-Datei explizit mit der Option "/ STORE" verwenden, indem Sie mit "/ CREATE {bootmgr}" einen Menüeintrag für den Windows-Boot-Manager hinzufügen und mit "/ IMPORT" importieren. ...

  5. ... aber wenn Sie versuchen, dies zu tun, können Sie nicht. Sie untersuchen die/SYSSTORE-Option, die sich richtig anhört, aber Sie können sie nicht dazu bringen, einen anderen Speicher zu verwenden, da sie "mehrdeutig" ist. Sie ahnen, dass es weiß, wo das Geschäft ist - oder sein sollte -, aber Sie können es nicht finden.

  6. Sie haben versucht, "MOUNTVOL" zum Mounten der EFI-Partition zu verwenden, diese wird jedoch nicht einmal in der Liste angezeigt, sodass dies nicht möglich ist.

Wenn ALLES ziemlich genau auf Sie zutrifft, könnte Folgendes passieren:

  1. Windows kann Ihnen mitteilen, dass Sie für EFI eingerichtet sind (Sie haben die DVD über einen UEFI-Start gestartet, Sie haben eine EFI-Partition usw.).

  2. Es weiß daher, wo nach der BCD-Datei gesucht werden muss - es hat jedoch entweder den falschen Speicherort (nicht dieses Problem, aber ähnlich) oder die BCD wurde gelöscht.

  3. Anscheinend, weil es weiß, wo es sein SOLLTE, bricht dies/SYSSTORE-- und tatsächlich ist das wahrscheinlich korrektes Verhalten, weil Sie es sonst an die falsche Stelle setzen würden.

  4. Soweit ich das beurteilen kann, versteckt MOUNTVOL die EFI-Partition absichtlich (oder ist irgendwie unfähig, sie zu bemerken). Dies verhindert das Mounten des Dateisystems, wodurch das Finden des richtigen Unterverzeichnisses, das Überprüfen der Existenz der Datenbank usw. verhindert wird.

Also hier ist endlich, was Sie dagegen tun müssen. Die gute Nachricht ist, dass es wahrscheinlich viel einfacher ist, als Sie jetzt hoffen.

  1. Sie müssen in der Tat die EFI-Partition mounten.

Eigentlich habe ich eine Vermutung, die nicht streng korrekt - ist. Ich vermute stark, dass die EFI-Partition bereits von einem internen Subsystem gemountet ist, weshalb BCDEDIT verärgert wird - tut es nicht siehe die Datenbank, aber es weiß, wohin es gehen soll. Was es jedoch nicht hat, ist ein Laufwerksbuchstabe. Also, was tun?

Nun ... wie weit gehen Ihre DOS-Wurzeln zurück? Erinnerst du dich an den ASSIGN-Befehl? Erraten Sie, was.

  1. Starten Sie DISKPART.

  2. Wenn Sie mit DISKPART nicht vertraut sind, funktioniert es im Grunde genommen in einer Hierarchie von Mengen. Sie müssen genau ein Element auf einer Ebene auswählen, um mit dem nächsten fortzufahren. Also "LIST DISKS" und dann "SELECT DISK n", wobei n das ist, was auch immer für Sie geeignet ist.

  3. Verwenden Sie "LIST PARTITION" und "LIST VOLUME" (Anmerkung ohne Plural), um einen Einblick zu erhalten und Ihre EFI-Partition zu identifizieren.

In der Regel handelt es sich um eine 100-MB-FAT32-Partition mit der Bezeichnung "SYSTEM". Denken Sie daran, dass Ihre Festplatte inzwischen eine GPT-Partitionstabelle verwenden sollte, sodass möglicherweise einige Partitionen angezeigt werden. Einige davon sind für die Notfallwiederherstellung gedacht - eine Menge Gutes, das sie für EFI-Probleme tun, oder? Naja.

Beachten Sie, dass die EFI-Partition und einige andere keine Laufwerksbuchstaben haben. Wenn Sie dazu geneigt sind, können Sie auch die GPT-Partitionsattribute anzeigen, die Ihnen möglicherweise auch einige tangentiale "Aha" -Momente bieten.

  1. "SELECT PARTITION n" wobei n die EFI-Partition ist. (Ich gehe davon aus, dass Sie stattdessen die Lautstärke auswählen können, wenn Sie möchten.)

  2. "ZUORDNEN". Das ist es. Geben Sie keinen Laufwerksbuchstaben an. nur "ASSIGN".

  3. "LIST VOLUME". Sie sollten nun einen Laufwerksbuchstaben sehen, der der EFI-Partition zugewiesen ist.

  4. DISKPART "EXIT".

Und jetzt ... eine große dicke Warnung. Sie werden wahrscheinlich direkt zu S: (oder was auch immer Sie von ASSIGN bekommen haben) gehen und eine/Boot-Partition bemerken. "AHA!" Du wirst sagen. "Hier gibt es keine BCD-Datei!" Erstens ... denke daran, dass die Datei versteckt ist. Zweitens ... Stöbern Sie ein bisschen weiter und Sie werden bemerken, dass es noch Folgendes gibt:

S:\EFI\Boot

es gibt auch:

S:\EFI\Microsoft\Boot

Sie müssen beide auf Probleme überprüfen.

S:\EFI\Boot ist für das Motherboard und enthält den Windows-BootLOADER(und möglicherweise andere Dinge für andere Betriebssysteme). Dies hat diesen Namen, weil das Motherboard keine Ahnung hat, ob Sie Windows haben oder nicht, und einen festen Pfad benötigt, der Sinn macht.

  1. Untersuchen Sie S:\EFI\Boot. Für Windows 7 Professional 64-Bit sollte Folgendes angezeigt werden:

bootx64.efi

Wenn Sie eine EFI-Shell installiert haben (immer eine gute Idee), wird möglicherweise zusätzlich "shellx64.efi" angezeigt.

HINWEIS: Dual-Boot-Linux-Benutzer, die "chainloader + 1" verwenden, sehen hier KEINEN zusätzlichen Eintrag.

  1. Untersuchen Sie S:\EFI\Microsoft\Boot mit both "dir" und "dir a: h". Unter Windows 7 Professional (64-Bit) sollten eine Reihe von Sprachvorlagen ("en_US" usw.) und die folgenden Dateien angezeigt werden:

bootmgr.efi bootmgfw.efi memtest.efi BCD BCD.Backup.001 BCD.Backup.002

... mit der Ausnahme, dass Sie BCD wahrscheinlich nicht sehen, oder? Aber diese Backup-Dateien sehen auf jeden Fall verlockend aus.

  1. Bestimmen Sie, welche Sicherungsdatei Sie verwenden möchten. Was auch immer an den letzten Änderungen fehlt, diese sind bei weitem nicht so wichtig wie Ihre Fähigkeit, das System zu booten. Entscheiden Sie sich also für die am besten intakte. Wahrscheinlich werden Sie einen großen und einen ziemlich kleinen sehen. Der kleine ist bereits beschädigt und ist ein Artefakt des fehlgeschlagenen Reparaturprozesses - verwenden Sie ihn nicht. Wenn beide groß sind, verwenden Sie die ältere. Machen Sie IN JEDEM FALL ZUSÄTZLICHE SICHERUNGSKOPIEN DER SICHERUNGSKOPIEN woanders.

  2. Kopieren Sie das Backup, für das Sie sich entschieden haben, auf "BCD".

  3. Beenden Sie die Shell, fahren Sie sie sauber herunter und starten Sie sie neu.

  4. Weisen Sie Windows an, NORMAL zu starten. An diesem Punkt sollte es beginnen.

F: Was ist, wenn Sie kein Backup-BCD haben?

A: Nun, das wirklich sollte nicht passieren. Dies bedeutet wahrscheinlich, dass Sie sich entweder im falschen Verzeichnis befinden, EFI unterstützen, es aber nicht tatsächlich verwenden, oder dass Sie Ihre gesamte EFI-Partition ohne alle erforderlichen Windows-Materialien neu erstellt haben (dies ist insbesondere bei Verwendung mehrerer Windows-Versionen möglich). In diesem Fall müssen Sie die EFI-Materialien von der DVD kopieren und dann die Startkonfigurationsdatenbank mit BCDEDIT ändern oder neu erstellen.

F: Können Sie mir ein Beispiel für ein Szenario geben, in dem "BCDEDIT/SYSSTORE" verwendet werden kann, um auf einem EFI-System überhaupt etwas zu tun?

A: Bisher nein.

Hoffe auf jeden Fall, dass dies dazu beiträgt, einige Probleme für die Menschen zu lösen oder sie zumindest zum Nachdenken zu bewegen. Als sehr wichtiger letzter Punkt ist zu beachten, dass Sie Ihre EFI-Partition unter Windows normalerweise mit der oben beschriebenen DISKPART ASSIGN-Technik mounten und untersuchen können. Sie sollten dies mindestens einmal tun, um eine vollständige Sicherung Ihrer EFI-Partition zu erhalten,BEVORSie auf solche Probleme stoßen. Ich empfehle ein Backup in ein Unterverzeichnis auf Ihrem C: -Laufwerk und eines auf einem USB-Flash-Laufwerk.

Sorry das ist so umständlich. Ich muss dies irgendwann in einen richtigen Artikel verwandeln, aber es gibt so viele Menschen, die SO frustriert sind, dass ich das Bedürfnis verspürte, meine Erfahrung so vollständig und schnell wie möglich zu dokumentieren.

Prost, Matt "Breakpoint" Heck

9
Matt Heck

Windows 8 ist noch nicht in endgültiger Form verfügbar, daher sind Probleme zu erwarten. Sie befinden sich in einem Bereich, der für die meisten von uns neu ist und in dem die von uns verwendeten Befehle möglicherweise nicht mehr funktionieren. Zu den von @soandos aufgelisteten Befehlen füge ich diesen hinzu, der die BCD komplett neu erstellt:

bootrec /rebuildbcd

Versuchen Sie auch, das erweiterte Startmenü unter Windows 8 zu verwenden, und teilen Sie uns mit, was passiert.

Wenn nichts funktioniert, enthält der Artikel Reparieren von Windows 7, wenn das Booten fehlschlägt einige Hinweise zur Verwendung von bcdedit , um Bootfehler zu beheben. Es wäre auf jeden Fall interessant zu sehen, was die Ausgabe von bcdedit auf Ihrem Computer ist.

[BEARBEITEN]

Diese Links könnten einige hilfreiche Ideen enthalten:

Wiederherstellen des Windows-Bootloaders von der DVD
Windows 7 Boot Manager Wiederherstellungsproblem
Windows 7 bootet plötzlich nicht mehr - Reparieren des Windows 7-Bootloaders

5
harrymc

Der einfachste Weg:

  • Befolgen Sie die Schritte aus dem obigen Beitrag, um die BCD-Datei zu finden und in ihr Verzeichnis zu wechseln.

  • Wenn die BCD-Datei ausgeblendet ist, geben Sie attrib bcd -s -h -r ein und drücken Sie Enter. Auf diese Weise können Sie die Datei ändern und überschreiben.

  • Geben Sie ren bcd bcd.old ein und drücken Sie Enter. Dies benennt die aktuelle BCD-Datei um.

  • Geben Sie Bootrec /RebuildBCD ein und drücken Sie Enter Windows 8 zu zwingen, das Startmenü von Grund auf neu zu erstellen.

  • Beenden Sie die Eingabeaufforderung und fahren Sie den Computer herunter. Entfernen Sie das Windows-Wiederherstellungsmedium und starten Sie es neu. Sie sind fertig!

3
Rodolfo Philipp

Unter DISKPART hatte ich nur Vol. 0 oder D (die DVD) und Vol. 1 oder C (die Windows NTFS-Partition). Nichts hat für mich funktioniert, bis ich Band 1 AKTIV gemacht habe.

Nach dem Verlassen von DISKPART habe ich nur Folgendes eingegeben:

bootrec /fixboot
bootrec /rebuildbcd

dann wurde das System ordnungsgemäß repariert. Ich habe es nicht benutzt

bootrec /fixmbr

weil ich GAG (gestor de arranque gràfico) auf MBR für Multiboot verwendet habe.

2
Halberdier

Nach 6 Stunden Schwierigkeiten konnte ich mein Windows 8-Boot-Problem beheben.

Heute habe ich nach einem normalen Neustart die Meldung MBR not found oder ähnliches bekommen, ich erinnere mich nicht mehr. Ich habe versucht, bootrec Befehle, Windows automatische Reparatur (es konnte kein installiertes Windows finden), eine Million andere Möglichkeiten und nichts.

Das Problem war, als ich bootrec /rebuildbcd ausführte, ging es normal, und als ich dann yes eingeben musste, um die Konfiguration zu speichern, bekam ich die Nachricht the file is not accessible because it is used by a another process.

Nach stundenlangen Gedanken habe ich es endlich gelöst.

In dieser Reihenfolge...

  • Zuerst habe ich den EasyUp-Partitionsmaster gebootet und das vom System reservierte Volume FORMIERT, das ich später als aktiv zugewiesen habe (in dem sich mein Boot-Ordner befand). Beim Neustart wurde ein Fehler NTLDR missing angezeigt.

  • Dann habe ich in Windows Recovery gebootet, eine Eingabeaufforderung geöffnet und bootrec /fixmbr, /fixboot, /scanos, /rebuildbcd eingegeben (was jetzt gut funktioniert hat:])

  • Ich habe cmd beendet und auf automatische Reparatur geklickt.

  • Dann konnte ich Windows 8 auswählen. Beim Neustart wurde das Windows 8-Logo angezeigt.

1
Roko

Mein Szenario; Ich habe die EFI-Systempartition nicht verloren, aber das Wechseln der Laufwerke und das Installieren von Windows scheinen den UEFI-Starteintrag des Windows-Start-Managers für das erste Laufwerk durcheinander gebracht zu haben. musste den UEFI-Eintrag verwenden, der direkt auf das Laufwerk zeigt, um zu booten. Ich glaube, ich habe es durch Korrigieren/Hinzufügen der Einstellung "Gerätepartition =\Gerät\FestplattenvolumenX" behoben (X = 2 in meinem Fall; meine zweite Partition ist die EFI-Systempartition, die Z zugeordnet ist: mit diskpart.exe):

Bcdedit/set {bootmgr} Gerätepartition = Z:

ansicht mit: bcdedit.exe/enum Firmware

0
James Risto