How to install Windows

This is one of the most frequently asked questions, so this deserves its own page.
This guide will assume that you're using the linuxserver.io Docker container.

Requirements

  • Samba (SMB,CIFS) share with Windows 10 ISO extracted
  • Windows PE image as an ISO, instructions on how to build it can be found here

Step 1. Download WindowsPE/generate the image and download Windows 10 ISO.
Step 2. Setup an SMB share with Windows 10 ISO extracted to a directory there.
Step 3. Upload Windows PE to Linuxserver.io's netboot.xyz container's /assets/WinPE/x64/ folder.
Step 4. Boot the menu, go to Windows.
Step 5. Set the base URL to point to the container's IP address and right directory (eg. http://192.168.2.46:8000/WinPE).
Step 6. Load the installer.
Step 7. You should be prompted with a terminal.
Step 8. Mount the Windows ISO share, with net use F: //<server-ip-address>/<share-name> /user:<username-if-needed>
NOTE: The terminal uses US keyboard layout by default.
Step 9. Change into the mounted share (F:), and execute setup.exe.
Step 10. You should be greeted with the normal setup and be able to install it.

Persistent url for Windows with the docker container

Step 1. Go to the container's configurator (Netboot.xyz Configuration), the place where you can manage local assets and menus.
Step 2. Go to Menus -> boot.cfg.
Step 3. Set win_base_url to your root WinPe directory, so for example:

set win_base_url http://192.168.2.46:8000/WinPE

Step 4. You shouldn't need to input the URL anymore when booting Windows so enjoy.