我在装有 WinXP 的虚拟盒上有一个旧的虚拟机,我将它转换为原始 QEMU 格式,我尝试在 Win10 和 Debian 上运行该映像,但出现了这个 BSOD。
这是 Windows 上的命令行,我尝试运行它
"C:\Program Files\qemu\qemu-system-x86_64.exe" -drive format=raw,file=winxp.img -L "C:\Program Files\qemu"
我在 Windows 10 上使用的 QEMU 版本
QEMU 模拟器版本 5.2.0(v5.2.0-11852-g66075e5998-dirty)
这是错误信息
*** 停止:0x0000007B (0xF7A09528,0xC0000034,0x00000000,0x00000000)
任何想法?
答案1
正如注释中所说,0x0000007b 表示缺少启动设备。这很可能是因为您的 winxp 默认安装没有虚拟硬盘接口的驱动程序,而 qemu 会为其提供该驱动程序。
玩弄-device
标志,并在网上谷歌搜索,qemu 很有可能可以提供一个虚拟硬盘控制器,该控制器在默认的 winxp 安装中有一个驱动程序。
请注意,安装开始时之所以能成功,是因为虚拟 bios 已经成功(qemu 也提供)。当你看到蓝色死亡时,你已经处于保护模式,无法访问 bios 驱动程序。WinXP 当时需要加载硬盘控制器驱动程序,但这并没有发生。
这个命令对我有用:
qemu-system-i386 -hda work/winxp.img \
-cdrom dl/winxp.iso -boot d -cpu qemu64 -m 512 \
-vga cirrus -display vnc=0.0.0.0:1 \
-net nic,model=rtl8139 -net user
结果是 winxp 可以正常工作。我该如何改进它(比如使用 virtio 等),目前我都不知道。