Codice di errore di avvio 0xC000000F in una macchina virtuale di Azure

Questo articolo fornisce soluzioni a un problema per cui la macchina virtuale Windows non viene avviata e genera errori.

Versione originale del prodotto: macchina virtuale che esegue Windows
Numero KB originale: 4010130

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é manca un file obbligatorio 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: impossibile 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 disponi di 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 degli errori 1 e 2.

Risoluzione degli errori 1 e 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

  1. Eliminare la macchina virtuale.Delete the virtual machine (VM). Assicurarsi di selezionare l'opzione Mantieni i dischi quando si esegue questa operazione.

  2. 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.

  3. 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à.

  4. Identificare la partizione di avvio e la partizione di Windows. Se è presente una sola partizione nel disco del sistema operativo, questa partizione è la partizione di avvio e la 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" e questa partizione è 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 i file e le cartelle nascosti e disabilitare l'opzione Nascondi file del sistema operativo protetti (scelta consigliata). La partizione di avvio è in genere di 300 MB~ 500 MB.

Passaggio 2: Ripristinare i dati di configurazione di avvio

  1. Eseguire la riga di comando seguente come amministratore e quindi registrare l'identificatore di Windows Boot Loader (non Windows Boot Manager). L'identificatore è il tag {default} o un codice di 32 caratteri ed è simile al seguente: xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx. Questo identificatore verrà usato nel passaggio successivo.

    bcdedit /store <Boot partition>:\boot\bcd /enum /v
    
  2. Ripristinare i dati di Configurazione avvio eseguendo le righe di comando seguenti. È necessario sostituire questi segnaposto con i valori effettivi:

    Nota

    Questo passaggio viene applicato alla maggior parte dei problemi di danneggiamento dei dati di configurazione di avvio. È necessario eseguire questo passaggio anche se il dispositivo e il dispositivo OSDevice puntano 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".
    <Identificatore> è l'identificatore del caricatore di avvio di Windows trovato nel passaggio precedente.

    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
    
  3. Scollegare il disco del sistema operativo dalla macchina virtuale per la risoluzione dei problemi. Creare quindi una nuova macchina virtuale dal disco del sistema operativo.

Risoluzione dell'errore 3

  1. Collegare il disco del sistema operativo della macchina virtuale a un'altra macchina virtuale (risoluzione dei problemi della macchina virtuale) come disco dati.

  2. Nel disco collegato passare al percorso del file binario visualizzato nel messaggio di errore.

  3. Rinominare il file in <BINARY.SYS>.OLD.

  4. Nel disco collegato passare alla \Windows\winsxs cartella . Cercare quindi il file binario visualizzato nel messaggio di errore. A tale scopo, eseguire il comando seguente al prompt dei comandi:

    dir <binaryname> /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 eseguendo il comando seguente:

    copy <drive>:\Windows\WinSxS\<directory_where_file_is>\<binary_with_extension> <drive>:\Windows\System32\Drivers\
    

    Ad esempio, vedere lo screenshot seguente.

    Screenshot dell'esempio del comando DIR.

    Note:

    • Lo screenshot mostra il volume E. Tuttavia, la lettera effettiva rifletterà in modo appropriato quella delle unità difettose (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.
  5. 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.