已上传到 Azure 的 Sysprep VHD 在启动诊断中停留在语言选择状态。

已上传到 Azure 的 Sysprep VHD 在启动诊断中停留在语言选择状态。

我正在尝试从我们的内部 WDS 将 VHD 上传到 Azure(资源管理器),以便保持 Azure 和本地虚拟机之间的内部平台的连续性。

我已经能够成功完成系统准备并上传 VHD。我还能够使用 Azure PowerShell 创建 VM。但是,实际创建 VM 的最终命令在一段时间后失败了。

我调查了该问题并发现 VM 已在 Azure 中成功创建,但是,在查看启动诊断屏幕(VM 启动过程的屏幕截图)后,我发现系统卡在 sysprep 过程的语言选择/EULA 接受部分。

所以我的问题是:绕过语言/EULA 屏幕并让 VM 启动到 Windows 的最佳方法是什么?

我在网上找不到太多与此相关的资料,所以我觉得我可能错过了一些简单的东西。然而,我找不到包含我没做过​​的事情的资源。

谢谢。

答案1

这最终是用户错误。我使用以下命令将 VHD 附加到 VM:

$vm = Set-AzureRmVMOSDisk -VM $vm -Name $osDiskName -VhdUri $osDiskUri -CreateOption Attach -Windows

我应该使用以下命令:

vm = Set-AzureRmVMOSDisk -VM $vm -Name $osDiskName -VhdUri $osDiskUri -CreateOption fromImage -SourceImageUri $urlOfUploadedImageVhd -Windows

主要区别在于,第一个命令只是将 VHD 附加到新创建的 VM,而第二个命令使用上传的 VHD 作为新 VHD 的模板。

错误的命令不会将 unattend.xml 文件附加到 VM,只有第二个命令才这样做,因此系统在启动过程中从未通过 OOBE 窗口。

我获得了有关如何连接虚拟机的正确信息这里

相关内容