Skip to content

Commit dedc7b6

Browse files
committed
Windows Guide edits
1 parent feacdef commit dedc7b6

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

_posts/2025-04-14-Cobbler-v3.3.7-Windows-Deployment-Guide.md

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Starting where the [Beginner's guide](/blog/2024/Cobbler-v3.3.6-Beginners-Guide/
2020

2121
### Caveats
2222

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.
23+
1. **IMPORTANT:** There was a frequent issue on 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.
2424

2525
- You may experience different results depending on your Windows or VirtualBox version and settings; more info in the **Tips & Troubleshooting** section below
2626

@@ -74,7 +74,7 @@ Edit the `/etc/samba/smb.conf` file to match the below text-block
7474

7575
> More info on this service and configuration in the **Tips & Troubleshooting** section below
7676
77-
Enable and start the smb service
77+
Enable and start the SMB service
7878

7979
```shell
8080
systemctl enable --now smb
@@ -188,21 +188,29 @@ The **PXE Client** VM can now be powered on, and should automatically boot to PX
188188

189189
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.
190190

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.
191+
1. It's important to understand how Cobbler manages Windows distros and deployments *by default*, as there are certain limitations and implications not present with other distros.
192192

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.
193+
- Cobbler has 3 main templates for Windows distro management, all located in `/etc/cobbler/windows` directory, instead of the usual `/var/lib/cobbler/templates` and `/var/lib/cobbler/scripts` directories
194194

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.
195+
- `startnet.template`: archived/compressed into the WindPE Windows image in order to start Windows `setup.exe` with the associated **profile's** Answerfile
196196

197-
- 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:
198-
199-
<CommandLine>c:\post_install.cmd @@profile_name@@</CommandLine>
197+
- `answerfile.template`: Answerfile with **profile** attributes to be retrieved over SMB for unattended installations.
198+
199+
- `post_ins_cmd.template`: Used to retrieve the `autoinstall` file (post-install script) defined for the **profile**
200+
201+
- By default, the autoinstall file `/var/lib/cobbler/templates/win.ks` has no effect.
202+
203+
- The above templates are generated based on the automatic installation metadata for **profiles** which define the parameters for the boot options, answerfile, and post-install script *(as well as toggle UEFI partitioning mode in answerfiles and change PXE clients to download boot files over TFTP instead of HTTP)*
204+
205+
- The `autoinstall-meta` parameters can be configured at the `cobbler system` (or `profile`) level and given unique names to generate different files for use by diffrent profiles or systems, but neither the `answerfile.template` or `post_inst_cmd.template` files are system-level aware, they only consist of **profile-level** settings.
206+
207+
- There is no way to provide the Windows Answerfile in boot/kernel parameters like many linux distros
200208

201-
- 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.
209+
- [Windows Setup implicit answer file search order](https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup-automation-overview#implicit-answer-file-search-order)
202210

203-
- [Windows Setup implicit answer file search order](https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup-automation-overview#implicit-answer-file-search-order)
211+
- Only MAC address and other DHCP-related options are used from *Windows* `cobbler system` items.
204212

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.
213+
- This is all only *default* behavior in cobbler, and 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 come with additional limitations and requirements beyond the scope of this guide.
206214

207215
1. **VirtualBox Issues**
208216

0 commit comments

Comments
 (0)