Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Turbine8845 opened this issue Nov 8, 2024 · 10 comments
Open
Assignees
Labels

Comments

@Turbine8845
Copy link

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:

  • OS Name: Microsoft Windows 11 Pro 24H2 (Build 2610.2033)
  • Kernel version: 10.0.26100
  • VirtualBox Version: 7.1.4 r165100

VM:

  • Windows version: Windows 11 IoT Enterprise LTSC 2024
  • Which driver has a problem: VirtIO SCSI pass-through driver
  • Driver version or commit hash that was used to build the driver: virtio-win-0.1.262

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
Copy link
Member

@YanVugenfirer @vrozenfe Looks like a duplicate of #1100.
What do you think?

@vrozenfe
Copy link
Collaborator

@Turbine8845

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

Best,
Vadim.

@Turbine8845
Copy link
Author

@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
Copy link
Collaborator

@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
Copy link
Author

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
Copy link
Collaborator

@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
Copy link
Author

Turbine8845 commented Nov 13, 2024

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:

win11_iot_ltsc_virtio.mp4

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
Copy link
Collaborator

@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
Copy link
Author

Turbine8845 commented Nov 14, 2024

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.

@Turbine8845 Turbine8845 changed the title VirtIO SCSI driver is not compatible with Windows 11 IoT Enterprise LTSC 2024 Vioscsi driver is not compatible with Windows 11 24H2 on VirtualBox Nov 14, 2024
@kroese
Copy link

kroese commented Nov 18, 2024

If this bug is in any way related to #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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants