我正在尝试通过将有缺陷的富士通 Amilo 笔记本电脑的 Windows 7 Professional 32 位安装转换为在带有 KVM 的 CentOS 6 下运行的 VM 来挽救它。我的步骤:
- 通过 USB-SATA 适配器将笔记本电脑的硬盘连接到 CentOS 机器,然后使用以下命令从中创建映像
sudo dd if=/dev/sdb of=/media/ImageStore/notebook.img bs=64M
在虚拟机管理器中创建一个虚拟机,选择“导入现有磁盘映像”,指定我刚刚创建的映像,并添加连接到 Windows 7 安装 CD 映像的 CDROM 驱动器。
regedt32
从 CD 映像启动虚拟机,选择“计算机修复选项”-“命令行”并输入运行注册表编辑器的命令。将结构
C:\Windows\System32\config\SYSTEM
(来自磁盘映像的 HKLM 配置单元)加载到 HKLM 中。在已加载的配置单元的
ControlSet001\services\atapi
和键中,将值从 3 更改为 0。ControlSet001\services\intelide
Start
卸载步骤4中加载的配置单元。
从硬盘映像重新启动虚拟机。
Windows 成功启动,检测到大量新硬件(正如预期),并继续为这些硬件安装设备驱动程序,无需我干预。此时,它完全可以使用,尽管它会弹出一些错误消息,抱怨不再存在的硬件,如 ATI 图形芯片和 Wistron 功能键。
驱动程序安装完成后,系统会弹出一条消息,要求重新启动以使更改生效。重新启动失败,并出现 BSOD 0x000000A IRQL_NOT_LESS_OR_EQUAL。Windows 启动修复运行并报告问题签名,BadDriver
但声明自己无法修复系统。
整个过程是可重复的,也就是说,我可以创建一个新的映像,并且该过程将导致相同的结果。如果我以安全模式启动,则没有任何区别。
自动安装的驱动程序之一是AMD PCI Express (3GIO) Filter Driver
。如果我在重新启动之前通过设备管理器卸载该驱动程序,则 VM 会再次成功启动。但是,Windows 会立即继续再次安装该驱动程序,并要求再次重新启动,然后像IRQL_NOT_LESS_OR_EQUAL
以前一样失败。
我该如何防止在下次尝试时安装致命的驱动程序?