Problema durante la ricostruzione di BCD su Windows 7 a 64 bit - Impossibile trovare il dispositivo di sistema richiesto


66

L'aggiornamento dei driver NVIDIA ha provocato l'arresto anomalo della mia installazione di Windows 7, quindi sto lavorando per annullare il danno.

Cosa posso fare: posso avviare l'installazione di Windows dall'unità USB e posso avviare il CD di avvio di Hiren . Sebbene la riparazione automatica di Windows non riesca, posso avviare il prompt dei comandi quando avvio l'installazione di Windows dall'unità USB e posso vedere la mia unità e tutti i miei dati.

Cosa non posso fare: non riesco ad avviare Windows - Ricevo questo messaggio:

Windows failed to start. A recent hardware or software change might be the cause. To fix the problem:
1. Insert Windows CD and run a repair your computer option.
File: /Boot/BCD
Status: 0xc000000f
Info: an error occurred while attempting to read the boot configuration data.

Sembra che qualcosa non vada nel mio / Boot / BCD, quindi sto cercando di ricrearlo da zero. Ho provato tutti i metodi dettagliati qui (inclusa la riparazione di Windows che non riesce) e sono rimasto con l'ultimo (vicino alla fine di quella pagina). Quando digito il seguente comando come nell'esercitazione:

bcdedit.exe /import c:\boot\bcd.temp

... fallisce con il seguente errore:

The store import operation has failed.
The requested system device cannot be found.

Molti risultati di Google dicono che devo usare diskpart per impostare la mia partizione attiva, tuttavia è già impostata come attiva.

Inoltre, quando provo questo:

bcdedit /enum

Non riesce con un messaggio simile:

The boot configuration data store could not be opened.
The requested system device cannot be found.

Qualcuno sa cosa significa quel messaggio di errore e qual è il dispositivo di sistema richiesto?

Vorrei evitare di dover reinstallare Windows poiché tutti i file sul disco sembrano andare bene.


Hai provato il comando "bootrec / RebuildBcd"? (senza virgolette)
Moab,

4
Sì, mi consente di scegliere la mia installazione di Windows, ma quando lo faccio non riesce con "Impossibile trovare il dispositivo di sistema richiesto".
Domchi,

Digita solo bcdedit e pubblica la risposta.
ThatGuyInIT il

1
Windows 7 per impostazione predefinita non memorizza il BCD o le informazioni di avvio sulla partizione C: la memorizza su una partizione da 100 MB e questa partizione deve essere attiva, non la C:
ThatGuyInIT

2
Sean, ricevo lo stesso messaggio di errore quando digito bcdedit come quando digito bcdedit / enum, vedi sopra.
Domchi,

Risposte:


55

Non direttamente correlato al problema durante la risoluzione, ma piuttosto alla descrizione originale (in particolare "Impossibile trovare il dispositivo di sistema richiesto" sulle operazioni BCD nonostante tutti i tentativi di ricreare / ricostruire):

Questo errore può verificarsi se si esegue l'avvio da una chiavetta USB e il BIOS supporta un determinato slot USB, ma l'ambiente PE / riparazione di Windows no!

Ho trascorso due giorni a togliermi i capelli, lottando con questo problema (il negozio BCD era SEMPRE non disponibile con questo errore "Impossibile trovare il dispositivo di sistema richiesto", indipendentemente da ciò che ho fatto), solo per scoprire che il problema era semplicemente il Slot USB Stavo collegando la mia chiavetta USB avviabile. Inserendola in uno slot diverso (USB 2.0 anziché USB 3.0), le azioni di riparazione standard hanno funzionato correttamente.

A peggiorare le cose, ho scoperto in seguito che è stato collegando lo slot sbagliato e consentendo all'ambiente di salvataggio di tentare la riparazione automatica che ho incasinato le cose in primo luogo!


Aggiornamento: un altro utente (migliorare i computer) mi ha contattato per confermare che ciò è successo anche a loro; poiché tutti i loro slot USB non erano riconosciuti da Windows 7 PE, alla fine hanno dovuto estrarre l'unità ed eseguire la riparazione su un altro computer.


Aggiornamento: ho avuto difficoltà anche a reinstallare Windows sul mio laptop. Da questo post ho appreso e realizzato che Windows 7 PE non riconosce l'unità USB. Sebbene sia stato avviato dall'immagine dell'unità USB per qualche motivo, non è stato in grado di avviare il processo di installazione. Dopo un'intera giornata di sforzi finalmente l'ho provato con il DVD e ha funzionato. Sto usando Lenovo W520


