Skip to content

Commit e478a11

Browse files
committed
Clean up windows.md
1 parent 18d0ee2 commit e478a11

File tree

1 file changed

+47
-24
lines changed

1 file changed

+47
-24
lines changed

docs/kb/pxe/windows.md

Lines changed: 47 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,66 @@
11
---
22
id: windows
33
title: "Windows"
4-
description: "Installing Windows 10 with netboot.xyz"
4+
description: "Installing Windows using netboot.xyz and the Docker container."
55
hide_table_of_contents: true
66
---
77

8-
This is one of the most frequently asked questions, so this deserves its own page.
9-
This guide will assume that you're using the linuxserver.io Docker container.
8+
# Installing Windows with netboot.xyz
109

11-
#### Requirements
10+
This guide will walk you through installing Windows 11 using netboot.xyz using the netboot.xyz Docker container.
1211

13-
- Samba (SMB,CIFS) share with Windows 10 ISO extracted
14-
- Windows PE image as an ISO, instructions on how to build it can be found [here](https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/winpe-create-usb-bootable-drive#create-a-winpe-iso-dvd-or-cd)
12+
## Requirements
1513

16-
Step 1. Download WindowsPE/generate the image and download Windows 10 ISO.
17-
Step 2. Setup an SMB share with Windows 10 ISO extracted to a directory there.
18-
Step 3. Upload Windows PE to Linuxserver.io's netboot.xyz container's /assets/WinPE/x64/ folder.
19-
Step 4. Boot the menu, go to Windows.
20-
Step 5. Set the base URL to point to the container's IP address, the correct Nginx port for hosting assets and right directory (eg. http://192.168.2.46:8000/WinPE).
21-
Step 6. Load the installer.
22-
Step 7. You should be prompted with a terminal.
23-
Step 8. Type `wpeinit` to load networking support.
24-
Step 9. Mount the Windows ISO share, with `net use F: \\<server-ip-address>\<share-name> /user:<server-ip-address>\<username-if-needed> <password-if-needed>`
14+
Before you begin, ensure you have the following:
15+
16+
- A Samba (SMB, CIFS) share with the Windows 11 ISO extracted.
17+
- A Windows PE image as an ISO. Instructions on how to build it can be found [here](https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/winpe-create-usb-bootable-drive#create-a-winpe-iso-dvd-or-cd).
18+
- The netboot.xyz Docker container set up and running. Follow the instructions [here](../../docker/usage.md) to set up the container.
2519

2620
:::note
21+
WinPE is used so you can preload any drivers you may need for the equipment being installed. You may need to slipstream drivers like VirtIO if using Proxmox or other types of virtualization.
22+
:::
23+
24+
## Installation Process
2725

28-
The terminal uses US keyboard layout by default.
26+
To start, download the Windows PE image and the Windows 11 ISO. Once you have these files, set up an SMB share and extract the Windows 11 ISO to a directory on this share.
2927

28+
Next, upload the Windows PE image to the netboot.xyz container's `/assets/WinPE/x64/` folder. With the files in place, boot the netboot.xyz menu and navigate to the Windows section.
29+
30+
You'll need to set the base URL to point to the container's IP address, the correct Nginx port for hosting assets, and the right directory. For example:
31+
```bash
32+
http://192.168.2.46:8000/WinPE
33+
```
34+
35+
Load the installer, and you should be prompted with a terminal. In the terminal, type `wpeinit` to load networking support. Then, mount the Windows ISO share using the following command:
36+
```bash
37+
net use F: \\<server-ip-address>\<share-name> /user:<server-ip-address>\<username-if-needed> <password-if-needed>
38+
```
39+
40+
:::note
41+
The terminal uses the US keyboard layout by default.
3042
:::
31-
Step 10. Change into the mounted share (`F:`), and execute setup.exe or start it with `F:\setup.exe`
32-
Step 11. You should be greeted with the normal setup and be able to install it.
3343

34-
### Persistent url for Windows with the docker container
44+
Change into the mounted share (`F:`) and execute `setup.exe`:
45+
```bash
46+
F:\setup.exe
47+
```
48+
49+
You should now see the normal Windows setup interface and be able to proceed with the installation.
3550

36-
Step 1. Go to the container's configurator (Netboot.xyz Configuration), the place where you can manage local assets and menus.
37-
Step 2. Go to Menus -> boot.cfg.
38-
Step 3. Set win_base_url to to point to the container's IP address, the correct Nginx port for hosting assets and right directory, for example:
51+
## Persistent URL for Windows with Docker Container
3952

53+
To avoid entering the URL each time you boot Windows, you can use the `local-vars.ipxe` file to set the `win_base_url`. This file is checked early during the boot process and allows you to set overrides for variables.
54+
55+
Edit the `local-vars.ipxe` file within the web configuration interface and add the following line:
4056
```bash
41-
set win_base_url http://192.168.2.46:8000/WinPE
57+
set win_base_url http://192.168.2.46:8080/WinPE
4258
```
43-
Step 4. You shouldn't need to input the URL anymore when booting Windows so enjoy.
59+
60+
With this configuration, you won't need to input the URL anymore when booting Windows.
61+
62+
:::note
63+
64+
If you don't currently have a [local-vars.ipxe](https://github.com/netbootxyz/netboot.xyz/blob/development/roles/netbootxyz/templates/local-vars.ipxe.j2) file, you can create on in the root of the tftp directory.
65+
66+
:::

0 commit comments

Comments
 (0)