microsoft / microsoft/OmniParser
Windows first-boot automation broken after Dockerfile changes for qemu-docker and wsdd
Nobody has claimed this yet.
- Dominant language
- Jupyter Notebook
- Stars
- 25.4k
- Forks
- 2.2k
- PR merge metrics
- No merged PRs in 30d
Description
Description
After updating the OmniParser Dockerfile to work around two upstream changes, the Windows 11 VM still installs and boots to the desktop—but none of the first‑boot automation runs, and the Samba share (\\host.lan\\Data) is now inaccessible (permission denied).
What I did
- The official Dockerfile’s
COPY --from=qemux/qemu-docker:6.08 / /
stopped working (image removed from Docker Hub).
Workaround: changed to
COPY --from=swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/qemu-docker:6.08 / / wsddwas removed from Debian stable, soapt-get install wsddfailed. Added Sid and apt-pinning for wsdd only:
RUN echo "Package: wsdd" > /etc/apt/preferences.d/wsdd && \
echo "Pin: release a=sid" >> /etc/apt/preferences.d/wsdd && \
echo "Pin-Priority: 900" >> /etc/apt/preferences.d/wsdd && \
echo "Package: *" >> /etc/apt/preferences.d/wsdd && \
echo "Pin: release a=stable" >> /etc/apt/preferences.d/wsdd && \
echo "Pin-Priority: 100" >> /etc/apt/preferences.d/wsdd
# Install packages
RUN apt-get update && \
apt-get --no-install-recommends -y install \
bc \
...
With only change 1, everything worked last week—Windows installed and first‑boot scripts ran. After adding change 2:
- Windows still installs and boots to the desktop
- No terminal or PowerShell window ever pops up
\\host.lan\\Datanow returns “Access to the path ‘\host.lan\Data’ is denied”- No
firstboot_log.txtappears in the share - No errors in Docker or Samba logs
Steps to reproduce
- Clone OmniParser and apply the Dockerfile edits above (or use the attached Dockerfile - remove the .txt extension)
./scripts/manage_vm.sh create- Wait for Windows to install and boot to the desktop.
- In the VM, open PowerShell (Admin) and run:
Test-Connection host.lan -Count 2 # succeeds
Get-ChildItem \\host.lan\Data # fails with AccessDenied
Environment
- Host OS: Pop!_OS 24.04 LTS
- Docker Engine: 28.1.1 (Community)
- Base image:
qemux/qemu-docker:6.08(mirrored:swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/qemu-docker:6.08) - Windows image: Win11 Enterprise Eval
Notes / Possible causes
- Sid pinning for wsdd may have pulled in newer wimtools or related packages, altering the ISO injection logic.
- Samba’s guest-only share configuration may now be too restrictive.
- autounattend.xml or first‑logon task registration may have regressed.
Request
Could someone help verify that:
autounattend.xmlis still correctly injected into the ISO and recognized by WinPE?- Samba is configured to allow guest access under the current container setup?
- No regressions exist in the first‑boot injection logic after pulling parts of Sid?
Thank you!
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the attached Dockerfile and scripts/manage_vm.sh, then inspect how autounattend.xml and first-boot files are injected into the Windows ISO. Compare the Dockerfile changes involving the qemu-docker image, Sid wsdd pinning, and package installation with the resulting Docker and Samba logs. Done means first-boot automation runs and \host.lan\Data is accessible with firstboot_log.txt present.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- debian, docker
- Domain
- devops, networking, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100