You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _posts/2025-04-14-Cobbler-v3.3.7-Windows-Deployment-Guide.md
+23-16Lines changed: 23 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,15 +20,11 @@ Starting where the [Beginner's guide](/blog/2024/Cobbler-v3.3.6-Beginners-Guide/
20
20
21
21
### Caveats
22
22
23
-
1.**IMPORTANT:**Issues were encountered running the PXE client as a VirtualBox VM with UEFI firmware, so instead it is recommended to run the PXE client on physical *(bare metal)* hardware or as a [VMWare Workstation/Fusion](https://blogs.vmware.com/workstation/2024/05/vmware-workstation-pro-now-available-free-for-personal-use.html) or HyperV VM for UEFI installations.
23
+
1.**IMPORTANT:**There was a frequent issue with PXE clients using VirtualBox UEFI firmware. For this reason, it is recommended to run both Cobbler server and PXE client as either bare metal systems or [VMWare Workstation/Fusion](https://blogs.vmware.com/workstation/2024/05/vmware-workstation-pro-now-available-free-for-personal-use.html) or [HyperV](https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/hyper-v-overview) VMs for UEFI installations.
24
24
25
-
-More info on the issues encountered in the **Tips & Troubleshooting** section below.
25
+
-You may experience different results depending on your Windows or VirtualBox version and settings; more info in the **Tips & Troubleshooting** section below
26
26
27
-
- If running the PXE client as a VMWare or HyperV VM it is recommended to also run the Cobbler Server under the same VM host or as a bare-metal server, using the same specs/settings as described in the [Beginner's guide](/blog/2024/Cobbler-v3.3.6-Beginners-Guide/), as the network complexity of using different hypervisors would be beyond the scope of this guide.
28
-
29
-
- Your experience may differ depending on your hardware and Windows and VirtualBox software versions and settings.
30
-
31
-
1. This guide assumes you have already acquired the Windows 10 and 11 64-bit ISO installation files by using the [Windows 10](https://www.microsoft.com/en-us/software-download/windows10) and [Windows 11](https://www.microsoft.com/en-us/software-download/windows11) Media Creation Tool, which requires an existing Windows 10 or 11 system to create *(like the VirtualBox Host described in the [Beginner's guide](/blog/2024/Cobbler-v3.3.6-Beginners-Guide/))*
27
+
1. This guide assumes you have already acquired the Windows 10 and 11 64-bit ISO installation files by using the [Windows 10](https://www.microsoft.com/en-us/software-download/windows10) and [Windows 11](https://www.microsoft.com/en-us/software-download/windows11) Media Creation Tool
32
28
33
29
- Also on the Windows 11 download page linked above is the minumum system requirements for installing Windows 11, which include UEFI Secure Boot and TPM support, making a *supported* installation to a VM an advanced topic beyond the scope of this guide.
sudo sed -i -E "s,^#else.?$,#else if \$os_version == \"11\"\n${CMD1}\n${CMD2}\n${CMD3}\n${CMD4}\n${CMD5}\n${CMD6}\n#else," /etc/cobbler/windows/startnet.template
170
+
sed -i -E "s,^#else.?$,#else if \$os_version == \"11\"\n${CMD1}\n${CMD2}\n${CMD3}\n${CMD4}\n${CMD5}\n${CMD6}\n#else," /etc/cobbler/windows/startnet.template
175
171
```
176
172
177
173
Now, take similar steps as with Windows 10 to import and automatically deploy Windows 11 Pro over PXE.
@@ -192,23 +188,33 @@ The **PXE Client** VM can now be powered on, and should automatically boot to PX
192
188
193
189
1. The [Cobbler 3.3.6 Beginner's Guide](/blog/2024/Cobbler-v3.3.6-Beginners-Guide/)**Tips & Troubleshooting** section contains some basic recommendations and limitations of Cobbler which will not be repeated here.
194
190
195
-
1. Windows distros can only be customized to the Profile level, System-level settings in Cobbler will not be accounted for on Windows deploys since the Answerfile is defined in the `startnet.cmd` script which is archived into the `winpe.wim` Windows image during `cobbler sync` actions.
191
+
1. Unline other OS deployments with Cobbler, by default, Windows system deploys can only be customized to the `cobbler profile` level, with only the MAC address and other DHCP-related options being used from *Windows*`cobbler system` items.
192
+
193
+
- This is because the `startnet.cmd` script is generated by cobbler during `cobbler sync` actions and compressed/archived into the `winpe.wim` Windows image.
194
+
195
+
- The `startnet.cmd` script runs immediately upon loading WinPE and is used to run Windows `setup.exe` with the desired Answerfile (`autounattended.xml`), so it is only able to specify the Profile-level answerfile.
- Furthermore, Cobbler's `answerfile.template` is only customizeable to the profile level, as it does not include system specific configurations, and more importantly, is only set to call a Cobbler *Profile-level* post-installation script, as seen below:
- Even though you can arbitrarily specify unique names for the different `autoinstall-metadata` variables for *Windows* `cobbler system` & `cobbler profile` items, so they will be generated under those names, say for `post_install.cmd`, specifying `new_post_install.cmd` will generate a file with that name under `distro_mirror/{DISTRO}/sources/$OEM$/$1`. However, those unique names are not referenced in the `answerfile.template` file to properly use them.
198
202
199
-
- Theoretically it would be possible to program additional logic into the `startnet.cmd` or `post_install.cmd` to detect the interface MAC address connected to the Cobbler netword from the PXE client and retrieve a custom anwerfile or post_install script (kickstart) named appropriately, but that is beyond the scope of this guide for now.
-The `post_install.cmd`script has a dynamic name per profile, but the answerfile.template does not account for it.
205
+
-This is all simply default behavior in cobbler, but it would be possible to program additional logic into the `startnet.cmd` or `post_install.cmd`to, for instance, retrieve a diffent answerfile or post-install script based on the hostname (configuratble through DHCP), but that would likely be accompanied by different limitations and requirements is beyond the scope of this guide for now.
202
206
203
207
1.**VirtualBox Issues**
204
208
205
209
- Specifially, the `ipxe-x86_64.efi` bootloader would fail to "initialize devices" and even though using the `ipxe-snponly-x86_64.efi` bootloader instead would load properly, the PXE client VM would *usually* just hang when downloading on of the WinPE files (i.e. `wimboot`, `boot.sdi`, `bootmgr.exe`, `bcd`, `winpe.wim`)
206
210
207
-
- Tried several troubleshooting steps and could not get a consisten fix:
211
+
- Tried several troubleshooting steps and could not get a consistent fix:
208
212
209
213
- Tried different virtual network adapters.
210
214
211
-
- Using the "Paravirtualized Network (virtio-net)" adapter did resove this issue with the iPXE boot process and load into the WinPE/wimboot image successfully, but then did not detect any network adapters and failed to begin Window Setup, and further troubleshooting would be beyond the scope of this guide.
215
+
- Using the "Paravirtualized Network (virtio-net)" adapter did resove this issue with the iPXE boot process and load into the WinPE/wimboot image successfully, but then did not detect any network adapters and failed to begin Windows Setup; further troubleshooting would be beyond the scope of this guide.
216
+
217
+
- Tried running PXE client on another host PC with different VirtualBox version
212
218
213
219
- Tried installing the appropriate VirtualBox Extensions for my version of VB.
214
220
@@ -218,9 +224,10 @@ The **PXE Client** VM can now be powered on, and should automatically boot to PX
218
224
219
225
- Found no relevant entries/errors in VirtualBox VM logs and nothing abnormal in Cobbler server logs (HTTP, TFTP, DHCP).
220
226
221
-
- A live Windows OS installation can be converted from MBR (legacy-BIOS) to GPT (UEFI) via powershell commands, which can be used as a workaround for compatibility with VirtualBox VM UEFI firmware
227
+
- A live Windows 10 installation can be easily converted from MBR (legacy-BIOS) to GPT (UEFI) via powershell commands, which can be used as a workaround for compatibility with VirtualBox UEFI firmware
0 commit comments