未执行sysprep /generalize捕获Azure VM镜像后恢复原VM方法咨询
兄弟,你这情况我碰过好多次了,别慌,完全能恢复!下面是亲测有效的步骤,一步步来就行:
恢复原Azure虚拟机并生成有效镜像的步骤
一、先给原VM的系统盘做备份(重中之重)
- 登录Azure门户,找到原VM对应的存储账户
- 定位到VM的操作系统磁盘VHD,先给它创建一个快照,或者直接把VHD复制到同一存储账户的另一个容器里(快照更省心,后续也能转成VHD)
- 备份完成后,所有操作都基于这个备份副本,绝对不能碰原磁盘,避免彻底搞砸
二、基于备份VHD创建临时VM
- 新建一个临时VM,注意要和原VM用相同的操作系统版本、相同的VM大小,不然可能出现兼容性问题
- 创建到磁盘步骤时,选择「使用现有磁盘」,选中刚才备份的VHD副本作为系统盘
- 完成创建后,远程登录这个临时VM,确认它能正常启动(这一步是验证备份没问题,同时给后续操作搭环境)
三、修复临时VM的系统配置(核心操作)
- 远程登录后,打开注册表编辑器(运行
regedit.exe) - 导航到路径:
HKEY_LOCAL_MACHINE\SYSTEM\Setup - 做以下修改:
- 找到
OOBEInProgress和SystemSetupInProgress这两个DWORD项,把它们的数值都改成0(如果找不到就右键新建DWORD项) - 如果存在
SetupType项,直接删除它
- 找到
- 关闭注册表,打开命令提示符(管理员权限),执行命令:
bcdedit /set {default} recoveryenabled No,这一步是禁用自动恢复,避免启动时卡OOBE循环
四、执行正确的Sysprep并捕获有效镜像
- 在临时VM的命令提示符里,执行标准的Sysprep命令:
sysprep /generalize /oobe /shutdown - 一定要等Sysprep完全执行完毕,VM自动关闭后再操作
- 回到Azure门户,找到这个已经关闭的临时VM,现在就可以正常捕获镜像了——这次是做过generalize的,完全可以用来创建新VM
五、(可选)恢复原VM
- 如果想回到未捕获镜像前的状态,直接用最开始备份的VHD副本创建一个新VM,替换掉原来无法启动的VM就行
内容的提问来源于stack exchange,提问作者MadSkeletor
相关产品推荐
相关产品推荐

