我正在设置一个虚拟机来托管带有特定旧版软件的 Windows XP 环境,以替换客户损坏的 Dell MTC2 桌面。我使用Disk2vhd从客户的 IDE 硬盘生成 VHD,并使用VirtualBox创建了虚拟机。系统开始启动,但随后停止并出现以下 BSOD 错误:
如果我将目录从不同的 Win XP 安装复制C:\WINDOWS
到同一个驱动器并从它启动,则一切正常。我怀疑C:\WINNT
目录中的某处存在损坏的文件或注册表项。我尝试在故障恢复控制台中运行chkdsk /r
、bootcfg /rebuild
和fixboot
,但操作系统仍然无法启动。
本教程提到“Windows 会记住它安装在哪个 IDE/ATA 控制器上,并且在控制器更改时无法启动。” 它说解决方案“是对 Windows 注册表进行一些修改”以禁用这些检查,使用一个名为MergeIDE
. 不幸的是,这种方法需要原始计算机能够正常工作,但事实并非如此。它还提供了指向 MS Docs 页面的链接,但我找不到任何详细说明如何禁用此检查的内容。
我该如何解决这个问题?
为了将来参考,MergeIDE 实用程序似乎只是一个
.reg
和.bat
文件。对于无法启动原始机器的任何人,请尝试下载 MergeIDE,解压缩文件并查看注册表项和批处理脚本。您需要进行的每项更改都已在这些文件中为您定义。