Condividi tramite


Risoluzione dei problemi relativi all'errore di avvio: si è verificato un errore di lettura del disco

Si applica a: ✔️ macchine virtuali di Windows

Questo articolo fornisce i passaggi per risolvere i problemi in cui il disco non può essere letto in una macchina virtuale (VM) di Azure.

Sintomi

Quando si utilizza Diagnostica di avvio per visualizzare la schermata della macchina virtuale, viene visualizzato un messaggio "Si è verificato un errore di lettura del disco. Premere Ctrl+Alt+Canc per riavviare".

Screenshot del messaggio Si è verificato un errore di lettura del disco.

Causa

Questo messaggio di errore indica che la struttura del disco è danneggiata e illeggibile. Se si utilizza una macchina virtuale di generazione 1, è anche possibile che la partizione del disco contenente i dati di configurazione di avvio non sia impostata su Attiva.

Soluzione

Panoramica processo

Suggerimento

Se hai un backup recente della VM, puoi provare a ripristinare la VM dal backup per risolvere il problema di avvio.

  1. Crea e accedi a una macchina virtuale di riparazione.
  2. Selezionare una soluzione:
  3. Abilita la console seriale e la raccolta di dump della memoria.
  4. Ricostruisci la macchina virtuale.

Note

Quando si verifica questo errore di avvio, il sistema operativo guest (OS) non è operativo. Risolverai i problemi in modalità offline per risolvere questo problema.

Creare e accedere a una macchina virtuale di ripristino

  1. Utilizzare i passaggi 1-3 dei comandi di riparazione della VM per preparare una VM di riparazione.
  2. Utilizzando Connessione desktop remoto, connettiti alla VM di riparazione.

Imposta lo stato della partizione su attivo

Note

Questa mitigazione si applica solo per le macchine virtuali di prima generazione. Le macchine virtuali di seconda generazione (che usano UEFI) non usano una partizione attiva.

  1. Collega il disco di sistema a una macchina virtuale di ripristino.

  2. Avviare una connessione Desktop remoto alla VM di ripristino.

  3. Apri Gestione computer>Gestione disco. Assicurati che il disco sia contrassegnato come Online nella console di Gestione disco. Prendere nota della lettera di unità assegnata al disco di sistema collegato.

    Screenshot che mostra il disco collegato alla macchina virtuale di ripristino.

  4. Identificare la partizione di avvio e la partizione di Windows. Se è presente una sola partizione sul disco del sistema operativo, questa partizione è sia partizione di avvio che partizione di Windows.

    Se il disco del sistema operativo contiene più di una partizione, è possibile identificare le partizioni visualizzando le cartelle in esse contenute:

    • 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. Per impostazione predefinita questa cartella è nascosta. 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.

  5. Eseguire il comando seguente come amministratore per creare un record di avvio:

    bcdboot <Windows partition>:\Windows /S <windows partition>: 
    
  6. Usare lo strumento DISKPART per verificare se la partizione di Windows è attiva:

    1. Aprire un prompt dei comandi con privilegi elevati e aprire lo strumento DISKPART.

      diskpart

    2. Elencare i dischi nel sistema e cercare dischi aggiunti e continuare a selezionare il nuovo disco. In questo esempio il nuovo disco è Disk 1.

      list disk
      sel disk 1
      

      La finestra diskpart mostra gli output dei comandi list disk e sel disk 1. Disco 0 e Disco 1 vengono visualizzati nella tabella. Disco 1 è il disco selezionato.

    3. Elencare tutte le partizioni sul disco e quindi procedere con la selezione della partizione da controllare. In genere le partizioni gestite dal sistema sono di dimensioni inferiori e di circa 350 MB. Nell'immagine seguente questa partizione è Partition 1.

      list partition
      sel partition 1
      

      Screenshot che mostra che la partizione 1 è la partizione selezionata.

    4. Controllare lo stato della partizione. Nell'esempio la partizione 1 non è attiva.

      detail partition

      Finestra diskpart con output del comando di partizione dettaglio in cui la partizione 1 non è attiva.

      Se la partizione non è attiva, modificare il flag Attivo e quindi controllare di nuovo che la modifica è stata eseguita correttamente.

      active
      detail partition
      

      Finestra diskpart con output del comando di partizione dettaglio in cui è attiva la partizione 1.

    5. Uscire dallo strumento DISKPART.

      exit

Correggi la partizione del disco

  1. Apri un prompt dei comandi con privilegi elevati (cmd.exe).

  2. Utilizzare il seguente comando per eseguire CHKDSK sui dischi ed eseguire la correzione degli errori:

    chkdsk <DRIVE LETTER>: /f

    L'aggiunta dell'opzione di comando /f corregge eventuali errori sul disco. Assicurati di sostituire < DRIVE LETTER> con la lettera del VHD del sistema operativo allegato.

Abilita la console seriale e la raccolta di dump della memoria

Importante

In questa sezione, metodo o attività viene illustrata la procedura per modificare il Registro di sistema. Se, tuttavia, si modifica il Registro di sistema in modo errato, possono verificarsi gravi problemi. Pertanto, assicurarsi di osservare attentamente la procedura seguente. Al fine di protezione, eseguire il backup del registro di sistema prima di modificarlo, in modo da poterlo ripristinare in caso di problemi. Per ulteriori informazioni su come eseguire il backup e il ripristino del Registro di sistema, vedi Come eseguire il backup e il ripristino del Registro di sistema in Windows.

Opzione consigliata: prima di ricompliare la macchina virtuale, attivare la Console seriale e la raccolta dei dump di memoria seguendo i seguenti passaggi:

  1. Aprire una sessione del prompt dei comandi con privilegi elevati come amministratore.

  2. Eseguire i seguenti comandi BCDEdit utilizzando le opzioni /ems e /emssettings:

    Attivare la console seriale:

    bcdedit /store <volume-letter-containing-the-bcd-folder>:\boot\bcd /ems {<boot-loader-identifier>} ON
    bcdedit /store <volume-letter-containing-the-bcd-folder>:\boot\bcd /emssettings EMSPORT:1 EMSBAUDRATE:115200
    
  3. Verificare che lo spazio libero sul disco del sistema operativo sia maggiore della dimensione della memoria (RAM) sulla macchina virtuale.

    Se lo spazio sul disco del sistema operativo non è sufficiente, è necessario modificare la posizione in cui viene creato il file di dump della memoria e fare riferimento a qualsiasi disco dati collegato alla macchina virtuale che disponga di spazio libero sufficiente. Per modificare la posizione, sostituisci %SystemRoot% con la lettera dell'unità del disco dati, ad esempio F:, nei seguenti comandi.

    Per abilitare il file di dump del sistema operativo, eseguire i seguenti comandi load, add e unload per implementare la configurazione suggerita utilizzando lo strumento reg:

    Caricare l'hive del Registro di sistema dal disco del sistema operativo danneggiato:

    reg load HKLM\<broken-system> <volume-letter-of-broken-os-disk>:\windows\system32\config\SYSTEM
    

    Abilitare su ControlSet001:

    reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f
    reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f
    reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f
    

    Abilitare su ControlSet002:

    reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f
    reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f
    reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f
    

    Scaricare il disco del sistema operativo danneggiato:

    reg unload HKLM\<broken-system>
    

Ricostruire la macchina virtuale

Utilizzare il passaggio 5 dei comandi di riparazione della VM per ricostruire la VM.

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.