2012-08-12 18:06:22 +0000 2012-08-12 18:06:22 +0000
123
123

Hoe kan ik de Windows 8 EFI Bootloader repareren?

Ik heb enkele dagen geleden Windows 7 en Windows 8 in EFI-modus op een harde schijf geïnstalleerd. Vandaag heeft de bootloader gemist/gebroken.

Ik heb op dit moment de Windows 8 installer op een flash drive en heb geprobeerd om de bootloader te repareren met behulp van de Automatic Repair optie, maar het heeft niets gedaan. De Startup Repair optie ontbreekt ook in het Windows 8 installatieprogramma.

Hoe kan ik de EFI bootloader repareren/recreëren van de Command Prompt?

BCDEDIT geeft het volgende bericht terug:

The requested system device cannot be found.

Antwoorden (10)

182
182
182
2012-11-12 00:27:03 +0000

Ik heb veel tijd besteed aan het proberen om mijn Windows 8 PC weer op te starten na het klonen naar een nieuwe SSD en proberen samen te vatten hoe ik het uiteindelijk allemaal werkend heb gekregen -

Ten eerste, opstarten vanaf een UEFI Windows 8 recovery disk (CD/DVD/USB) - Ik vond dat het geautomatiseerde herstelproces niet de juiste Windows-partitie vond, noch toen ik erin slaagde om het toe te voegen aan de BCD-instellingen zou het betrouwbaar bootable e maken. g. met behulp van BCDEDIT kreeg ik het om de Windows-partitie te vinden en te starten, maar het weigerde om koud op te starten of zou de instellingen niet “houden” na een 2e herstart of het uitschakelen.

Ga naar de Geavanceerde opties en voer de Command Prompt uit.

Voer diskpart in om het hulpprogramma DiskPart te gebruiken om er zeker van te zijn dat u alle juiste partities heeft en om uw EFI-partitie te identificeren - het belangrijkste hier is dat uw EFI-partitie is geformatteerd als FAT32:

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

wijs dan een stationsletter toe aan de EFI-partitie:

DISKPART> sel vol 3

Volume 3 is the selected volume.

DISKPART> assign letter=b:

DiskPart successfully assigned the drive letter or mount point.

Exit DiskPart tool door exit in te voeren en op de commando prompt het volgende uit te voeren:

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

bootrec /fixboot

Verwijder of hernoem het BCD-bestand:

ren BCD BCD.bak

Gebruik bcdboot.exe om BCD-opslag opnieuw te maken:

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

De parameter /f ALL werkt de BIOS-instellingen bij, inclusief UEFI-firmware/NVRAM, /l en-gb is om te lokaliseren voor de UK/GB-locatie. De lokalisatie is standaard ingesteld op US English, of gebruik en-US.

Herstart en kruis je vingers.

Dit gaf me hoofdpijn. Ik ging een lange tijd in cirkels. Er is niet veel betrouwbare informatie over het repareren van UEFI/Windows 8 op het moment van schrijven.

[EDIT]

Om Hyper-V opnieuw in te schakelen, moest ik ook het volgende uitvoeren vanuit een Administrator Command Prompt binnen Windows na het herstarten:

bcdedit /set {default} hypervisorlaunchtype Auto
bcdedit /set {default} nx OptIn
22
22
22
2012-12-12 06:01:57 +0000

De andere antwoorden zijn nuttig, maar dit is wat ik moest doen om de mijne te repareren.

Ik had een 1,5 TB harde schijf met Windows 7 erop geïnstalleerd. Vervolgens heb ik Windows 8 geïnstalleerd op een 150 GB SSD die ik heb gekocht. De 1.5 TB harde schijf viel uit en ik kon het geluid horen maken, mijn computer wilde niet meer starten en zei “please insert system disk”. Ik dacht dat de bootloader ontbrak, want die moet op de 1,5 TB schijf hebben gestaan. Het blijkt dat het was, maar het probleem was toen dat de gidsen die ik volgde de bootloader of hoe het ook heet niet zou herbouwen omdat ik geen EFI-partitie had op de kleinere 150 GB schijf (dit kan hebben bestaan op de mislukte schijf), het had slechts 1 partitie die de hele schijf vulde.

