Skip to content

Instantly share code, notes, and snippets.

@ilyaigpetrov
Last active February 3, 2026 02:54
Show Gist options
  • Select an option

  • Save ilyaigpetrov/f4ca79432886753b4ffaa3fe96e3349d to your computer and use it in GitHub Desktop.

Select an option

Save ilyaigpetrov/f4ca79432886753b4ffaa3fe96e3349d to your computer and use it in GitHub Desktop.
Create Windows ValidationOS on Linux | #HowTo #Windows #ValidationOS #Linux #Bootable #Live #USB
Date My distro Doc status
03.02.2026
Alpine Linux (musl-based)
DRAFT/UNTESTED

Create Windows ValidationOS on Linux

1. Downloading and Mounting

  1. Download an ISO of Windows 11 or Windows Server 2025 (win-installer) from the official Microsoft Windows website.
  2. Download an ISO of Windows ValidationOS (winvos) from the official Microsoft Windows website.
  3.  # mount --mkdir ~/Downloads/win-installer.iso /mnt/iso/win-installer
     # mount --mkdir ~/Downloads/winvos.iso /mnt/iso/winvos

2. Creating The Media

2.1. CSM/BIOS (Legacy Boot, recommended)

  1. Make sure Legacy Boot (CSM/BIOS) mode is enabled in your firmware (BIOS/UEFI) settings.
  2.  $ mkwinpeimg --windows-dir=/mnt/iso/win-installer --arch=amd64 --wim=/mnt/iso/winvos/ValidationOS.wim ./winvos.img
     # dd bs=4M if=./winvos.img of=/dev/sdX

2.2. UEFI/ISO (alternative)

  1.  $ mkwinpeimg --windows-dir=/mnt/iso/win-installer --arch=amd64 --wim=/mnt/iso/winvos/ValidationOS.wim --iso ./winpe.iso
     # mount --mkdir ./winpe.iso /mnt/iso/winpe
  2. The following steps are based on https://wiki.archlinux.org/title/Windows_PE:

    On a USB key, create a GPT partition table with a single partition of type EFI System, and format the partition to FAT32.

  3.  $ mkdir ./winpe-uefi
     $ cp -r /mnt/iso/winpe/* ./winpe-uefi/.
     $ cp -r /mnt/iso/win-installer/efi ./winpe-uefi/.
     # mount --mkdir /dev/sdX1 /mnt/usb/winpe
     # cp -r ./winpe-uefi/* /mnt/usb/winpe/.
     # # Don't forget to unmount!

3. Ejecting The Media

# umount /mnt/iso/*
# umount /mnt/usb/*
# eject /dev/sdX
$ sync

4. Booting

Physically eject the usb-drive, insert it into the target PC and boot from it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment