VM 啟動停滯於「準備 Windows。 請勿在 Azure 中關閉電腦」
本文說明當您在 Microsoft Azure 中啟動 Windows 虛擬機器 (VM) 時,可能會遇到的「準備就緒」和「準備 Windows 就緒」畫面。 它提供協助您收集支援票證數據的步驟。
注意事項
本文是否有幫助? 您的輸入對我們很重要。 請使用此頁面上的 [ 意見反應 ] 按鈕,讓我們知道本文如何為您運作,或我們如何加以改善。
徵狀
Windows VM 不會啟動。 當您使用 開機診斷 來取得 VM 的螢幕快照時,您可能會看到 VM 顯示訊息「準備就緒」或「準備 Windows 就緒」。
原因
通常,當伺服器在組態變更之後執行最後的重新啟動時,就會發生此問題。 組態變更可能會由 Windows 更新或伺服器的角色或功能變更初始化。 針對 Windows Update,如果更新很大,操作系統需要更多時間來重新設定變更。
解決方案 1:從備份還原 VM
如果您有 VM 的最新備份,您可以嘗試 從備份還原 VM ,以修正啟動問題。
解決方案 2:收集 OS 記憶體轉儲檔案
如果無法從備份還原 VM 或無法解決問題,您必須收集記憶體傾印檔案,以便分析損毀。
步驟 1:直接收集傾印檔案
第 1 部分:將 OS 磁碟連結至復原 VM
擷取受影響 VM 的 OS 磁碟快照集,以建立備份。 如需詳細資訊,請 參閱建立虛擬硬碟的快照集。
使用遠端桌面通訊協定 (RDP) 從遠端連線到復原 VM。
如果受影響 VM 的 OS 磁碟已加密,請先關閉加密,再移至下一個步驟。 如需詳細資訊,請參閱 解密加密的OS磁碟。
第 2 部分:找出傾印檔案並提交支援票證
在復原 VM 上,移至連結 OS 磁碟上的 Windows 資料夾。 例如,如果指派給連結 OS 磁碟的驅動器號是 F,請移至 F:\Windows。
找出 Memory.dmp 檔案,然後 提交支援票證 並附加傾印檔案。
如果您找不到傾印檔案,請移至後續步驟以啟用傾印記錄和序列主控台,然後觸發記憶體傾印程式。
步驟 2:啟用傾印記錄檔和序列主控台
重要事項
這個章節、方法或工作包含修改登錄的步驟。 然而,不當修改登錄可能會發生嚴重的問題。 因此,請務必謹慎地依照這些步驟執行。 若要獲得保護,請在進行修改前先備份登錄,以便在出現問題時還原登錄。 如需進一步了解如何備份及還原登錄的相關資訊,請參閱如何在 Windows 中備份及還原登錄。
若要啟用傾印記錄和序列主控台,請執行下列腳本:
以系統管理員身分開啟提升許可權的命令提示字元會話。
使用 /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
確認 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:觸發記憶體轉儲程式
啟動 VM 並存取序列主控台。
選 取 [傳送不可遮罩的中斷 (NMI) 以觸發記憶體轉儲。
請遵循 步驟 1:再次直接收集傾印檔案 中的指示。
與我們連絡,以取得說明
如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以將產品意見反應提交給 Azure 意應見反社群。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應