Commit 7f460d2
committed
handle Win11 25H2 Setup pickers, CD reboot loop, hidden PBUTTONACTION
Four changes found during end-to-end build validation on a fresh GCP VM:
1. autounattend.xml: unhide PBUTTONACTION before powercfg /setacvalueindex.
On Win11 25H2 the physical power-button power setting is hidden by
default (Attributes=1), so the friendly alias never resolves and the
powercfg commands silently no-op. Result: verify.ps1's "ACPI power
button = shutdown (3)" check always fails. Fix: run `powercfg /attributes
... -ATTRIB_HIDE` first, then reference the setting by full GUID. Bumps
the FirstLogonCommands count from 26 to 27.
2. scripts/remediate.ps1: same unhide+full-GUID treatment so the remediate
loop can actually repair the setting.
3. build.yml + README quirk #5: Win11 24H2+ SetupHost.exe shows two
mandatory "Select language settings" + "Select keyboard settings"
screens BEFORE it reads autounattend.xml. Nothing in the unattend file
(SetupUILanguage, SystemLocale, UILanguage, etc.) skips them. Fix:
spray `sendkey alt-n` every 3 s via the QEMU monitor until the qcow2
starts growing (signal that Setup has advanced past the pickers and
begun partitioning + file copy). Alt+N activates the Next button by
accelerator regardless of where keyboard focus is, which matters
because a stray Enter can land on the "Support" link and open a
modal "Unable to open link" dialog that then swallows subsequent Enters.
4. build.yml + README quirk #6: eject all three CDs from the QEMU monitor
before the first post-install reboot. Because cd0 is pinned to
bootindex=0, a warm reboot with the install media still attached
hangs OVMF BDS in an infinite Boot0001 retry loop (bootmgr on the CD
renders "Press any key", times out, OVMF marks Boot0001 failed, then
BDS restarts from Boot0001 instead of falling through to Boot0002).
Two vCPUs sit pegged at 100% forever and `wait_for_ssh` never comes
back. `eject -f cd0/cd1/cd2` via the monitor removes them from the
candidate list and OVMF picks Boot0002 on the next pass.
End-to-end verify reaches 23/24 checks. The one remaining failure
(EMS-SAC.Tools FoD) is a Microsoft packaging issue: the capability is
NotPresent on EN-Intl Win11 Pro (ImageIndex=6) and DISM can't fetch the
cab from Windows Update. Base EMS/SAC serial console still works because
it lives in the kernel; the FoD only adds additional admin CLI tools.1 parent 5e54a01 commit 7f460d2
4 files changed
Lines changed: 109 additions & 17 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
136 | 136 | | |
137 | 137 | | |
138 | 138 | | |
139 | | - | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
140 | 167 | | |
141 | 168 | | |
142 | 169 | | |
| |||
163 | 190 | | |
164 | 191 | | |
165 | 192 | | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
166 | 213 | | |
167 | 214 | | |
168 | 215 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
196 | 222 | | |
197 | 223 | | |
198 | 224 | | |
| |||
242 | 268 | | |
243 | 269 | | |
244 | 270 | | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
245 | 279 | | |
246 | 280 | | |
247 | 281 | | |
| |||
306 | 340 | | |
307 | 341 | | |
308 | 342 | | |
309 | | - | |
| 343 | + | |
310 | 344 | | |
311 | 345 | | |
312 | 346 | | |
| |||
317 | 351 | | |
318 | 352 | | |
319 | 353 | | |
320 | | - | |
| 354 | + | |
321 | 355 | | |
322 | 356 | | |
323 | 357 | | |
324 | 358 | | |
325 | | - | |
326 | | - | |
327 | | - | |
328 | | - | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
329 | 364 | | |
330 | 365 | | |
331 | 366 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
94 | 99 | | |
95 | | - | |
96 | | - | |
| 100 | + | |
| 101 | + | |
97 | 102 | | |
98 | | - | |
| 103 | + | |
99 | 104 | | |
100 | | - | |
| 105 | + | |
101 | 106 | | |
102 | 107 | | |
103 | 108 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
93 | | - | |
94 | | - | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
95 | 100 | | |
96 | 101 | | |
97 | 102 | | |
| |||
0 commit comments