Ik wilde niet al mijn gegevens verliezen dus heb ik de Command Prompt ingevoerd door te booten vanaf mijn Windows 8 installatie USB-stick (merk op dat u de UEFI-versie hiervan niet kunt booten als dat verschijnt, selecteer dan om te booten vanaf alleen de USB-stick zonder dat het UEFI ervoor verschijnt).

Eenmaal in Command Prompt (zie de andere antwoorden voor instructies) moet u de partitie krimpen. Om dit te doen voert u de volgende commando’s in en drukt u op Enter na elk commando:

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

Deze commando’s maken de EFI-partitie aan. Controleer alles dubbel door list vol te typen. U zou een 200 MB partitie moeten zien. U moet deze nu een letter toewijzen. Doe dit door assign te typen, dan list vol opnieuw om te zien welke letter is toegewezen.

Nu dit is gedaan moet u de opstartbestanden kopiëren naar deze nieuw aangemaakte partitie:

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

Aanwijzing: u moet C: vervangen door de schijfletter van de partitie die Windows bevat, en B: door de letter die is toegewezen aan de EFI-partitie die u net hebt gemaakt.

Ik heb ook de volgende commando’s ingevoerd:

bootrec /fix

bootrec /fixmbr

Deze kwamen allebei succesvol terug, geen idee of ze echt iets gedaan hebben, maar wie kan het wat schelen. Windows is nu volledig hersteld.

9
9
9
2012-11-28 03:14:27 +0000

Oké, ik heb tijd gehad om een goede schets te maken. Het is lang, maar het is vrij compleet en zou je moeten helpen om te zien wat er aan de hand is.

Ten eerste, een manier waarop dit kan gebeuren:

  1. Je BIOS verliest zijn instellingen.
  2. Geen probleem, al dat spul is opgeslagen in de EFI partitie.
  3. …behalve de SATA IDE vs AHCI instelling, om voor de hand liggende redenen.
  4. Gebruikte je SATA-AHCI? Je gebruikt nu waarschijnlijk SATA-IDE.
  5. Heb je geprobeerd op te starten voordat je dat bedacht had?
  6. Als je dat deed, is het mislukt. Heb je Windows het laten repareren?
  7. Als je dat hebt gedaan, BLAM, kan het heel goed de Boot Configuratie Database hebben vernietigd.
  8. Zorg ervoor dat u de juiste SATA-instelling gebruikt die u de vorige keer gebruikte.

Dit is wat u waarschijnlijk al gedaan hebt. ALS EEN VAN DEZE NIET MATCH, ZOALS UW PROBLEEM VOORKOMT en dit voor ideeën doorleest, maar het niet volgt zonder er eerst over na te denken.

  1. 1. Je hebt HOOFDELIJK alle onzin over het repareren van de Master Boot Record (MBR), partitietabel, partitievlaggen en andere rotzooi die NIET van toepassing is op een EFI bootscenario genegeerd. AT ALL. In het beste geval zou u in staat zijn om een nieuwe, niet-gerelateerde, NIET-EFI opstart-oplossing volledig opnieuw op te bouwen. Dat is echter misschien niet onbelangrijk, want:
  2. U hebt ontdekt dat Windows zeker is dat het geen Boot Configuratie Database heeft, maar het is, helaas, ofwel volledig clueless ofwel ZEER zeker over waar het heen gaat– u kunt niet helemaal zeggen welke.
  3. U weet dat de opstartwinkel normaal gesproken (somewhere)\Boot\BCD is en dat het bestand HIDDEN is; bekijk het met dir /a:hs.
  4. 4. U heeft zich een beetje vertrouwd gemaakt met BCDedit.exe en bent erachter gekomen dat het u een Boot Configuratie Database in een staging bestand met /CreateStore laat “mock up” (en noem het alstublieft niet “BCD”), dat u het staging bestand expliciet kunt gebruiken met de /Store optie, dat u een menu-item kunt toevoegen voor de Windows Boot Manager met /Create {bootmgr}, en dat u het MOET kunnen importeren met /Import
  5. …maar wanneer u dit probeert te doen, kunt u dat niet. Je kijkt naar de /SysStore optie, wat goed klinkt, maar je kan het niet krijgen om een andere winkel te gebruiken omdat het “dubbelzinnig” is. Je hebt een voorgevoel dat het weet waar de winkel is– of zou moeten zijn– maar je kunt het niet vinden.
  6. Je hebt geprobeerd om MountVol te gebruiken om de EFI partitie te mounten, maar het staat niet eens in de lijst, dus je kunt het niet.

