无法捕获Azure VM的映像

无法捕获Azure VM的映像,azure,virtual-machine,vhd,Azure,Virtual Machine,Vhd,我认为这篇文章要么不正确,要么不完整。我自己也做过很多测试(详情如下),超过24个人在页面上抱怨这些指令不起作用和/或损坏了他们的虚拟机。说明中肯定遗漏了一些东西,因为人们必须能够从Azure VM捕获图像 页面上的说明非常简单: 将远程桌面安装到Azure VM中 打开管理员命令窗口 使用指定的设置运行sysprep(开箱即用体验、通用化、关机) 点击OK 等待系统关闭VM 单击门户中的“捕获” 这听起来很简单,但虚拟机从未真正关闭,因此您无法实际单击capure按钮。如果手动关闭实例,

我认为这篇文章要么不正确,要么不完整。我自己也做过很多测试(详情如下),超过24个人在页面上抱怨这些指令不起作用和/或损坏了他们的虚拟机。说明中肯定遗漏了一些东西,因为人们必须能够从Azure VM捕获图像

页面上的说明非常简单:

  • 将远程桌面安装到Azure VM中
  • 打开管理员命令窗口
  • 使用指定的设置运行sysprep(开箱即用体验、通用化、关机)
  • 点击OK
  • 等待系统关闭VM
  • 单击门户中的“捕获”
这听起来很简单,但虚拟机从未真正关闭,因此您无法实际单击capure按钮。如果手动关闭实例,即使在等待数小时后,生成的映像也无法工作,并且原始vhd在此过程中被销毁

是否有人可以确认您能够使用此工作流或其他工作流捕获正在运行的Azure实例?如果是这样的话,你能告诉我你做的和我做的有什么不同吗

详细信息-我运行的测试如下:

测试1-小实例上的Win2k8 R2

  • 在美国西部地区启动Win2k8 R2的一个小实例
  • 将远程桌面导入到映像中
  • 使用OOBE运行sysprep、泛化、关机
  • Azure dashboard显示sysprep 15分钟后完成的所有CPU活动,设备处于空闲状态,稳态为0.41%CPU
  • 等待几个小时(>2.5小时,在编写此实例时,>12小时,在其他测试时)
  • Azure VM仍在运行,实例的捕获按钮在门户中不可用
测试2-大型实例上的Win2k8 R2

  • 步骤与测试1相同,但在大型实例上
  • 结果相同,但稳态CPU利用率在15分钟后为0.08%
测试3-小实例上的Win2k12数据中心版

  • 步骤与测试1相同,但运行Win2k12数据中心
  • 与测试1的结果相同,但稳态CPU利用率为4.2%
测试4-使用Windows update在小实例上运行Win2k8 R2

  • 与测试1相同的步骤,但在运行sysprep之前重复运行Windows Update,直到没有更多可用的更新
  • 与测试1的结果相同
测试5-使用Visual Studio 2012更新3在小实例上运行Win2k8 R2

  • 步骤与测试1相同,但在运行sysprep之前安装VS2012 Ultimate和VS2012 Update 3
  • 与测试1的结果相同
测试6-在具有完全配置的IIS服务器的大型实例上运行Win2k8 R2

  • 在大型实例上提供我们的标准服务器配置(IIS、.NET 4.5)
  • 运行我们的标准web服务测试
  • 使用OOBE运行sysprep、泛化、关机
  • 等待4小时,允许sysprep运行
  • 使用门户关闭实例
  • 使用门户捕获实例
  • 生成的映像不起作用(带有映像的资源调配计算机在几个小时后超时)
  • 原始VHD不工作(无法将桌面远程连接到使用VHD创建的实例中)
测试7-在具有完全配置的IIS服务器的大型实例上运行Win2k8 R2

  • 与测试6相同,只是等待12小时以允许sysprep运行
  • 在撰写本文时(12个多小时),虚拟机仍未关闭

对您的工作流程做一个简单的更改:在sysprep期间,选择退出而不是关闭。这将完成sysprep过程,但随后仅退出sysprep应用程序

tl;dr:在命令行上运行以下命令:

c:\windows\system32\sysprep\sysprep.exe /generalize /oobe /quit
此时,您只需在门户中选择正在运行的VM并将其关闭(只需几分钟)。然后您可以查看它,它将显示为stopped(deallocated)。此时,按照您指向的教程中所述创建图像。您将给它一个名称(例如“我的专用图像”),单击表示它已被系统预处理的复选框,然后单击确定。创建映像,删除原始vhd(因为现在有了它的通用版本),在订阅中将映像注册为库中可选择的映像(这需要几分钟),然后完成

此时,从gallery创建一个新图像。查看我的图像-您将看到列出的全新图像(您可能需要等待一分钟左右才能尝试此操作-它可能不会立即显示在列表中)

现在只需给它一个用户名和密码,你就可以全部设置好了


注意:如果您担心在这一步中丢失虚拟机(例如,出现问题),您始终可以先复制vhd。您需要使用PowerShell(或基于跨平台节点的命令行工具),两者都可以从windowsazure.com页面下载。然后,您可以将vhd复制到一个全新的blob,这实际上为您提供了一个备份。如果出现问题,您可以使用备份的映像作为新虚拟机的基础(尚未准备好sysprep),也可以复制它(依此类推)。要做到这一点,您需要vhd的url,它显示在运行VM的仪表板页面的磁盘部分。

您参考的指南给我带来了大量问题!我希望在执行这些步骤之前先阅读评论。关闭(正如您所提到的)然后失去管理员访问权花费了很长时间,因此必须将磁盘移植到新的VM并重新配置操作系统。这也是现场直播。。我错误地认为这将是一个5分钟的操作!如果您首先创建了另一个管理员帐户,或者准备丢失原始VM,则此过程有效。@QF_Developer-您可以发布以“在azure上启动一个小型Win2k8 R2映像并…”开头的工作流,然后