VM 啟動停滯於「準備 Windows。 請勿在 Azure 中關閉電腦」

本文說明當您在 Microsoft Azure 中啟動 Windows 虛擬機器 (VM) 時,可能會遇到的「準備就緒」和「準備 Windows 就緒」畫面。 它提供協助您收集支援票證數據的步驟。

注意事項

本文是否有幫助? 您的輸入對我們很重要。 請使用此頁面上的 [ 意見反應 ] 按鈕,讓我們知道本文如何為您運作,或我們如何加以改善。

徵狀

Windows VM 不會啟動。 當您使用 開機診斷 來取得 VM 的螢幕快照時,您可能會看到 VM 顯示訊息「準備就緒」或「準備 Windows 就緒」。

Windows Server 2012 R2 V M 的螢幕快照,其中顯示訊息:準備就緒。

V M 的螢幕快照,其中顯示訊息:準備 Windows。

原因

通常,當伺服器在組態變更之後執行最後的重新啟動時,就會發生此問題。 組態變更可能會由 Windows 更新或伺服器的角色或功能變更初始化。 針對 Windows Update,如果更新很大,操作系統需要更多時間來重新設定變更。

解決方案 1:從備份還原 VM

如果您有 VM 的最新備份,您可以嘗試 從備份還原 VM ,以修正啟動問題。

解決方案 2:收集 OS 記憶體轉儲檔案

如果無法從備份還原 VM 或無法解決問題,您必須收集記憶體傾印檔案,以便分析損毀。

步驟 1:直接收集傾印檔案

第 1 部分:將 OS 磁碟連結至復原 VM
  1. 擷取受影響 VM 的 OS 磁碟快照集,以建立備份。 如需詳細資訊,請 參閱建立虛擬硬碟的快照集

  2. 將 OS 磁碟連結至復原 VM

  3. 使用遠端桌面通訊協定 (RDP) 從遠端連線到復原 VM。

  4. 如果受影響 VM 的 OS 磁碟已加密,請先關閉加密,再移至下一個步驟。 如需詳細資訊,請參閱 解密加密的OS磁碟

第 2 部分:找出傾印檔案並提交支援票證
  1. 在復原 VM 上,移至連結 OS 磁碟上的 Windows 資料夾。 例如,如果指派給連結 OS 磁碟的驅動器號是 F,請移至 F:\Windows

  2. 找出 Memory.dmp 檔案,然後 提交支援票證 並附加傾印檔案。

如果您找不到傾印檔案,請移至後續步驟以啟用傾印記錄和序列主控台,然後觸發記憶體傾印程式。

步驟 2:啟用傾印記錄檔和序列主控台

重要事項

這個章節、方法或工作包含修改登錄的步驟。 然而,不當修改登錄可能會發生嚴重的問題。 因此,請務必謹慎地依照這些步驟執行。 若要獲得保護,請在進行修改前先備份登錄,以便在出現問題時還原登錄。 如需進一步了解如何備份及還原登錄的相關資訊,請參閱如何在 Windows 中備份及還原登錄

若要啟用傾印記錄和序列主控台,請執行下列腳本:

  1. 以系統管理員身分開啟提升許可權的命令提示字元會話。

  2. 使用 /ems/emssettings 選項執行下列 BCDEdit 命令:

    啟用序列主控台:

    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. 確認 OS 磁碟上的可用空間大於 VM 上的記憶體大小 (RAM) 。

    如果 OS 磁碟上沒有足夠的空間,請變更記憶體轉儲檔案的建立位置,並將該位置參考至連結至具有足夠可用空間之 VM 的任何數據磁碟。 若要變更位置,請在下列命令中將 取代 %SystemRoot% 為資料磁碟的驅動器號,例如 F:

    若要啟用 OS 傾印檔案,請執行下列 載入新增卸除 命令,以使用 reg 工具實作建議的 組態

    從中斷的 OS 磁碟載入登錄區:

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

    在 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
    

    在 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
    

    卸除中斷的 OS 磁碟:

    reg unload HKLM\<broken-system>
    

請確定磁碟上有足夠的空間可配置與 RAM 相同的記憶體,這取決於您為此 VM 選取的大小。 如果空間不足,或這是 G、GS 或 E 系列) (大型 VM,您可以變更建立此檔案的位置,並將它參考至連結至 VM 的任何其他數據磁碟。 若要這樣做,您必須修改登錄機碼,如下列程式代碼所示:

reg load HKLM\BROKENSYSTEM F:\windows\system32\config\SYSTEM

REG ADD "HKLM\BROKENSYSTEM\ControlSet001\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "<DRIVE LETTER OF YOUR DATA DISK>:\MEMORY.DMP" /f
REG ADD "HKLM\BROKENSYSTEM\ControlSet002\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "<DRIVE LETTER OF YOUR DATA DISK>:\MEMORY.DMP" /f

reg unload HKLM\BROKENSYSTEM

步驟 3:觸發記憶體轉儲程式

  1. 卸離 OS 磁碟,然後將 OS 磁碟重新連結至受影響的 VM

  2. 啟動 VM 並存取序列主控台。

  3. 取 [傳送不可遮罩的中斷 (NMI) 以觸發記憶體轉儲。

    [傳送不可遮罩的中斷] 項目的螢幕快照。

  4. 請遵循 步驟 1:再次直接收集傾印檔案 中的指示。

與我們連絡,以取得說明

如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以將產品意見反應提交給 Azure 意應見反社群