virtio-win / kvm-guest-drivers-windows

Windows paravirtualized drivers for QEMU\KVM
https://www.linux-kvm.org/page/WindowsGuestDrivers
BSD 3-Clause "New" or "Revised" License
2.06k stars 386 forks source link

Vioscsi driver is not compatible with Windows 11 24H2 on VirtualBox #1186

Open Turbine8845 opened 2 weeks ago

Turbine8845 commented 2 weeks ago

Describe the bug I am using a Windows 11 Pro 24H2 host machine and am trying to install Windows 11 IoT Enterprise LTSC 2024 on a VirtualBox VM. I selected VirtIO-SCSI as the controller type in the VM's settings. During the installation of Windows 11 IoT Enterprise LTSC, the VirtIO SCSI pass-through drivers are not displayed as compatible drivers. Unchecking the Hide drivers that are not compatible... option allows me to select and install the VirtIO-SCSI drivers, and after installation, I can see the virtual disk. However, I cannot partition the virtual hard disk, and I am unable to proceed with the installation of Windows 11 IoT Enterprise LTSC 2024. I have attached some screenshots showing the issues I am encountering with Windows 11 IoT Enterprise LTSC 2024. I am using virtio-win-0.1.262.iso for this VM. I did not experience this issue with earlier versions of Windows.

To Reproduce

  1. Download the official non-evaluation version of Windows 11 IoT Enterprise LTSC 24H2: File name: en-us_windows_11_iot_enterprise_ltsc_2024_x64_dvd_f6b14814.iso SHA256: 4F59662A96FC1DA48C1B415D6C369D08AF55DDD64E8F1C84E0166D9E50405D7A

  2. Select the controller type for the Windows ISO and the VirtIO ISO as SATA or AHCI.

  3. Attempt to install Windows 11 IoT Enterprise LTSC on the VM using the latest VirtIO drivers, virtio-win-0.1.262.iso. You will encounter the errors shown in the attached screenshots.

Expected behavior VirtIO SCSI pass-through drivers should be visible during the installation of Windows as compatible drivers.

Screenshots

1. VirtIO SCSI pass-through drivers not detected as compatible during the installation of Windows 11 IoT Enterprise LTSC 2024 VirtualBox_Win11_LTSC_virtio_driver_problem

2. VirtIO SCSI pass-through drivers are shown after unchecking Hide drivers... VirtualBox_Windows 11 LTSC_uncheck

3. Virtual disk is detected after installing the incompatible VirtIO SCSI pass-through driver VirtualBox_Windows 11 LTSC_virtual_disk

4. The detected virtual disk cannot be partitioned, and installation cannot proceed VirtualBox_Windows 11 LTSC_installation_error

VirtualBox_Windows 11 LTSC_partitioning_error

Host:

VM:

Additional context This issue occurs on a Windows 11 Pro 24H2 host using VirtualBox 7.1.4. I am reporting this to determine if the problem is related to these environments or the VirtIO drivers themselves. At the moment, I don't have access to my Linux machine. I will run some tests using QEMU/KVM to see if the same issue occurs.

kostyanf14 commented 2 weeks ago

@YanVugenfirer @vrozenfe Looks like a duplicate of https://github.com/virtio-win/kvm-guest-drivers-windows/issues/1100. What do you think?

vrozenfe commented 1 week ago

@Turbine8845

Thank you for reporting the issue. Can you try installing drivers from Win10 sub-directory ?

Best, Vadim.

Turbine8845 commented 1 week ago

@Turbine8845

Thank you for reporting the issue. Can you try installing drivers from Win10 sub-directory ?

Best, Vadim.

Thank you for your response. I tried installing the drivers from w11, w10, and w2k25, sub-directories inside the amd64 directory but I experienced the same issues that I reported earlier. Apart from Windows 11 IoT LTSC, the regular Windows 11 24H2 iso doesn't recognize the VirtIO SCSI pass-through drivers inside the virtio-win-0.1.262 iso as compatible either. I didn't have this problem with 23H2.

vrozenfe commented 1 week ago

