dockur / windows

Windows inside a Docker container.
MIT License
28.51k stars 1.96k forks source link

Compatibility issue with windows 11 24h2 iot enterprise ltsc #634

Closed JustDj-Git closed 1 month ago

JustDj-Git commented 4 months ago

Operating system

Arch

Description

"Basically, everything is visible in the screenshots – it doesn't detect the disks. I checked in QEMU on my local PC – everything is fine, and the drivers work. I would appreciate any suggestions on what to do about this since this is the lightest Windows 11 version of all."

ISO: https://www.microsoft.com/en-us/evalcenter/download-windows-11-iot-enterprise-ltsc-eval

Docker compose

N/A

Docker log

N/A

Screenshots (optional)

Screenshot_20240702_171034 Screenshot_20240702_171047

kroese commented 4 months ago

This is caused by the VirtIO drivers that cannot load when you install Windows via a SCSI device for the CD-ROM.

I already reported this bug to their team many weeks ago. As far as I remember you can workaround it by setting MEDIA_TYPE: "ide" in the compose file, and then manually loading the driver from the WinPEDrivers folder. But then it still has problems loading the graphics driver, so I am still waiting for them to fix these issues from their side.

x0rzavi commented 3 months ago

Are there any updates on this?

xsy420 commented 3 months ago

you can see the discussion here and here I made a summary, you can follow it and get 24h2 installed. (for me as least, it works.) If you want further infomation, I'm not sure. you need to wait more time

  1. set your environment in docker-compose.yml
    environment:
    VGA: "std"  # or remove it if viogpudo not added
    MEDIA_TYPE: "ide"
  2. download virtio-win11-attestation-0.1-258.zip and unzip it
  3. mkdir virtio-win-0.1-258, create a folder tree that is same as virtio-win-0.1-248.tar.xz which can be found in Dockerfile. you can just create w11 and w11/amd64. I run this command
    mkdir -p amd64/w11 {Balloon,fwcfg,NetKVM,pvpanic,qemufwcfg,qemupciserial,viofs,viogpudo,vioinput,viorng,vioscsi,vioserial,viostor}/w11/amd64
  4. copy the proper files from virtio-win11-attestation-0.1-258 to virtio-win-0.1-258.
  5. create the tar.xz and volume the virtio-win-0.1-258.tar.xz to /drivers.txz

now you can run the container and wait it install.

share folder is not working because smbus is not in virtio-win11-attestation-0.1-258.zip and if you use smbus in virtio-win-0.1-248, you will receive this issue again

so... keep waiting...

kroese commented 1 month ago

This is partially fixed now. It includes newer drivers, so the smbus/pvpanic drivers work now. Also the MEDIA_TYPE: "ide" is done by default now.

The only thing that still does not work is the GPU driver. The screen stays black during installation, so either you will need to wait a few minutes until the display comes back when the installation is finished, or otherwise add VGA: "std" to use a more simple device.

kroese commented 1 month ago

There is now a new release (v3.22) which contains a temporary workaround for the GPU driver issue. It does skip the driver during the WinPE phase of the installation, and installs it afterwards. So the VGA: "std" is not needed anymore from now on.