共用方式為


針對 Azure 虛擬桌面中的自訂映像範本進行疑難排解

Azure 虛擬桌面中的自訂映像範本可讓您輕鬆地建立可在部署工作階段主機虛擬機器 (VM) 時使用的自訂映像。 本文可協助您針對可能會遇到的一些問題進行疑難排解。

建立映像時的一般疑難排解

Azure Image Builder 會使用 Hashicorp Packer 來建立映像。 Packer 會將所有記錄項目輸出至名為 customization.log 的檔案。 根據預設,此檔案位於 Azure Image Builder 根據命名慣例 (IT_<ResourceGroupName>_<TemplateName>_<GUID>) 自動建立的資源群組中。 您可以在範本建立階段中指定您自己的名稱,以覆寫此命名。

在此資源群組中的儲存體帳戶包含一個名為 packerlogs 的 Blob 容器。 容器中是以 GUID 命名的資料夾,您可以在其中找到記錄檔。 您用來自訂映像的內建指令碼項目會從啟動 AVD AIB 自訂:{指令碼名稱}: {時間戳記} 開始,以協助您找出與指令碼相關的任何錯誤。

若要了解如何解譯 Azure Image Builder 記錄,請參閱針對 Azure VM Image Builder 進行疑難排解

重要

Microsoft 支援服務不會處理任何客戶所建立指令碼的問題,或任何從 Microsoft 存放庫複製並修改的任何指令碼或範本的問題。 歡迎您在我們的 GitHub 存放庫中共同作業並改善這些工具,您也可以在其中提出問題。 如需詳細資訊,請參閱為什麼我們不支援客戶或第三方指令碼?

資源群組必須是空的

如果您指定自己的資源群組來讓 Azure Image Builder 使用,則在開始建置映像之前,該資源群組必須是空的。 這表示如果您想要針對此目的重複使用現有的資源群組,您只需要刪除其中的所有資源即可。 或者,如果您需要保留這些項目,您可以在範本建立時,在 [建置屬性] 索引標籤上指定另一個新的資源群組。

指令碼無法使用

如果您看到訊息:資源 <URI> 無法使用。請確認檔案存在,而且可供 Image Builder 存取,並檢查指令碼的統一資源識別項 (URI)。 這必須是公開可用的位置,例如 GitHub 或 Web 服務。

如果您看到訊息:驗證失敗:Hyper-V 版本驗證發生錯誤 (不支援跨世代的多個 Hyper-V 版本)。提供的 SIG:<資源識別碼>的 Hyper-V 世代 <版本> 與來源映像 <版本> 不同,請確認來源映像的世代與您為 Azure Compute Gallery VM 映像定義指定的世代一樣。

當您選取要使用的映像時,來源映像的世代就會隨之顯示。 您可以在 Azure 入口網站、Azure CLI (使用 az sig image-definition list 參考命令),或 PowerShell (使用 Get-AzGalleryImageDefinition Cmdlet) 中,確認 VM 映像定義的世代。

指定的子網路未停用 PrivateLinkService 網路原則

如果您收到開頭為指定子網路的 PrivateLinkService 網路原則未停用的錯誤訊息,您必須停用子網路上的「私人服務原則」。 如需詳細資訊,請參閱在子網路上停用私人服務原則

在 Windows 10 映像上安裝或啟用其他語言的問題

自訂映像範本可以使用 Install-Language PowerShell Cmdlet 來新增其他語言。 如果您在 Windows 10 企業版和 Windows 10 企業版多工作階段映像上安裝或啟用其他語言時遇到問題,請確定:

  • 您未在映像上透過群組原則停用安裝語言套件。 您可以在下列位置中找到原則設定:

    • 電腦設定>系統管理範本>控制台>區域和語言選像>限制語言套件和語言功能安裝

    • 使用者設定>系統管理範本>控制台>區域和語言選項>限制語言套件和語言功能安裝

  • 您的工作階段主機可以連線到 Windows Update 來下載語言和最新的累積更新。

無法從 Azure 入口網站中的 [來源映像] 索引標籤取得進展

在 Azure 入口網站中建立自訂映像範本時,如果您選取 [Azure Compute Gallery] 作為 [來源類型],則可能無法從 [來源映像] 索引標籤取得進展。 索引標籤名稱旁會出現紅色 X。 因應措施是選取 [上一步] 以返回 [基本] 索引標籤,然後選取 [下一步] 以返回 [來源映像] 索引標籤。您現在應該能夠繼續前往下一個索引標籤,而該索引標籤名稱旁邊會出現綠色核取記號。

Azure 容器群組作業期間發生授權錯誤

因為與 Azure Image Builder 的相依性,自訂映像範本時,需要在訂用帳戶上註冊 Microsoft.ContainerInstance 資源提供者。 如果收到錯誤 The client '<GUID>' with object id '<GUID>' does not have authorization to perform action 'Microsoft.ContainerInstance/register/action' over scope '/subscriptions/<subscription ID>' or the scope is invalid,則必須在訂用帳戶上註冊 Microsoft.ContainerInstance 資源提供者。 註冊資源提供者之後,請再試一次該動作。 若要進一步瞭解如何檢查註冊狀態及如何註冊,請參閱 Azure 資源提供者和類型