我正在转向 Windows 10,但我需要保留可通过 Hyper-V 主机使用的旧 Windows 7 安装。
我尝试将虚拟机连接到旧的 Win7 磁盘,但出现 0x7B STOP 错误(无法访问的启动设备),这表明 Win7 安装没有安装适合更改为虚拟机的正确驱动程序。
我已经在 Google 上搜索了很久,但还是找不到明确的“如何为 P2V 准备现有的 Win7 操作系统”类型的解决方案(大多数讨论如何准备干净的映像)。有没有关于如何修改 Win7 安装以使其在 Win10-HyperV 下运行的建议?
答案1
终于找到了一篇有用的文章,并设法解决了各种问题,因此我将在这里为其他人记录下来。
我的机器有 500GB SSD,安装了 Windows 7 Pro。安装了一个新的 1TB SSD 作为主磁盘,并安装了 Windows 10 Pro。添加了 Hyper-V 客户端,然后将旧的 SSD 磁盘转换为 .VHD 文件。
问题
当我尝试在 Win10 Hyper-V 下将 VHD 作为虚拟客户端 PC 运行时,出现了蓝屏错误STOP 0x0000007b (inaccessible boot device)
。一秒钟后,蓝屏消失,虚拟机重新启动。这通常是由驱动程序问题引起的(因为 P2V 移动意味着硬件发生了变化)。
解决方案
我终于找到了TechNet 文章 档案馆关于此问题,建议检查三个驱动程序文件并重置一些注册表项。
- 我在 Win10 中安装了 VHD,并验证了驱动程序文件是否存在(确实存在)
- 我安装了 Win7 VHD 的注册表并修复了文章中的注册表项(我全部做了,因为如果 VHD 坏了我可以重新创建它)。
- 卸载注册表,然后卸载 VHD
- 重启虚拟机
更多错误
这次我们得到了一个不同的错误 - 它启动失败,提示
文件:\Windows\System32\winload.exe 状态:0xc0000002 信息:无法加载所选条目,因为应用程序丢失或损坏。
我尝试按照这篇文章进行操作:如何修复 Windows 7 启动时 winload.exe 丢失或损坏的问题?- 这涉及安装 Win7 DVD 并启动到此,但这不起作用。
但是,修复选项显示它可以发现错误并进行纠正。修复选项成功了,我现在可以将 Win7 操作系统作为虚拟机启动。太棒了!