Als dat allemaal vrij dicht bij je van toepassing is, dan is hier wat er aan de hand is:

  1. Windows kan je vertellen dat je bent ingesteld voor EFI (je hebt de DVD opgestart via een UEFI boot, je hebt een EFI partitie, enz. Het weet dus WHERE TO LOOK voor het BCD-bestand - maar het heeft of op een of andere manier de locatie verkeerd (niet dit probleem, maar vergelijkbaar) of de BCD is verwijderd.
  2. Blijkbaar, omdat het weet waar het MOET zijn, breekt dit /SysStore– en eigenlijk is dat waarschijnlijk correct gedrag, want anders zou je het op de verkeerde plaats zetten.
  3. Voor zover ik kan zien, verbergt MountVol opzettelijk de EFI partitie (of is het op de een of andere manier niet in staat om het op te merken). Dit voorkomt het mounten van het bestandssysteem, wat het vinden van de juiste subdirectory voorkomt, het controleren van het bestaan van de database, etc.

is dus eindelijk wat je er aan moet doen. Het goede nieuws is dat het waarschijnlijk een stuk eenvoudiger is dan je nu hoopt.

  1. Je moet inderdaad de EFI partitie monteren.

Eigenlijk heb ik een voorgevoel dat niet strikt correct is– Ik heb sterk het vermoeden dat de EFI partitie already gemonteerd is door een of ander intern subsysteem, wat de reden is waarom BCDedit chagrijnig wordt– het ziet de database niet, maar het weet wel waar het naartoe moet. Wat het echter niet heeft, is een stationsletter. Dus– wat te doen?

Nou…hoe ver gaan je DOS-wortels terug? Herinner je je het Assign commando? Raad eens. 2. Start DiskPart. 3. Als je niet bekend bent met DiskPart, is de manier waarop het in principe werkt een hiërarchie van sets; je moet precies het ene element op het ene niveau selecteren om door te gaan naar het volgende. Dus, List Disk, en dan Select Disk n waar n is wat voor jou geschikt is. 4. Gebruik List Partition en List Volume (let op: niet-plural) om wat inzicht te krijgen en uw EFI-partitie te identificeren.

Het is meestal een 100MB FAT32-partitie die gemarkeerd is met System. Houd er rekening mee dat uw schijf nu al een GPT-partitietabel zou moeten gebruiken, zodat u misschien nogal wat partities ziet. Sommige van deze zijn voor noodherstel– veel goeds doen ze voor EFI problemen, eh? Ach ja.

Merk op dat de EFI-partitie, en een paar andere, geen schijfletters hebben. Als u zo geneigd bent, kunt u ook de GPT-partitie-attributen bekijken, die u misschien ook een paar tangentieel gerelateerde “Aha”-momenten geven. 5. Select Partition n waar n de EFI-partitie is. (Ik verwacht dat u in plaats daarvan het volume kunt selecteren als dat nodig is) 6. Assign. Dat is het. Geef geen stationsletter op; alleen Assign. 7. List Volume. Je zou nu een driveletter moeten zien die is toegewezen aan de EFI partitie. 8. Exit DiskPart.

En nu… een grote vette waarschuwing. Je zult waarschijnlijk ga direct naar S: (of wat je ook van Assign hebt gekregen) en merk een Boot partitie op. “AHA!” Je zult zeggen. “Er is hier geen BCD bestand!” Ten eerste… vergeet niet dat het bestand verborgen is. Ten tweede… graaf wat meer rond, en u zult merken dat terwijl er S:\EFI\Boot en ook S:\EFI\Microsoft\Boot

is, u beide moet controleren op problemen.S:\EFI\Boot is voor het motherboard, en bevat de Windows Boot LOADER (en mogelijk andere dingen voor andere besturingssystemen). Dit heeft deze naam omdat het moederbord geen idee heeft of je Windows gaat hebben of niet, en een vast pad nodig hebt dat zinvol is. 9. 9. Inspecteer S:\EFI\Boot. Voor Windows 7 Professional, 64-bit, zou je moeten zien: bootx64.efi Als je een EFI-shell hebt geïnstalleerd (altijd een goed idee), zie je misschien ook shellx64.efi.

OPMERKING: Dual-boot Linux gebruikers die chainloader+1 gebruiken zullen hier GEEN extra vermelding zien. 10. Inspect S:\EFI\Microsoft\Boot met both dir en dir a:h. Voor Windows 7 Professional, 64-bit, zou je een hoop taalsjablonen (en_US, etc.) moeten zien en de volgende bestanden: bootmgr.efi bootmgfw.efi memtest.efi BCD BCD.Backup.001 BCD.Backup.002 …behalve dat je BCD waarschijnlijk niet ziet, of wel? Maar die back-up bestanden zien er zeker verleidelijk uit. 11. 11. Bepaal welk back-upbestand je wilt gebruiken. Welke recente veranderingen het ook mist, het is lang niet zo belangrijk als je vermogen om het systeem op te starten, dus ga voor degene die het meest intact is. Waarschijnlijk zie je een grote en een vrij kleine. De kleine is al corrupt, en is een artefact van het mislukte reparatieproces– gebruik het niet. Als ze allebei groot zijn, gebruik dan de oudere. Maak in elk geval ergens anders ADDITIONAL BACKUP COPIES OF THE BACKUPS. 12. Kopieer de backup die je hebt besloten te gebruiken naar BCD. 13. Verlaat de shell, sluit netjes af en herstart. 14. 14. Vertel Windows om NORMALLY te starten. Op dit punt zou het moeten starten.

V: Wat als je geen backup BCD hebt?

A: Wel, dat zou echt niet moeten gebeuren. Het betekent waarschijnlijk dat u ofwel in de verkeerde map zit, EFI ondersteunt maar het niet echt gebruikt, ofwel op de een of andere manier uw hele EFI-partitie opnieuw bouwt zonder al het benodigde Windows-materiaal (mogelijk, vooral wanneer u meerdere versies van Windows gebruikt). In dat geval moet u het EFI-materiaal van de DVD kopiëren en vervolgens de opstartconfiguratiedatabase wijzigen of opnieuw opbouwen met behulp van BCDedit.

V: Kunt u mij een voorbeeld geven van een scenario waarin BCDedit /SysStore kan worden gebruikt om überhaupt iets te doen op een EFI-systeem?

A: Tot nu toe, nee.

Hoe dan ook, ik hoop dat dit helpt bij het oplossen van een aantal problemen voor mensen, of ze op zijn minst aan het denken zet. Als een zeer belangrijk laatste punt, houd er rekening mee dat u uw EFI-partitie onder Windows normaal gesproken kunt mounten en inspecteren met behulp van de DiskPart: Assign techniek hierboven. U moet dit minstens één keer doen, om een volledige back-up van uw EFI-partitie te krijgen, Voordat u dit soort problemen tegenkomt. Ik raad aan een backup te maken in een subdirectory op uw C:-schijf, en een op een USB-stick.

Sorry dat het zo lang duurt. Ik moet hier op een gegeven moment een goed artikel van maken, maar er zijn zoveel mensen die zo gefrustreerd zijn dat ik de behoefte voelde om mijn ervaring zo volledig en snel mogelijk te documenteren.

5
5
5
2012-08-25 20:45:34 +0000

Windows 8 is nog steeds niet uit in definitieve vorm, dus problemen zijn te verwachten. U bevindt zich in een gebied dat voor de meesten van ons nieuw is, waar de commando’s die we vroeger gebruikten misschien niet meer werken. Aan de commando’s die door @soandos worden vermeld, voeg ik deze toe die de BCD volledig herbouwt :

bootrec /rebuildbcd

Probeer ook het Geavanceerde opstartmenu van Windows 8 te gebruiken en laat ons weten wat er gebeurt.

Als niets werkt, heeft het artikel Repareren van Windows 7 als ze niet opstarten heeft enig advies over het gebruik van bcdedit om opstartfouten te corrigeren. Het zou in ieder geval interessant zijn om te zien wat de uitvoer van bcdedit op uw computer is.

[EDIT]

Deze links kunnen enkele nuttige ideeën bevatten : Herstellen van de Windows Bootloader van de DVD Windows 7 Bootmanager Herstelprobleem Windows 7 Bootloader plotseling niet opstarten - Herstellen van de Windows 7 Bootloader

3
3
3
2012-11-29 01:17:10 +0000

De eenvoudigste manier:

  • Volg de stappen van het bovenstaande bericht om het BCD-bestand te lokaliseren en ga naar de directory.

  • Als het BCD-bestand verborgen is, typ dan attrib bcd -s -h -r in en druk op Enter. Hierdoor kunt u het bestand wijzigen en overschrijven.

  • Type ren bcd bcd.old en druk op Enter. Dit hernoemt het huidige BCD-bestand.

  • Type Bootrec /RebuildBCD en druk op Enter om Windows 8 te dwingen het opstartmenu opnieuw op te bouwen.

  • Exit commandoprompt en afsluiten. Verwijder Windows herstelmedia en herstart. U bent klaar!

2
2
2
2013-02-06 11:50:32 +0000

Onder DISKPART had ik alleen vol 0 of D (de DVD) en vol 1 of C (de Windows NTFS partitie). Niets werkte voor mij totdat ik vol 1 ACTIVE.

maakte. Na het verlaten van DISKPART typte ik alleen:

bootrec /fixboot
bootrec /rebuildbcd

toen het systeem goed gerepareerd was. Ik heb

bootrec /fixmbr

niet gebruikt omdat ik GAG (gestor de arranque gràfico) op MBR gebruikte voor multiboot.

1
1
1
2012-12-05 14:29:49 +0000

Na 6 uur worstelen is het me gelukt om mijn Windows 8 opstartprobleem op te lossen.

Vandaag, na een gebruikelijke herstart, kreeg ik het bericht MBR not found of iets dergelijks, ik herinner me het niet meer. Ik probeerde bootrec commando’s, Windows automatische reparatie (het kon geen geïnstalleerd Windows vinden), een miljoen andere manieren en niets.

Het probleem was dat toen ik bootrec /rebuildbcd uitvoerde het normaal ging, en toen ik yes moest invoeren als ik de configuratie wilde opslaan, kreeg ik het bericht, the file is not accessible because it is used by a another process.

Na urenlang kraken heb ik het eindelijk opgelost.

In deze volgorde…

  • Eerst heb ik de easeup partitie master opgestart en het systeem gereserveerde volume dat ik later als actief heb toegewezen (waarin mijn opstartmap zich bevond) FORMATEREN. Toen ik herstartte kreeg ik een fout NTLDR missing.

  • Toen bootte ik in Windows herstel, opende een commando prompt en voerde bootrec /fixmbr, /fixboot, /scanos, /rebuildbcd (die nu goed uitgevoerd wordt :] )

  • Ik verliet cmd en klikte op automatische reparatie.

  • Toen kon ik Windows 8 selecteren. Toen ik herstartte, kon ik het Windows 8 logo zien.

