镜像的 Windows 7 无法启动

镜像的 Windows 7 无法启动

我有一台物理 Windows7 系统 (HP),正在将用户迁移到新的 Windows10 机器。我想将这台机器虚拟化为备份。我克隆了驱动器,如果是 Windows 10,我可以在虚拟机管理程序环境中启动它。如果是 Windows 7,它无法启动。我尝试了启动修复,并收到“未指定的系统配置更改可能导致了问题。”这很合理。我可以从 Windows7 磁盘重新安装操作系统,但随后它会将所有内容移动到 Windows.old,这违背了此移动的目的。

我试过了:

  • bootrec /fixmbr(我认为这不会产生任何作用,因为这是一个 EFI 安装)
  • bootrec /fixboot
  • bootrec /rebuildbcd
  • 有趣的是bootrec /scanos返回 0 个找到的安装
  • 我已经完成了chkdsk,很好
  • 我有启动日志Boot Logging
  • Safe Mode with Command Prompt挂起Loaded: \windows\system32\drivers\CLASSPNP.SYS并重新启动以进行恢复
  • 我甚至疯狂了,因为我有这个虚拟机的快照,并进行了单独的全新安装,并从恢复 ISO 运行它:
    • robocopy /mir clean_install:\windows\system32\drivers broken_vm:\windows\system32\drivers
    • robocopy /mir clean_install:\windows broken_vm:\windows
    • robocopy /mir clean_install:\boot broken_vm:\boot
  • 我还启动了 Windows ISO 恢复并为其提供了 qemu 驱动程序 ISO:
    • for /r %d in (*.inf) do drvload %d
    • for /r %d in (*.inf) do c:\windows\pnputil -i -a %d
    • for /r %d in (*.inf) do copy %d C:\windows\system32\drivers

但这些都不能解决问题(我想这是有道理的,我没想到会这样)。我还尝试了s之间的bootrec命令和。Startup Repiarrobocopy

我可以复制用户的文档/下载/桌面/等,但如果我错过了已安装的程序,那么它们就会被卡住,直到我能找到安装程序并修复它。

编辑:

我使用 clonezilla 创建了一个映像(作为备份),然后使用 clonezilla 将该映像恢复到 VM 的磁盘。

我使用 proxmox (quemu) 作为虚拟机管理程序。我使用 UEFI。我能够使用 UEFI 在此 VM 上重新安装 Windows 7,并且运行正常,只是所有内容都移到了 Windows.old。

我不确定它是否是物理上的 UEFI,但如果我尝试启动 BIOS,它似乎会停止,Booting from Hard Disk但如果我使用 UEFI 启动,我至少会看到 Windows 徽标。此外,磁盘是 gpt,我觉得这意味着 UEFI;linux 中的 fdisk 显示:

Disk /dev/sda: 1 TiB, 1099511627776 bytes, 2147483648 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt

Device          Start        End    Sectors   Size Type
/dev/sda1        2048     206847     204800   100M EFI System
/dev/sda2      206848     468991     262144   128M Microsoft reserved
/dev/sda3      468992 1918310399 1917841408 914.5G Microsoft basic data
/dev/sda4  1918310400 1953523711   35213312  16.8G Microsoft basic data

我想知道我是否可以回到物理机器,是否可以运行 sysprep 来制作更兼容的图像;我不想修改原始物理,但我想既然我有它的图像,我可以在捕获 sysprep 版本后恢复该图像。

答案1

我能够通过运行 sysprep 到 OOBE、通过 OOBE 并删除 OOBE 用户来使其工作。然后我能够将源计算机重新映像到运行 sysprep 之前的状态。

相关内容