@Turbine8845

I tried to install vioscsi driver from 262 on en-us_windows_11_iot_enterprise_ltsc_2024_x64_dvd_f6b14814.iso running on top of kvm [vrozenfe@milly isos]$ uname -r 6.5.12-100.fc37.x86_64

(qemu) info version 9.1.50v9.1.0-1170-g58d49b5895

[vrozenfe@milly isos]$ sha256sum en-us_windows_11_iot_enterprise_ltsc_2024_x64_dvd_f6b14814.iso 4f59662a96fc1da48c1b415d6c369d08af55ddd64e8f1c84e0166d9e50405d7a en-us_windows_11_iot_enterprise_ltsc_2024_x64_dvd_f6b14814.iso [vrozenfe@milly isos]$ sha256sum virtio-win-0.1.262.iso bdc2ad1727a08b6d8a59d40e112d930f53a2b354bdef85903abaad896214f0a3 virtio-win-0.1.262.iso

[vrozenfe@milly isos]$ sudo ps -aux | grep en-us_windows_11_iot_enterprise_ltsc_2024_x64_dvd_f6b14814.iso root 1093173 0.0 0.0 236304 9216 pts/5 S+ 11:46 0:00 sudo /home/vrozenfe/work/upstream/qemu/build/qemu-system-x86_64 -name WIN11-24H2-IOT -machine q35 -nodefaults -device virtio-vga,edid=on,xres=1280,yres=800,max_outputs=2 -device pcie-root-port,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x3 -device pcie-root-port,port=0x11,chassis=2,id=pci.2,bus=pcie.0,addr=0x3.0x1 -device pcie-root-port,port=0x12,chassis=3,id=pci.3,bus=pcie.0,addr=0x3.0x2 -device pcie-root-port,port=0x13,chassis=4,id=pci.4,bus=pcie.0,addr=0x3.0x3 -device pcie-root-port,port=0x14,chassis=5,id=pci.5,bus=pcie.0,addr=0x3.0x4 -device pcie-root-port,port=0x15,chassis=6,id=pci.6,bus=pcie.0,addr=0x3.0x5 -device pcie-root-port,port=0x16,chassis=7,id=pci.7,bus=pcie.0,addr=0x3.0x6 -device pcie-root-port,port=0x17,chassis=8,id=pci.8,bus=pcie.0,addr=0x3.0x7 -device virtio-net-pci,mac=9a:36:83:b8:3d:35,id=idJVpmsF,netdev=id23ZUK6,bus=pci.3 -netdev tap,id=id23ZUK6,vhost=on,script=/etc/qemu-ifup,downscript=no -device usb-ehci,id=ehci0,bus=pci.5 -m 4G -smp 2,maxcpus=4 -cpu host,hv_stimer,hv_synic,hv_vpindex,hv_reset,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv-tlbflush,+kvm_pv_unhalt -drive id=drive_cd1,if=none,snapshot=off,aio=threads,cache=none,media=cdrom,file=/home/vrozenfe/work/isos/virtio-win-0.1.262.iso -device ide-cd,id=cd1,drive=drive_cd1,bus=ide.1,unit=0 -device piix3-usb-uhci,id=usb -device usb-tablet,id=input0 -rtc base=localtime,clock=host,driftfix=slew -boot order=cdn,once=c,menu=off,strict=off -enable-kvm -qmp tcp:0:1232,server,nowait -monitor stdio -drive file=/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd,if=pflash,format=raw,unit=0,readonly=on -drive file=/home/vrozenfe/work/vms/24h2iot/vars.fd,if=pflash,format=raw,unit=1 -chardev socket,id=chrtpm,path=/tmp/mytpm1/swtpm-sock -tpmdev emulator,id=tpm0,chardev=chrtpm -device tpm-tis,tpmdev=tpm0 -device vmcoreinfo -drive file=/home/vrozenfe/work/images/w11_24h2_iot.qcow2,if=none,media=disk,format=qcow2,rerror=stop,werror=stop,cache=none,id=drive-vioscsi0 -device virtio-scsi-pci,id=scsi-vioscsi0 -device scsi-hd,drive=drive-vioscsi0,id=vioscsi0,bus=scsi-vioscsi0.0,lun=0,scsi-id=0,bootindex=1 -drive file=/home/vrozenfe/work/vms/24h2iot/uefi.raw,if=none,id=drive-usb-2-0,media=disk,format=raw,cache=none,werror=stop,rerror=stop,aio=threads -device usb-storage,bus=ehci0.0,drive=drive-usb-2-0,id=usb-2-0,removable=on -drive id=drive_cd0,if=none,snapshot=off,aio=threads,cache=none,media=cdrom,file=/home/vrozenfe/work/isos/en-us_windows_11_iot_enterprise_ltsc_2024_x64_dvd_f6b14814.iso -device ide-cd,id=cd0,drive=drive_cd0,bus=ide.0,unit=0,bootindex=0