2
Dopo aver trascorso solo 3 ore a cercare di eseguire il debug di quel messaggio di errore, non posso ringraziarti abbastanza. Seriamente, grazie! Non avrei mai immaginato che l'utilizzo di uno slot USB3 lo avrebbe causato.
Corbin,

4
+1 Wow, lo stesso qui! Mi ha appena salvato la vita dopo una ripartizione andata male.
mellamokb,

Sono estremamente contento ora di avere 2 unità USB 2.0. Inizialmente ero infastidito da loro (preferendo tutti gli usb3), ma ora mi rendo conto di quanto siano utili. Mi chiedevo perché il mio mouse non funzionasse durante il recupero. Ciò avrebbe dovuto farmi notare che non riconosceva le porte 3.0 per qualche motivo.
saccarina,

Grazie! questo ha appena risolto il mio frustrante tentativo di utilizzare bootrec per riparare un'unità clonata. Pop win7 recupera la chiavetta USB in un altro slot e sei pronto per andare lol
Michael Nielsen il

6
Fantastica scoperta. Purtroppo questa non era la soluzione nel mio caso. Questo errore può anche essere causato dal tentativo di riparare un'installazione Windows UEFI da un'unità USB che è stata avviata in modalità non UEFI. Vedi la mia risposta: superuser.com/a/959489/178217
Jan-Philip Gehrcke,

50

Nel mio caso non è stato d'aiuto nulla delle altre risposte e non ho potuto caricare Windows RE dal DVD. Spero che questa risposta sia rimasta intrappolata nei miei occhi.

