diff --git a/apps/kubevirt-vms/ci1.yaml b/apps/kubevirt-vms/ci1.yaml index ddb010a..d3ed7e7 100644 --- a/apps/kubevirt-vms/ci1.yaml +++ b/apps/kubevirt-vms/ci1.yaml @@ -329,14 +329,29 @@ spec: devices: tpm: {} # Non-persistent vTPM — sufficient for runner; no BitLocker disks: - - name: rootdisk - bootOrder: 1 - disk: - bus: virtio + # bootOrder: ISO must be 1 for first-boot install (the rootdisk has no + # EFI bootloader yet). After Windows installs, it writes its own UEFI + # Boot#### entries pointing at the rootdisk's EFI partition; UEFI then + # boots from rootdisk going forward and the ISO at bootOrder:2 acts as + # a fallback for re-install scenarios. + # + # Original (broken) order had rootdisk=1, windows-iso=2 — UEFI tried + # the empty virtio disk first, got nothing, fell back to the SATA + # CDROM at Boot0001 with a short timeout, and timed out before the + # CDROM enumerated. Console showed: + # BdsDxe: failed to start Boot0001 ... Time out + # BdsDxe: No bootable option or device was found. + # Confirmed via debug pod: PVC content IS a real bootable ISO9660 + # (file: "ISO 9660 CD-ROM filesystem data ... (bootable)"), so the + # only bug was boot priority. - name: windows-iso - bootOrder: 2 + bootOrder: 1 cdrom: bus: sata + - name: rootdisk + bootOrder: 2 + disk: + bus: virtio - name: virtio-drivers cdrom: bus: sata