0
0
0
2015-12-19 14:57:30 +0000

Mijn scenario; ik ben de EFI-systeempartitie niet kwijtgeraakt, maar het verwisselen van schijven en het installeren van Windows lijkt de Windows Boot Manager UEFI-opstartregel voor de eerste schijf te hebben verknoeid; ik moest de UEFI-regel gebruiken die direct naar de schijf wijst om op te starten. Ik denk dat ik het heb gerepareerd door de “device partition=\DeviceHarddiskVolumeX” instelling te corrigeren/toe te voegen (X=2 in mijn geval; mijn 2e partitie is de EFI systeem partitie, gemapt naar Z: met diskpart.exe):

Bcdedit /set {bootmgr} device partition=Z:

view met: bcdedit.exe /enum firmware

-1
-1
-1
2012-08-13 00:06:38 +0000

Gebruik:bootrec /fixmbr (werkt de MBR bij, doet in dit geval waarschijnlijk niets, maar doet ook geen pijn)

bootrec /fixboot om de bootsector van de systeempartitie te herschrijven.

bootrec /scanos om te scannen naar de OS’s die op de schijf staan en ze toe te voegen aan de bootloader.

Voer de commando’s gewoon in volgorde uit.

-4
-4
-4
2012-08-25 20:41:13 +0000

Ik heb het voor elkaar gekregen om het te repareren met het volgende commando in de herstelconsole:

bootcfg C:\Windows /l en-us