我的主机是 Ubuntu 20.04 服务器,虚拟机管理程序是 QEMU-KVM v6.0.0。我使用 SATA 存储创建了简单的虚拟机配置,并成功安装了 Windows 7 SP1 64 位。此后,所有手册都建议添加临时 virtio 磁盘,让 Windows 7 安装必要的驱动程序,然后切换到新的磁盘类型。
我从https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/,将下载的映像文件附加到虚拟机并尝试安装驱动程序。
什么都没起作用。Windows 7 成功识别出驱动程序文件是由 Red Hat Inc. 签名的,但它拒绝加载驱动程序,因为它无法验证数字签名,直到任何受信任的根证书。
我可能能够牺牲一些磁盘 IO 性能,我可能不需要以绝对最大 IO 速度运行虚拟机,但从虚拟机管理程序导出的其他 3 个设备也观察到了完全相同的情况:图形、ACPI、内存管理器和其他东西......
我可能遗漏了一些东西,因为即使这个网站上的这篇文章也建议从同一位置安装 Windows 10 的驱动程序,而 Windows 7 和 Windows 10 在驱动程序签名方面没有什么不同。
如何使用 Windows 客户机正确配置 Virt-Manager (QEMU/KVM)
请帮忙。
答案1
fedorapeople.org 上有签名和未签名的驱动程序。可以只安装签名的驱动程序。但是,有一个小问题。Windows 安装程序中包含的几个根证书最近已过期。因此,Windows 7 安装程序无法验证最新版本的驱动程序,因为相应的根证书仅在更新后可用。
这样,最简单的解决方案是使用虚拟化 SATA HDD 安装一份 Windows 7 SP1,然后在一系列必要的更新之后将其更改为 virtio。
答案2
您需要使用不同版本的 virtio 驱动程序,例如 173-9 (https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.173-9/virtio-win-0.1.173.iso)。
目前,最新版本的 virtio 驱动程序 (204-1) 无法被 Windows 7 识别为在安装期间签名的版本,因此无法使用。(Paul Vetrov 的回答对此进行了解释,尽管我没有资格说它是否正确。)但是,早期版本可以被识别并且确实可以工作!例如,我能够使用版本 160-1 和 173-9。版本 185-1(173-9 之后的下一个版本)不起作用,我认为 185-1 和 204-1 之间的所有版本也不起作用。
答案3
我也推荐 0.1.173-9。请查看我的测试以了解原因。
https://github.com/virtio-win/virtio-win-pkg-scripts/issues/40#issuecomment-1565538797
答案4
我的经历是这样的:
- 安装客户机工具(从 iso 根目录)对 173-1 以上的任何版本都不起作用。它说无法启动“vdservice”,我不知道那是什么。也许是“虚拟目录服务”,在这种情况下,我可以通过不安装目录共享来解决这个问题。
- 我可以从 173-4 安装网络驱动程序(来自 NetKVM 目录)。但这是手动安装。
- 173-1 在 cd 根目录中没有客户工具。
我相信,将这些打包在一起,没有什么能真正发挥作用,已经有 173 个了,但可以通过一些额外的点击和思考来完成。
我很幸运,我只需要 virtio-network,所以我没问题。如果我需要一个真正顶级的虚拟 win7,我的下一次尝试将是最新的前全部 173 个版本。