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
Questo articolo fornisce i passaggi per risolvere i problemi in cui Windows Boot Manager impedisce l'avvio di una macchina virtuale (VM) Azure.
Sintomo
La macchina virtuale è bloccata in attesa di un prompt dell'utente e non si avvia a meno che non venga richiesto manualmente.
Quando utilizzi Diagnostica di avvio per visualizzare lo screenshot della VM, vedrai che lo screenshot mostra Windows Boot Manager con il messaggio Scegli un sistema operativo da avviare o premi TAB per selezionare uno strumento:.
Causa
L'errore è dovuto a un flag BCD displaybootmenu in Windows Boot Manager. Quando il flag è abilitato, durante il processo di avvio Windows Boot Manager richiede all'utente di selezionare il caricatore che desidera eseguire, causando un ritardo di avvio. In Azure, questa funzionalità può aumentare il tempo necessario per l'avvio di una macchina virtuale.
Soluzione
Suggerimento
Se hai un backup recente della VM, puoi provare a ripristinare la VM dal backup per risolvere il problema di avvio.
Panoramica del processo:
- Configura per tempi di avvio più rapidi utilizzando la console seriale.
- Crea e accedi a una macchina virtuale di riparazione.
- Configura per tempi di avvio più rapidi su una VM di riparazione.
- Consigliato: prima di ripristinare la macchina virtuale, abilitare la console seriale e la raccolta dei dump di memoria.
- Ricostruisci la macchina virtuale.
Configura per tempi di avvio più rapidi utilizzando la console seriale
Se hai accesso alla console seriale, ci sono due modi per ottenere tempi di avvio più rapidi. Riduci il tempo di attesa di displaybootmenu o rimuovi del tutto il flag.
Segui le indicazioni per accedere alla Console seriale di Azure per Windows per ottenere l'accesso alla console basata su testo.
Note
Se non riesci ad accedere alla console seriale, passa a Crea e accedi a una VM di riparazione.
Opzione A: ridurre i tempi di attesa
a. Il tempo di attesa è impostato di default a 30 secondi, ma può essere modificato in un tempo più breve (ad es. 5 secondi).
b. Utilizzare il seguente comando nella console seriale per regolare il valore di timeout:
bcdedit /set {bootmgr} timeout 5
Opzione B: rimuovere il flag BCD
a. Per impedire del tutto il prompt Visualizza menu di avvio, immettere il seguente comando:
bcdedit /deletevalue {bootmgr} displaybootmenu
Note
Se non sei stato in grado di utilizzare la console seriale per configurare un tempo di avvio più rapido nei passaggi precedenti, puoi invece continuare con i passaggi successivi. Ora ti occuperai della risoluzione dei problemi in modalità offline per risolvere questo problema.
Creare e accedere a una macchina virtuale di ripristino
- Utilizzare i passaggi 1-3 dei comandi di riparazione della VM per preparare una VM di riparazione.
- Usa Connessione desktop remoto per connetterti alla VM di riparazione.
Configura per tempi di avvio più rapidi su una VM di riparazione
Aprire un prompt dei comandi con privilegi elevati.
Immettere quanto segue per abilitare DisplayBootMenu:
Utilizza questo comando per le VM di prima generazione:
bcdedit /store <VOLUME LETTER WHERE THE BCD FOLDER IS>:\boot\bcd /set {bootmgr} displaybootmenu yes
Utilizza questo comando per le VM di seconda generazione:
bcdedit /store <VOLUME LETTER OF EFI SYSTEM PARTITION>:EFI\Microsoft\boot\bcd /set {bootmgr} displaybootmenu yes
Sostituisci qualsiasi simbolo di maggiore o minore di così come il testo al loro interno, ad es. "< testo qui>".
Modificare il valore di timeout a 5 secondi:
Utilizza questo comando per le VM di prima generazione:
bcdedit /store <VOLUME LETTER WHERE THE BCD FOLDER IS>:\boot\bcd /set {bootmgr} timeout 5
Utilizza questo comando per le VM di seconda generazione:
bcdedit /store <VOLUME LETTER OF EFI SYSTEM PARTITION>:EFI\Microsoft\boot\bcd /set {bootmgr} timeout 5
Sostituisci qualsiasi simbolo di maggiore o minore di così come il testo al loro interno, ad es. "< testo qui>".
Consigliato: prima di ricostruire la macchina virtuale, abilitare la console seriale e la raccolta di dump della memoria
Per abilitare la raccolta di dump della memoria e la console seriale, seguire questa procedura:
Aprire una sessione del prompt dei comandi con privilegi elevati come amministratore.
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
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 esempioF:
, 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>
Ricostruisci la VM originale
Utilizza il passaggio 5 dei comandi di riparazione della VM per riassemblare 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.