UEFI Firmware not supported
-
Hi Andrew,
This feature was added last month, and it appears to be using settings from the template to make this determination. Which template(s) are these VMs using? Can you show us the output of
xe template-param-list uuid=<Template-UUID>
where you replace <Template-UUID> with the actual UUID of one of the templates involved.Regards,
Dan -
@Danp I did not know it was just reporting what was in the template. I thought it actually looked for the UEFI boot volume.
The Debian Bookworm 12 template contains:
recommendations ( RO): <restriction field="supports-uefi" value="no"/>
-
Few months ago i created test VMs with uefi without any erors.
But now all of them show same error on both 8.2 8.3. Doesn't matter which template - ubuntu, centos, oracle, alma, etc. -
You can ignore the warning. We added a feature so that you are warned when trying to enable legacy
bios
on an OS which doesn't support it, for example Windows 11, but it also started giving warning in the other direction, whenuefi
is chosen on a template which says it doesn't support it. Why the templates say they don't support UEFI, I think it comes initially from decisions at XenServer, because they didn't extensively test these OSes, but we know that any recent Linux supports UEFI and this works well in XCP-ng. -
@stormi is there any benefit in using those templates instead of just using Other Install Media, that allows UEFI and UEFI secure boot?
-
@ferrao Yes, they usually have better defaults for the target OS.
-
@ferrao
There is another thread about bad performance of migrated VMs, where the main reason was/is, that the wrong template was active which did lead to a degraded performance. -
@KPS @stormi may I ask another question:
Yes I do see thats some settings when I ask for the profile using
xe
:[15:19 xen1 ~]# xe template-param-list uuid=6c91b878-5095-421e-a914-224b3bb1088c uuid ( RO) : 6c91b878-5095-421e-a914-224b3bb1088c name-label ( RW): Red Hat Enterprise Linux 9 name-description ( RW): To use this template from the CLI, install your VM using vm-install, then set other-config-install-repository to the path to your network repository, e.g. http://<server>/<path> or nfs:server:/<path> user-version ( RW): 1 is-a-template ( RW): true is-default-template ( RW): true is-a-snapshot ( RO): false snapshot-of ( RO): <not in database> snapshots ( RO): snapshot-time ( RO): 19700101T00:00:00Z snapshot-info ( RO): parent ( RO): <not in database> children ( RO): is-control-domain ( RO): false power-state ( RO): halted memory-actual ( RO): 0 memory-target ( RO): 0 memory-overhead ( RO): 36700160 memory-static-max ( RW): 4294967296 memory-dynamic-max ( RW): 4294967296 memory-dynamic-min ( RW): 4294967296 memory-static-min ( RW): 2147483648 suspend-VDI-uuid ( RW): <not in database> suspend-SR-uuid ( RW): <not in database> VCPUs-params (MRW): VCPUs-max ( RW): 1 VCPUs-at-startup ( RW): 1 actions-after-shutdown ( RW): Destroy actions-after-reboot ( RW): Restart actions-after-crash ( RW): Restart console-uuids (SRO): hvm ( RO): false platform (MRW): videoram: 8; hpet: true; secureboot: false; device-model: qemu-upstream-compat; apic: true; device_id: 0001; vga: std; nx: true; pae: true; viridian: false; acpi: 1 allowed-operations (SRO): changing_NVRAM; changing_dynamic_range; changing_shadow_memory; changing_static_range; provision; export; clone; copy current-operations (SRO): blocked-operations (MRW): allowed-VBD-devices (SRO): 0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; 37; 38; 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; 55; 56; 57; 58; 59; 60; 61; 62; 63; 64; 65; 66; 67; 68; 69; 70; 71; 72; 73; 74; 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; 91; 92; 93; 94; 95; 96; 97; 98; 99; 100; 101; 102; 103; 104; 105; 106; 107; 108; 109; 110; 111; 112; 113; 114; 115; 116; 117; 118; 119; 120; 121; 122; 123; 124; 125; 126; 127; 128; 129; 130; 131; 132; 133; 134; 135; 136; 137; 138; 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; 167; 168; 169; 170; 171; 172; 173; 174; 175; 176; 177; 178; 179; 180; 181; 182; 183; 184; 185; 186; 187; 188; 189; 190; 191; 192; 193; 194; 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; 222; 223; 224; 225; 226; 227; 228; 229; 230; 231; 232; 233; 234; 235; 236; 237; 238; 239; 240; 241; 242; 243; 244; 245; 246; 247; 248; 249; 250; 251; 252; 253; 254 allowed-VIF-devices (SRO): 0; 1; 2; 3; 4; 5; 6 possible-hosts ( RO): e49f21ab-723c-472e-8ad2-46c169e31172; 488e0f1d-69f3-4ecb-a37b-b5328764c229; f6d05b66-a21b-49bc-ad57-b4ca9bad756f domain-type ( RW): hvm current-domain-type ( RO): unspecified HVM-boot-policy ( RW): BIOS order HVM-boot-params (MRW): firmware: bios; order: cdn HVM-shadow-multiplier ( RW): 1.000 PV-kernel ( RW): PV-ramdisk ( RW): PV-args ( RW): PV-legacy-args ( RW): PV-bootloader ( RW): PV-bootloader-args ( RW): last-boot-CPU-flags ( RO): last-boot-record ( RO): '' resident-on ( RO): <not in database> affinity ( RW): <not in database> other-config (MRW): default_template: true; import_task: OpaqueRef:5bfca08c-951b-4024-a329-60260d8936fe; mac_seed: 99974ea1-478b-426d-b483-960e65912bd8; disks: <provision><disk bootable="true" device="0" size="10737418240" sr="" type="system"/></provision>; install-methods: cdrom,nfs,http,ftp; linux_template: true dom-id ( RO): -1 recommendations ( RO): <restrictions><restriction field="memory-static-max" max="1649267441664"/><restriction field="vcpus-max" max="32"/><restriction field="has-vendor-device" value="false"/><restriction field="allow-gpu-passthrough" value="1"/><restriction field="allow-vgpu" value="1"/><restriction field="allow-network-sriov" value="1"/><restriction field="supports-bios" value="yes"/><restriction field="supports-uefi" value="no"/><restriction field="supports-secure-boot" value="no"/><restriction max="255" property="number-of-vbds"/><restriction max="7" property="number-of-vifs"/></restrictions> xenstore-data (MRW): ha-always-run ( RW) [DEPRECATED]: false ha-restart-priority ( RW): blobs ( RO): start-time ( RO): 19700101T00:00:00Z install-time ( RO): 19700101T00:00:00Z VCPUs-number ( RO): 0 VCPUs-utilisation (MRO): os-version (MRO): <not in database> PV-drivers-version (MRO): <not in database> PV-drivers-up-to-date ( RO) [DEPRECATED]: <not in database> memory (MRO): <not in database> disks (MRO): <not in database> VBDs (SRO): networks (MRO): <not in database> PV-drivers-detected ( RO): <not in database> other (MRO): <not in database> live ( RO): <not in database> guest-metrics-last-updated ( RO): <not in database> can-use-hotplug-vbd ( RO): <not in database> can-use-hotplug-vif ( RO): <not in database> cooperative ( RO) [DEPRECATED]: true tags (SRW): appliance ( RW): <not in database> snapshot-schedule ( RW): <not in database> is-vmss-snapshot ( RO): false start-delay ( RW): 0 shutdown-delay ( RW): 0 order ( RW): 0 version ( RO): 1 generation-id ( RO): hardware-platform-version ( RO): 0 has-vendor-device ( RW): false requires-reboot ( RO): false reference-label ( RO): rhel-9 bios-strings (MRO):
That's a lot of things.
The questions would be:
-
Is there a way to create another template that will inherit from the base template just to modify the UEFI support? Because let's be honest, it's 2024 and I don't feel like using legacy BIOS even for VMs... And when I mean inherit is that if something changes on the template it will be automatically changed on the inherited one. I'm aware that I can just clone/copy the template and modify but this will eventually lose updates to the base template.
-
Does XOA (the paid version) have more up to date templates with, for example, UEFI support for Linux? FreeBSD, etc?
Thank you all guys.
-
-
UEFI is supported for Linux already. It also works for FreeBSD, as far as I remember (but there are no official FreeBSD templates). Don't trust what XO or the templates say about UEFI support, until they have fixed the UI regression. Some template fields are legacy and not to be trusted, and this is one of them.
-
Regarding how to inherit an existing template, I don't know if it is doable at the user level. Default templates are created in a way where they inherit from higher level templates, but that's before they become template objectifs in XAPI, so it's probably different for user templates.
-
I have to get used to XO. I always use XCP-ng Admin on Windows because old habits die hard, and there I cannot even select UEFI with all the Linux templates.
The magic that XO does is that it allows to use the templates, but with UEFI.
I have a VM that I've deployed with the "Other install media" option, so I just dettached the disk and reimported on the new one created by XO, with the correct template. Everything seems fine.
So my question about inheriting the template is not relevant if we use XO. Hope my understand is correct.
Thanks.