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
+19-11Lines changed: 19 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ Starting where the [Beginner's guide](/blog/2024/Cobbler-v3.3.6-Beginners-Guide/
20
20
21
21
### Caveats
22
22
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.
24
24
25
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
@@ -74,7 +74,7 @@ Edit the `/etc/samba/smb.conf` file to match the below text-block
74
74
75
75
> More info on this service and configuration in the **Tips & Troubleshooting** section below
76
76
77
-
Enable and start the smb service
77
+
Enable and start the SMB service
78
78
79
79
```shell
80
80
systemctl enable --now smb
@@ -188,21 +188,29 @@ The **PXE Client** VM can now be powered on, and should automatically boot to PX
188
188
189
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.
190
190
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.
192
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.
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
194
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.
195
+
-`startnet.template`: archived/compressed into the WindPE Windows image in order to start Windows `setup.exe` with the associated **profile's** Answerfile
196
196
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:
-`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
200
208
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.
- Only MAC address and other DHCP-related options are used from *Windows*`cobbler system` items.
204
212
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.
0 commit comments