🪟

Azure Windows VMからキャプチャしたVMイメージからVMを作成するとエラーになった

2023/05/26に公開

事象

Windows VMの更新管理としてUpdate Management Centerを試そうとしていて、カスタムイメージを利用する際の挙動を確認すべく、VMをもとにしたカスタムイメージを作成(キャプチャ)した。そのイメージからVMを作成すると、このようなエラーが発生。

OS Provisioning for VM 'vm-win22-ja-acg' did not finish in the allotted time. However, the VM guest agent was detected running. This suggests the guest OS has not been properly prepared to be used as a VM image (with CreateOption=FromImage). To resolve this issue, either use the VHD as is with CreateOption=Attach or prepare it properly for use as an image:
Instructions for Windows: https://azure.microsoft.com/documentation/articles/virtual-machines-windows-upload-image/
Instructions for Linux: https://azure.microsoft.com/documentation/articles/virtual-machines-linux-capture-image/
仮想マシンを削除して再作成すると、問題が解決する可能性があります。

原因

  • VMにカスタマイズを施した後、Azure PortalのVM作成画面、「キャプチャ」からAzure Compute Galleryにイメージを吐き出すという処理をしていた
  • その際に「一般化」のオプションがあるため裏でSysprep的なことをしてくれいているのかと思ったら、そうでもないらしい

https://learn.microsoft.com/ja-jp/archive/blogs/jpaztech/cannot-start-vm

Azure ポータルからキャプチャを実行した仮想マシンは、Azure 上でも「一般化された仮想マシンである」というフラグが立てられる旨をご案内しましたが、こちらは、あくまで Azure 上にてフラグが立てられるのみの動作となります。
Windows OS や Linux OS としての一般化を実行するわけではないため、キャプチャを実行した仮想マシンと紐づく OS ディスクから仮想マシンを再作成し、仮想マシンの起動を行うことができます。

解決策

  • OS上でのSysprepをきちんと実施することにした
  • 横着せずにここの手順をやりましょうって話

https://learn.microsoft.com/ja-jp/azure/virtual-machines/generalize#windows

  • この手順をやると、OS側のシャットダウンが入るため、Azure Portal側で「停止」によって「割り当て解除」しておく

おわり

「クラウド…オウチャク…ダメゼッタイ」

GitHubで編集を提案

Discussion