Auto-detect the Windows 11 installation ISO

Instead of a hard-coded file name, find the ISO in install-iso/ by
matching *Win*11*x64*.iso (case-insensitive), picking the highest
version-sorted name when several match. The QCOW2 path is derived from
the detected ISO name, falling back to an existing *Win*11*x64*.qcow2
in base-qcow2/ when the ISO is absent.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ks2ixr4KHXBtLuCet7Ch5Z
This commit is contained in:
GuofangandClaude Opus 5.5 committed 2026-09-30 09:37:04 +08:00
1 parent 4e86a23634
commit 942c97686b
2 files changed
+48 -6

No files matched your search

+8 -2
View File
@@ -22,7 +22,10 @@ Download or check selected targets:
```
The Windows installation ISO is not downloaded because Microsoft's temporary
download URLs expire. Supply it manually at the path reported by
download URLs expire. Place it manually in `install-iso/`; the script finds it
automatically by matching `Win`, `11`, `x64` and `.iso` in that order
(`*Win*11*x64*.iso`, case-insensitive). If several files match, the highest
version-sorted name is used. Check which file was picked with
`./download-images.sh --print-path windows11 --iso`.
## Query image paths
@@ -39,7 +42,10 @@ The path interface prints one absolute path without downloading anything:
```
The Windows target prints the QCOW2 path by default. Add `--iso` to print its
manually supplied installation ISO path.
manually supplied installation ISO path. The QCOW2 is named after the detected
ISO (for example `Win11_25H2_English_x64_v2.iso` →
`base-qcow2/Win11_25H2_English_x64_v2.qcow2`); if no ISO is present, an
existing `*Win*11*x64*.qcow2` in `base-qcow2/` is used instead.
Download URLs can be overridden with `DEBIAN_IMAGE_URL`, `ALMA_IMAGE_URL`,
`FEDORA_IMAGE_URL`, and `VIRTIO_WIN_ISO_URL`. The Fedora checksum can be