共用方式為


VM 啟動停滯於「讓 Windows 就緒」。 請勿在 Azure 中關閉您的電腦」

適用於:✔️ Windows VM

本文說明當您在 Azure Microsoft 中啟動 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 選取的大小。 如果空間不足,或這是大型 VM(G、GS 或 E 系列),您可以變更建立此檔案的位置,並參考附加至 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 意見反應社群提交產品意見反應。