如何使用開機診斷對 Azure 中的虛擬機進行疑難解答

虛擬機進入無法開機狀態的原因有很多。 若要解決使用 Resource Manager 部署模型建立的虛擬機問題,您可以使用下列偵錯功能:Azure 虛擬機的控制台輸出和螢幕快照支援。

針對 Linux 虛擬機,您可以從入口網站檢視控制台記錄的輸出。 對於 Windows 和 Linux 虛擬機,Azure 可讓您從 Hypervisor 看到 VM 的螢幕快照。 所有區域中的 Azure 虛擬機都支援這兩個功能。 請注意,螢幕快照和輸出最多可能需要 10 分鐘才會出現在您的記憶體帳戶中。

您可以選取 [開機診斷] 選項來檢視記錄和螢幕快照。

Azure 入口網站 [開機診斷] 頁面中 [螢幕快照] 索引標籤的螢幕快照。

常見的開機錯誤

在使用 Azure 入口網站建立的虛擬機上啟用診斷

下列程式適用於使用 Resource Manager 部署模型建立的虛擬機。

在 [ 管理] 索引標籤的 [ 監視 ] 區段中,確定 開啟開機診斷 。 默認設定是使用受控記憶體帳戶啟用開機診斷。

VM 建立開機診斷頁面中選項的螢幕快照

注意事項

開機診斷功能不支援進階記憶體帳戶或區域備援記憶體帳戶類型。 如果您使用進階記憶體帳戶進行開機診斷,您可能會在啟動 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 範本

在現有的虛擬機上啟用開機診斷

若要在現有的虛擬機上啟用開機診斷,請遵循下列步驟:

  1. 登入 Azure 入口網站,然後選取虛擬機。

  2. 在 [ 說明] 區段中,選取 [ 開機診斷],然後選取 [ 設定] 索引卷 標。

  3. 在 [ 開機診斷 設定] 中,選取具有Managed記憶體帳戶或自定義記憶體帳戶的開機診斷。 現有 VM 開機診斷頁面中選項的螢幕快照

  4. 儲存變更。

使用 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 意應見反社群