Ho provato soluzioni da guide collegate e ho finito senza alcun BCD (in realtà non so se fosse lì all'inizio). Quindi, la cosa che mi ha salvato dalla reinstallazione dell'intero sistema è stata:

bcdboot.exe C:\Windows /s C:

Spero che possa aiutare qualcuno.


Aggiornamento: alla fine ha funzionato per me con una piccola modifica. Il mio problema era un problema combinato di molti elencati qui (avvio da stick, avvitamento del BOOT di lavoro iniziale).

Il mio problema era che RE registrava il mio disco di Windows come D:\, mentre era C:\normalmente. La corsa bcdboot.exe D:\Windows /s C:ha funzionato !


3
Nient'altro funzionava, ma questo ha funzionato!
bourbaki4481472

3
Tu sei il mio eroe.
Erwin,

Oddio, era così semplice. Niente di tutto ciò che ha fatto a pezzi un BCD a mano!
Bigbio2002,

Ecco, se si avvia da una chiavetta USB, è necessario utilizzare questo metodo, utilizzando D: drive per aggiornare la memoria (-s) in D :.
Razor7,

bcdboot.exe D: \ Windows / s C: ha funzionato per me come mentre nella linea di ripristino cmd vedeva il mio disco avevo tutte le mie cose come D:
user1821961

19

Quindi, ecco come l'ho finalmente risolto.

Ricreare BCD come nel capitolo " tutorial sull'olocausto" del tutorial che ho citato nella mia domanda ha funzionato alla fine, ma con una piccola modifica. Ho avuto l'idea in questo thread . Sembra che il messaggio che ho ricevuto mi dicesse che bcdedit non riesce a trovare il negozio BCD. Quindi, invece di digitare questo:

bcdedit /import c:\boot\bcd.temp

... avevo solo bisogno di puntare manualmente al negozio:

bcdedit /store c:\Boot\BCD /import c:\boot\bcd.temp

Ciò è necessario anche per il resto dei comandi nell'esercitazione:

bcdedit /store c:\Boot\BCD <the rest of the command>

Con quella modifica, tutti i comandi nell'esercitazione funzionano come previsto. Quando ho ricreato BCD, sono stato in grado di avviare il mio Windows originale.


9
Questo è molto strano, dal momento che bcdedit /? storedice che This option may not be used with the /createstore, /import, or /export commands. provare ad usarlo risulta comunque The store import command is invalid. contento che abbia funzionato per te.
Dave,

Stesso errore qui ... Qualcuno ha avuto un indizio?
PLPeeters,

2
Dave ha ragione nella sua affermazione che la /storebandiera non può essere usata con la /importbandiera - basta imbattersi in questo io. La soluzione è non creare un archivio temporaneo e importare, ma semplicemente creare e lavorare sul negozio reale usando il /storeflag per tutti i comandi. L'ho appena passato in questo modo per riparare il mio sistema e funziona. Ho modificato la risposta sopra per correggerla.
Nathan Brown,

quindi dov'è la modifica?
George Birbilis,

@NathanBrown: puoi spiegare cosa intendi? Ancora meglio aggiungere una risposta completa? Quali comandi hai usato per risolvere questo problema?
Adi Shavit,

14

Lo stesso problema si presenta quando l'installazione di Windows su disco è configurata per l'avvio UEFI, ma il processo di riparazione viene tentato dai comandi memorizzati su un'unità USB che è stata avviata in modalità non UEFI ("legacy").

Quindi, immagina di avere un'unità USB di configurazione di Windows 8 avviabile che non può essere avviata in modalità UEFI, ma solo in modalità legacy. Si potrebbe pensare che si possa semplicemente cambiare l'impostazione del BIOS dall'avvio UEFI all'avvio legacy. E, in effetti, dopo questa modifica è possibile avviare l'unità USB e, naturalmente, si può accedere al prompt dei comandi di Windows. Tuttavia, in quella situazione non è possibile "riparare" l'installazione di Windows su disco che è stata precedentemente installata e utilizzata in modalità UEFI.

In quello scenario (modalità di avvio "legacy" e avvio dall'unità USB di installazione di Windows 8), l'esecuzione di bootrec /rebuildbcdnon riesce The requested system device cannot be found. E BCDBoot C:\WindowsfallisceFailure when attempting to copy boot files.

La soluzione è

  1. per creare una corretta unità USB avviabile UEFI (con ad esempio Rufus come descritto qui ) e quindi
  2. per riportare il BIOS dalla modalità di avvio "legacy" alla modalità di avvio UEFI, seguita da
  3. avvio dall'unità USB

Il processo di riparazione iniziato da lì è andato a buon fine nel mio caso: BCDBoot C:\Windowspoi è riuscitoBoot files successfully created.

Il problema originale era "Codice errore: 0xc0000034 - File di dati di configurazione di avvio mancante delle informazioni richieste" in Windows 8, come discusso qui .


Forzare la modalità UEFI nel BIOS mi ha permesso di procedere (e finire!) Con successo con il ripristino / ripartizionamento con unità di ripristino creata in precedenza da Windows 8.
mlt

grazie! Ho trascorso l'intero fine settimana cercando di riparare il mio sistema senza reinstallare Windows. Questa risposta finalmente l'ha risolto per me. Ho dovuto creare un'unità USB avviabile BIOS legacy corretta, perché Windows era installato utilizzando BIOS legacy (non UEFI come credevo inizialmente). L'installazione di Windows e la modalità di avvio dell'unità USB devono corrispondere. altrimenti i comandi bootrec /rebuildbcde bcdeditfalliranno.
Buju,

2

Ho avuto una diversa causa e soluzione a questo problema. Nel mio caso il problema era che avevo usato un ISO di Windows 7 Enterprise per creare un'unità flash USB avviabile con Unetbootin, seguendo le istruzioni qui: http://www.webupd8.org/2010/10/create-bootable-windows-7 -usb-drive.html . Fondamentalmente, le istruzioni dicono di formattare l'unità USB con NTFS e utilizzare Unetbootin v494 (obsoleto) che aveva ancora la funzione di consentire di utilizzare unità formattate con NTFS (questa funzionalità è scomparsa nelle versioni successive).

Qualcosa di fastidioso nella parte posteriore della mia testa mi disse che una procedura non standard avrebbe causato mal di testa, ma l'ho ignorato.

Dopo un'ora di ricerche nel forum, qualcuno da qualche parte ha menzionato "non utilizzare un'unità USB avviabile poiché l'ambiente di recupero vedrà quella tabella delle partizioni e non quella reale sul disco rigido" o qualcosa in tal senso.

Trovato l'unità CD-ROM USB, inserire il disco reale in là, e corse bootrec /fixmbr, bootrec /fixboote bootrec /rebuildbcdsenza problemi. Windows è quindi partito bene, sia da grub che quando il disco rigido secondario è stato scelto dall'elenco di avvio del BIOS.


2
The requested system device cannot be found.

Ho avuto lo stesso messaggio di errore quando stavo cercando di riparare Windows dopo aver convertito il mio disco rigido da MBR a GPT. Quando ho provato la riparazione automatica, Windows ha anche segnalato che la versione installata non era una versione compatibile di Windows. Ho scoperto che il BIOS MSI aveva due opzioni per l'avvio da DVD-ROM che assomigliava a questo:

SATA3:DVD Drive
UEFI:DVD Drive

Avrebbe avviato l'avvio UEFI solo quando l'ho selezionato manualmente. Altrimenti si avvierebbe comunque dal DVD-ROM ma non in modalità UEFI. Dopo aver selezionato UEFI, ho potuto riparare manualmente e automaticamente il mio sistema Windows 7.

Ora ho disabilitato completamente l'avvio da CD / DVD, costringendomi a utilizzare il menu di avvio del BIOS e scegliere come avviare.


1

Ho trovato in situazioni come queste che " EasyBCD " è davvero molto utile. Ti suggerisco di dare un vortice e vedere se non può salvarti.

Spero che aiuti amico. Saluti!


Mi piacerebbe, ma per eseguire EasyBCD ho bisogno di avviare Windows 7. Che non ho. Il tutorial per rigenerare BCD con cui sto lavorando sopra, e che non posso seguire, è in realtà dal sito web EasyBCD. EasyBCD può essere eseguito dalla console di riparazione di Windows o da Linux ...?
Domchi,

Non è possibile installarlo su Windows XP fornito con il CD di avvio di Hiren, l'installazione non riesce quando dovrebbe installare .NET e si annulla automaticamente. Ma anche se l'ho installato, WinXP non vede il disco NTFS con BCD ...
Domchi,

Alla fine, sono riuscito a installare EasyBCD sull'altro computer e farlo masticare sul mio file BCD che ho copiato lì. Ma non sono mai riuscito a fare qualcosa di utile con esso ...
Domchi,

1

Avvia un disco di installazione di Windows 7 x64 e avvia la riparazione all'avvio, ma annullalo prima che inizi a provare a riparare, vedrai un collegamento per Opzioni avanzate, che ti consentirà di accedere al prompt dei comandi, dovrai creare la partizione da 100 MB attivo se la partizione del sistema operativo è stata attivata per errore.

  1. Inserire il disco di installazione di Windows 7 x64 nell'unità disco, quindi avviare il computer.
  2. Premere un tasto quando richiesto.
  3. Selezionare una lingua, un'ora, una valuta, una tastiera o un metodo di input, quindi fare clic su Avanti.
  4. Fai clic su Ripara il tuo computer.
  5. Fare clic sul sistema operativo che si desidera ripristinare, quindi fare clic su Avanti.
  6. Nella finestra di dialogo Opzioni ripristino di sistema, fare clic su Prompt dei comandi.

    diskpart select disk 0 select part 1 attivo

Riavvia e riavvia il disco di installazione di Windows 7 x64.

bcdedit /export C:\BCD_Backup
c:
cd boot
attrib bcd -s -h -r
ren c:\boot\bcd bcd.old
bootrec /RebuildBcd

http://support.microsoft.com/kb/927392


Al passaggio 5. Non ho alcun sistema operativo elencato. Non ho partizioni da 100 MB, mai avuto, e la mia partizione è già attiva, come ho detto nella mia domanda. Ho provato tutto ciò che KB menziona, ma bootrec / RebuildBcd non riesce con "Impossibile trovare il dispositivo di sistema richiesto".
Domchi,

sembra forse un disco rigido danneggiato o un file system danneggiato. Esegui chkdsk / r Puoi anche testare il disco rigido usando un disco live Linux come PartedMagic partedmagic.com , che ha uno strumento chiamato GSmartControl per controllare gli errori del disco rigido ed eseguire test SMART. Contiene anche un tooldisk
testdisk

Il disco rigido e il file system sono OK - Riesco a vedere tutti i dati dall'ambiente Linux PartedMagic. Inoltre, TestDisk era quello che precedentemente utilizzavo per correggere l'MBR. Prima di usare TestDisk, non ero nemmeno in grado di accedere alla partizione. Il mio problema è sicuramente il file BCD errato e mi piacerebbe davvero sapere perché non riesco a ricrearlo e quale dispositivo di sistema richiesto non riesce a trovare.
Domchi,

Puoi semplicemente premere [Maiusc] + [F10] al passaggio 3 per visualizzare il prompt!
Piksel Bitworks,

0

Nel mio caso nessuna delle soluzioni di cui sopra ha aiutato.

Riavvio di una VM Windows Server 2016 in VMware Esxi 6.5 non riuscito con "SO non trovato". Sospettavo un aggiornamento installato durante l'arresto. Non sono stato in grado di risolverlo con diskpart, bootrec, bcdedit e il ripristino da Backup. Inoltre non aveva nulla a che fare con EFI (avvio sicuro) o modalità BIOS.

La soluzione stava cambiando Systemdrive (indietro) in Dispositivo SCSI 0: 0.

Un disco di aggiunta che ho aggiunto settimane prima aveva il dispositivo SCSI 0: 0 e Systemdrive era su 0: 1. Come ciò possa accadere, non lo so, ma sospetto un bug in Vsphere Web-Client.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.