Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: ✔️ macchine virtuali di Windows
Numero KB originale: 4010130
Questo articolo fornisce soluzioni a un problema a causa del quale la macchina virtuale Windows non viene avviata e genera errori.
Sintomo
Windows non viene avviato e genera uno degli errori seguenti:
Errore 1:
File: \Windows\system32\winload.exe
Stato: 0xc000000f
Info: impossibile caricare l'applicazione o il sistema operativo perché un file obbligatorio è mancante o contiene errori.
Errore 2:
File: \Boot\BCD
Stato: 0xc000000f
Info: i dati di configurazione di avvio per il PC sono mancanti o contengono errros
Errore 3:
File: \Windows\System32\drivers\<Binary>
Stato: 0xc000000f
Info: non è stato possibile caricare il sistema operativo perché manca un driver di sistema critico o contiene errori.
In questo messaggio <BINARY> rappresenta il file binario effettivo trovato.
Causa
Questo problema si verifica quando si verifica una delle condizioni seguenti:
- I dati di configurazione di avvio (BCD) sono danneggiati.
- Il riferimento a DEVICE e OSDEVICE nei dati di configurazione di avvio è mancante o sconosciuto.
- Il file binario visualizzato nello screenshot (diverso da winload.exe o \boot\BCD) non è presente nel disco del sistema operativo.
Risoluzione
Provare a ripristinare la macchina virtuale da un backup
Se hai un backup recente della VM, puoi provare a ripristinare la VM dal backup per risolvere il problema di avvio. Se il ripristino della macchina virtuale dal backup non è possibile, seguire la procedura descritta in Risoluzione per l'errore 1 e l'errore 2.
Risoluzione dell'errore 1 e dell'errore 2
Passaggio 1: Collegare il disco del sistema operativo della macchina virtuale a un'altra macchina virtuale (risoluzione dei problemi della macchina virtuale) come disco dati
Eliminare la macchina virtuale.Delete the virtual machine (VM). Assicurarsi di selezionare l'opzione Mantieni i dischi quando si esegue questa operazione.
Collegare il disco del sistema operativo come disco dati a un'altra macchina virtuale (una macchina virtuale per la risoluzione dei problemi). Per altre informazioni, vedere Come collegare un disco dati a una macchina virtuale Windows in portale di Azure.
Connettersi alla VM per la risoluzione dei problemi. Apri Gestione computer>Gestione disco. Assicurarsi che il disco del sistema operativo sia online e che alle relative partizioni siano assegnate lettere di unità.
Identificare la partizione di avvio e la partizione di Windows. Se esiste solo una partizione sul disco del sistema operativo, si tratta della partizione di avvio e della partizione di Windows.
Se il disco del sistema operativo contiene più partizioni, è possibile identificarle visualizzando le cartelle nelle partizioni:
- La partizione di Windows contiene una cartella denominata "Windows" ed è più grande delle altre.
- La partizione di avvio contiene una cartella denominata "Boot". Questa cartella è nascosta per impostazione predefinita. Per visualizzare la cartella, è necessario visualizzare le cartelle e i file nascosti e disattivare l'opzione Nascondi i file di sistema protetti (scelta consigliata) . La partizione di avvio è in genere di 300 MB ~ 500 MB.
Passaggio 2: Ripristinare i dati di configurazione di avvio
Eseguire la seguente riga di comando come amministratore e quindi registrare l'identificatore del Caricatore di avvio di Windows (non Windows Boot Manager). L'identificatore è il tag {default} o un codice di 32 caratteri e ha un aspetto simile al seguente: xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Questo identificatore viene usato nel passaggio successivo.
Nelle macchine virtuali di prima generazione
bcdedit /store <Boot partition>:\Boot\BCD /enum /v
Nelle macchine virtuali di seconda generazione
bcdedit /store <Boot partition>:\EFI\Microsoft\Boot\BCD
Note
Nelle macchine virtuali di seconda generazione la partizione di avvio non è etichettata per impostazione predefinita. È possibile eseguire il
diskpart
comando per etichettare la partizione in modo che possa essere usata con lo strumento BCDEdit.
Ripristinare i dati di configurazione di avvio eseguendo le righe di comando seguenti. È necessario sostituire questi segnaposto con i valori effettivi:
Note
Questo passaggio viene applicato alla maggior parte dei problemi di danneggiamento dei dati di configurazione di avvio. È necessario eseguire questo passaggio anche se viene visualizzato Device and OSDevice (Dispositivo e osDevice ) che punta alla partizione corretta.
<La partizione di Windows è la partizione> che contiene una cartella denominata "Windows".
<La partizione di avvio è la partizione> che contiene una cartella di sistema nascosta denominata "Boot".
<L'identificatore è l'identificatore del caricatore> di avvio di Windows trovato nel passaggio precedente.Nelle macchine virtuali di prima generazione
bcdedit /store <Boot partition>:\Boot\BCD /set {bootmgr} device partition=<boot partition>: bcdedit /store <Boot partition>:\Boot\BCD /set {bootmgr} integrityservices enable bcdedit /store <Boot partition>:\Boot\BCD /set {<Identifier>} device partition=<Windows partition>: bcdedit /store <Boot partition>:\Boot\BCD /set {<Identifier>} integrityservices enable bcdedit /store <Boot partition>:\Boot\BCD /set {<identifier>} recoveryenabled Off bcdedit /store <Boot partition>:\Boot\BCD /set {<identifier>} osdevice partition=<Windows partition>: bcdedit /store <Boot partition>:\Boot\BCD /set {<identifier>} bootstatuspolicy IgnoreAllFailures
Nelle macchine virtuali di seconda generazione
bcdedit /store <Boot partition>:\EFI\Microsoft\Boot\BCD /set {bootmgr} device partition=<boot partition>: bcdedit /store <Boot partition>:\EFI\Microsoft\Boot\BCD /set {bootmgr} integrityservices enable bcdedit /store <Boot partition>:\EFI\Microsoft\Boot\BCD /set {<Identifier>} device partition=<Windows partition>: bcdedit /store <Boot partition>:\EFI\Microsoft\Boot\BCD /set {<Identifier>} integrityservices enable bcdedit /store <Boot partition>:\EFI\Microsoft\Boot\BCD /set {<identifier>} recoveryenabled Off bcdedit /store <Boot partition>:\EFI\Microsoft\Boot\BCD /set {<identifier>} osdevice partition=<Windows partition>: bcdedit /store <Boot partition>:\EFI\Microsoft\Boot\BCD /set {<identifier>} bootstatuspolicy IgnoreAllFailures
Scollegare il disco del sistema operativo dalla macchina virtuale per la risoluzione dei problemi. Quindi, creare una nuova macchina virtuale dal disco del sistema operativo.
Risoluzione dell'errore 3
Prima di tutto, seguire le istruzioni riportate nella sezione Collegare il disco del sistema operativo della macchina virtuale a un'altra macchina virtuale (risoluzione dei problemi della macchina virtuale) come disco dati. (Questa sezione proviene dalla prima parte del Risoluzione degli errori 1 e 2. Ripristinare o sostituire quindi il file binario di sistema (.sys) seguendo questa procedura:
Ripristinare il file binario danneggiato
Aprire un prompt cmd con privilegi elevati ed eseguire chkdsk sul disco:
chkdsk <drive-letter>: /F
Sostituire il file binario danneggiato
Nel disco collegato passare al percorso del file binario mostrato nel messaggio di errore.
Rinominare il file da binary-name>.sys in< binary-name>.sys.old.<
Sul disco collegato passare alla cartella \Windows\WinSxS . Cercare quindi il file binario mostrato nel messaggio di errore. Per effettuare questa operazione, eseguire il seguente comando dal prompt di comandi:
dir <binary-name> /s
Il comando elenca tutte le diverse versioni del file binario insieme alla data di creazione. Copiare la versione più recente del file binario nella cartella \Windows\System32\Drivers eseguendo il comando seguente:
copy <drive>:\Windows\WinSxS\<directory-where-file-is>\<binary-name>.sys <drive>:\Windows\System32\Drivers\
Ad esempio, vedere l'output della console seguente:
E:\Windows\WinSxS>dir ACPI.sys /s Volume in drive E has no label. Volume Serial Number is A0B1-C2D3 Directory of E:\Windows\WinSxS\amd64_acpi.inf_0123456789abcdef_6.3.9600.16384_none_cdef0123456789ab 11/21/2014 07:48 PM 94,989 acpi.sys 1 File(s) 94,989 bytes Directory of E:\Windows\WinSxS\amd64_acpi.inf_0123456789abcdef_6.3.9600.16384_none_89abcdef01234567 11/21/2014 07:48 PM 119,547 acpi.sys 1 File(s) 119,547 bytes Directory of E:\Windows\WinSxS\amd64_acpi.inf_0123456789abcdef_6.3.9600.16384_none_456789abcdef0123 11/21/2014 04:06 PM 533,824 acpi.sys 1 File(s) 533,824 bytes Total Files Listed: 3 File(s) 748,360 bytes 0 Dir(s) 123,967,512,576 bytes free E:\Windows\WinSxS>copy E:\Windows\WinSxS\amd64_acpi.inf_0123456789abcdef_6.3.9600.16384_none_cdef0123456789ab\acpi.sys E:\Windows\System32\Drivers\ 1 file(s) copied. E:\Windows\WinSxS>
Note
Se il file binario di sistema non può essere rinominato, assumere la proprietà del file. Questa azione consente l'accesso completo a questo file.
L'output della console di esempio mostra il volume E come esempio. La lettera effettiva deve riflettere l'unità difettosa (il disco del sistema operativo collegato come disco dati nella macchina virtuale per la risoluzione dei problemi).
Se il file binario più recente non funziona, è possibile provare la versione precedente del file per ottenere un livello di aggiornamento del sistema precedente su tale componente.
Se l'unico file binario restituito in questo passaggio corrisponde al file che si sta tentando di sostituire nella macchina virtuale interessata, e se entrambi i file hanno le stesse dimensioni e timestamp, è possibile sostituire il file danneggiato copiandolo da un'altra macchina virtuale funzionante con lo stesso sistema operativo e, se possibile, lo stesso livello di aggiornamento del sistema.
Scollegare il disco ripristinato dalla macchina virtuale per la risoluzione dei problemi. Creare quindi una macchina virtuale dal disco del sistema operativo.
Contattaci per ricevere assistenza
In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.