如何使用開機診斷對 Azure 中的虛擬機器進行疑難排解
適用於:✔️ Linux VM ✔️ Windows VM
虛擬機進入無法開機狀態的原因有很多。 若要解決使用 Resource Manager 部署模型建立的虛擬機問題,您可以使用下列偵錯功能:Azure 虛擬機的控制台輸出和螢幕快照支援。
針對 Linux 虛擬機,您可以從入口網站檢視控制台記錄的輸出。 針對 Windows 和 Linux 虛擬機,Azure 可讓您查看 Hypervisor 中 VM 的螢幕快照。 所有區域中的 Azure 虛擬機都支援這兩項功能。 請注意,螢幕快照和輸出最多可能需要 10 分鐘才會出現在記憶體帳戶中。
您可以選取 [開機診斷] 選項來檢視記錄檔和螢幕快照。
常見的開機錯誤
- 0xC000000E
- 0xC000000F
- 0xC0000011
- 0xC0000034
- 0xC0000098
- 0xC00000BA
- 0xC000014C
- 0xC0000221
- 0xC0000225
- 0xC0000359
- 0xC0000605
- 找不到作業系統
- 開機失敗或INACCESSIBLE_BOOT_DEVICE
在使用 Azure 入口網站建立的虛擬機上啟用診斷
下列程式適用於使用 Resource Manager 部署模型建立的虛擬機。
在 [管理] 索引標籤的 [監視] 區段中,確定已開啟開機診斷。 默認設定是使用受控記憶體帳戶啟用開機診斷。
注意
開機診斷功能不支援進階記憶體帳戶或區域備援記憶體帳戶類型。 如果您使用進階記憶體帳戶進行開機診斷,當您啟動 VM 時,可能會收到 StorageAccountTypeNotSupported 錯誤。
從 Azure Resource Manager 樣本部署
如果您要從 Azure Resource Manager 範本進行部署,請流覽至您的虛擬機器資源,並附加診斷配置檔區段。 將 API 版本標頭設定為 「2015-06-15」 或更新版本。 最新版本是 “2018-10-01”。
{
"apiVersion": "2018-10-01",
"type": "Microsoft.Compute/virtualMachines",
…
診斷配置檔可讓您選取您要放置這些記錄的記憶體帳戶。
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": true,
"storageUri": "[concat('https://', parameters('newStorageAccountName'), '.blob.core.windows.net')]"
}
}
}
}
如需使用範本部署資源的詳細資訊,請參閱快速入門:使用 Azure 入口網站 建立及部署 Azure Resource Manager 範本。
在現有的虛擬機上啟用開機診斷
若要在現有的虛擬機上啟用開機診斷,請遵循下列步驟:
登入 Azure 入口網站,然後選取虛擬機。
在 [說明] 區段中,選取 [開機診斷],然後選取 [設定] 索引卷標。
在 [開機診斷 設定] 中,選取具有受控記憶體帳戶或自定義記憶體帳戶的開機診斷。
儲存變更。
使用 Azure CLI 啟用開機診斷
您可以使用 Azure CLI 在現有的 Azure 虛擬機上啟用開機診斷。 如需詳細資訊,請參閱 az vm boot-diagnostics。
修正開機診斷螢幕快照未重新整理
如果您注意到 Azure VM 的開機診斷螢幕快照在 Azure 入口網站 已過時,請先確定客體操作系統中已停用虛擬顯示逾時。 例如,您可能會在登入畫面上看到 Windows VM 已過時的時間。
針對 Windows,請從提升許可權的 CMD 執行下列命令
powercfg /setacvalueindex SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 0
針對 Linux,執行下列命令
xset s off
針對 Windows VM,Azure 布建代理程式與 VM 代理程式不同。 它會在布建從一般化映像建立的 VM 期間執行上述命令。 如果您在 C:\Windows\Panther\WaSetup.xml中搜尋 powercfg,這是布建代理程式記錄檔,您就可以看到此事件。 但是,由於布建代理程式不需要針對從特製化 VHD 建立的 VM 執行,因此您必須手動執行 powercfg 命令來停用虛擬顯示逾時。 此外,您也可以從一般化映射建立一個特別舊的 Azure VM,因為布建代理程式在更新布建代理程式之前已建立,以停用虛擬顯示逾時。
與我們連絡,以取得說明
如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。