![如何在 ZVOL 上安装 Windows 10 KVM VM:选择正确的 virtio 驱动程序](https://linux22.com/image/140454/%E5%A6%82%E4%BD%95%E5%9C%A8%20ZVOL%20%E4%B8%8A%E5%AE%89%E8%A3%85%20Windows%2010%20KVM%20VM%EF%BC%9A%E9%80%89%E6%8B%A9%E6%AD%A3%E7%A1%AE%E7%9A%84%20virtio%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F.png)
我尝试在 NTFS 格式的 zvol 上安装 Windows 10,但我不断收到 BSOD:
user@ubuntu:~$ virt-install \
> --name myWINVM1 \
> --ram 4096 \
> --disk path=/guest_images2/myWINVM1.img,bus=virtio,size=120 \
> --vcpus 4 \
> --os-type windows \
> --os-variant win10 \
> --network bridge=virbr0 \
> --graphics vnc \
> --console pty,target_type=serial \
> --disk /home/user/Downloads/Win10_Edu_1803_English_x64.iso,device=cdrom,bus=ide \
> --disk /home/user/Downloads/virtio-win-0.1.141.iso,device=cdrom,bus=ide
Starting install...
Allocating 'myWINVM1.img' | 120 GB 00:00
Domain creation completed.
Restarting guest.
尝试遵循此处的建议https://bugzilla.redhat.com/show_bug.cgi?id=1593190,我使用以下行创建了 /etc/modprobe.d/kvm.conf: options kvmignore_msrs=1 ,这没有任何改变
并且还手动将 cpu 类型设置为 Opteron_G5 (如上面线程中的建议),但这也不起作用
user@ubuntu:~$ virt-install \
> --name myWINVM1 \
> --ram 4096 \
> --disk path=/guest_images2/myWINVM1.img,bus=virtio,size=120 \
> --vcpus 4 \
> --cpu Opteron_G5 \
> --os-type windows \
> --os-variant win10 \
> --network bridge=virbr0 \
> --graphics vnc \
> --console pty,target_type=serial \
> --disk /home/user/Downloads/Win10_Edu_1803_English_x64.iso,device=cdrom,bus=ide \
> --disk /home/user/Downloads/virtio-win-0.1.141.iso,device=cdrom,bus=ide
Starting install...
Allocating 'myWINVM1.img' | 120 GB 00:00
ERROR the CPU is incompatible with host CPU: Host CPU does not provide required features: xop, fma4, tbm
Removing disk 'myWINVM1.img' | 0 B 00:00
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
virsh --connect qemu:///system start myWINVM1
otherwise, please restart your installation.
然后我将 CPU 设置为 core2duo,这让我更进一步,到了我选择安装哪个驱动器的部分,但没有任何可用的。系统提示我安装带有驱动程序的 CD,我认为这一定是 virtio ISO,但 Windows 抱怨它们未签名。
virt-install \
--name myWINVM1 \
--ram 4096 \
--disk path=/guest_images2/myWINVM1.img,bus=virtio,size=120 \
--vcpus 4 \
--cpu core2duo \
--os-type windows \
--os-variant win10 \
--network bridge=virbr0 \
--graphics vnc \
--console pty,target_type=serial \
--disk /home/james/Downloads/Win10_Edu_1803_English_x64.iso,device=cdrom,bus=ide \
--disk /home/james/Downloads/virtio-win-0.1.141.iso,device=cdrom,bus=ide
关于我的系统: 主机:Ubuntu Server 18.04,使用 XFCE4 作为 GUI 主板:X399 Taichi CPU:Threadripper 1950x
所以我想这给我留下了三个问题:
除了谎报我正在使用的 CPU 之外,我还能尝试什么来跳过启动屏幕?
我无法看到 ZVOL 是否与我的 virtio ISO 或 virt-install 选项有关?
预计 Windows 现阶段不会接受 virtio ISO 上的驱动程序吗?
编辑:我尝试的其他操作我取消选中“隐藏与此计算机硬件不兼容的驱动程序”并导航到我认为正确的驱动程序,我确实找到了驱动程序,但仍然没有驱动器。 E:\vioscsi\2k16\amd64\
所以我想现在我的问题是我是否选择了正确的驱动程序,如果是,我还应该尝试什么?
答案1
我选错了司机。这个帖子给我指出了正确的(除了我选择了win10):https://askubuntu.com/questions/673957/how-do-you-install-the-virtio-hdd-drivers-for-kvm-on-windows-7
这是在哪里记录的?我看过的官方文档都没有提到如何知道哪些驱动程序是什么。
当然,为了解决 BSOD,我必须设置 --cpu core2duo,这有点困扰我。我可以预期这会导致性能问题吗?
我尝试过的其他 --cpu 设置和结果: core2duo - 工作 kvm64 - 在 Windows 启动屏幕上冻结 qemu64 - 工作 threadripper - 未知 CPU 型号 EPYC - BSOD