and it seems to be working fine: Screenshot from 2024-11-12 11-48-32

Screenshot from 2024-11-12 11-49-53

Screenshot from 2024-11-12 11-50-42

Screenshot from 2024-11-12 11-50-52

Screenshot from 2024-11-12 11-51-08

Screenshot from 2024-11-12 11-51-25

Screenshot from 2024-11-12 11-51-30

By any chance can you installing Win11 on an emulated system drive and then attach a virtio drive as a secondary/data disk and try to install virtio driver on that disk?

Thanks, Vadim.

Turbine8845 commented 1 week ago

By any chance can you installing Win11 on an emulated system drive and then attach a virtio drive as a secondary/data disk and try to install virtio driver on that disk?

I tried this and I managed to successfully install the driver.

virtio_driver

I really have no idea why I encountered those errors during the installation of Windows 11. I guess I configured my VM correctly. Maybe only VirtualBox is affected. I will try QEMU.

vm

vrozenfe commented 1 week ago

@Turbine8845 That is is a kind of strange situation, because if you can add a virtio disk as a data disk then you should be able to do the same thing on a system/boot disk as well. Just to try to understand the situation a bit better, after installing vioscsi driver on a data disk, can you try switching the system disk to virtio and see if it works?

Thanks, Vadim.

Turbine8845 commented 1 week ago

Just to try to understand the situation a bit better, after installing vioscsi driver on a data disk, can you try switching the system disk to virtio and see if it works?

@vrozenfe I tried this and I was welcomed by this BSOD!

virtio_BSOD

I also recorded a video of the errors that I encountered during the installation of Windows on VirtualBox:

https://github.com/user-attachments/assets/6ed1d0ab-eae9-40fb-a677-df650c2a2a99

I tried QEMU/KVM and I managed to install VirtIO SCSI drivers without any issues:

win11_iot_kvm

win11_iot_kvm(2)

I guess VirtualBox is to blame in here. You can close this issue if you also think that this is not an issue of the VirtIO drivers.

vrozenfe commented 1 week ago

@Turbine8845

It might be related to the UEFI implementation on VirtualBox, but you said it works fine with the previous version of vioscsi driver, right?

Turbine8845 commented 1 week ago

It might be related to the UEFI implementation on VirtualBox

Since UEFI is an optional requirement for Windows 11 IoT LTSC, I also tried installing it on VirtualBox using BIOS. However, I still encountered the same issues even with BIOS.

But you said it works fine with the previous version of vioscsi driver, right?

No, what I meant to say is that I only encountered this issue with Windows 11 24H2 (both Pro and IoT LTSC). In contrast, I recently installed Windows 10 IoT LTSC on VirtualBox using the latest version of the vioscsi driver, and the installation went smoothly.

kroese commented 6 days ago

If this bug is in any way related to https://github.com/virtio-win/kvm-guest-drivers-windows/issues/1100 , I discovered there that it only happens when the Windows installation DVD is booted from a vioscsi cd device.

When Windows setup is booted from a IDE cd device, it has no problems installing the vioscsi drivers for the harddrive.

That might explain why it did not occur when @vrozenfe tested with an IDE CD.