[virt-tools-list] UEFI/Q35: System BootOrder not found
ovirt at fateknollogee.com
ovirt at fateknollogee.com
Sun Aug 27 16:05:55 UTC 2017
> I don't see how i440fx vs. Q35 is a relevant question here.
I asked since I wasn't sure if that was the reason for the Fedora vm's
not booting vs Win 10 vm's booting.
A better question might be, is there a reason to "not" use Q35?
On 2017-08-27 08:53, Laszlo Ersek wrote:
> On 08/27/17 17:05, ovirt at fateknollogee.com wrote:
>> Cole & Laszlo, thanks for your help.
>>
>> Questions:
>> 1 - Should I just create my Fedora virtual machines with UEFI + i440
>> and
>> not use Q35.
>
> I don't see how i440fx vs. Q35 is a relevant question here.
>
>> 2 - The Windows 10 vm's I had (from the same host) had no problems
>> booting up, but they where UEFI + i440
>
> That can be explained by something else:
>
> The UEFI application that restores (recreates) your UEFI boot options,
> in case they were lost, comes from the OS vendor. (The OS installer
> puts
> it in place on the EFI system partition.) So my take is that the
> Microsoft application that is the role-wise equivalent of
> "fallback.efi"
> didn't crash, and restored your boot option(s).
>
> Laszlo
>
>
>>
>> On 2017-08-27 07:04, Laszlo Ersek wrote:
>>> On 08/26/17 00:23, Cole Robinson wrote:
>>>> On 08/24/2017 07:34 AM, ovirt at fateknollogee.com wrote:
>>>>> I used virt-manager (in a previous Fedora 25 install) to create a
>>>>> Fedora 26
>>>>> virtual machine.
>>>>> This Fedora26 image was qcow2 and UEFI (firmware/chipset: EFI/Q35.
>>>>> The qcow2 images were stored on a separate disk (not on the same
>>>>> disk as the
>>>>> Fedora 25 host).
>>>>>
>>>>> I changed the host o/s from Fedora 25 to 26.
>>>>> I did not keep the XML files for the virtual machines.
>>>>>
>>>>> Using virt-manager, creating new vm & selecting "import existing
>>>>> disk image"
>>>>> does not work.
>>>>> When I boot the vm, I get an error "System BootOrder not found
>>>>> Initializing
>>>>> defaults".
>>>>> The virtual machine will not boot.
>>>>>
>>>>> Any ideas on how to "fix" the error?
>>>>
>>>> Good question that I've wondered myself. I assume the failure to
>>>> boot is
>>>> because the default generated NVRAM doesn't have whatever boot
>>>> knowledge is
>>>> created at VM OS install time.
>>>>
>>>> Laszlo, is there some way to regenerate NVRAM for a disk image?
>>>
>>> That's actually what's being attempted (when you see the message
>>> "System
>>> BootOrder not found Initializing defaults"). The message comes from
>>> "fallback.efi". You can read all about it in Peter Jones's blog:
>>>
>>> https://blog.uncooperative.org/blog/2014/02/06/the-efi-system-partition/
>>>
>>> The intent is that "fallback.efi" is booted under the circumstances
>>> described above, it recreates the UEFI boot option, and from then on
>>> you
>>> can boot again normally. Unfortunately "fallback.efi" seems to have a
>>> bug that triggers an ASSERT() failure in edk2 (you can see it if you
>>> capture the OVMF debug log in a file), hence the above symptoms.
>>>
>>> It can be mitigated manually: when the VM boots, interrupt it at the
>>> TianoCore splash screen. In the setup utility, navigate to:
>>>
>>> Boot Maintenance Manager
>>> Boot Options
>>> Add Boot Option
>>>
>>> In the file chooser, select
>>>
>>> <whatever device you have>/EFI/fedora/shim.efi
>>>
>>> and enter a description (name) for the boot option.
>>>
>>> Then,
>>>
>>> Boot Maintenance Manager
>>> Boot Options
>>> Change Boot Order
>>>
>>> and move the new boot option to the top of the list.
>>>
>>> After you commit the changes, you can forcibly reset the VM, or else
>>> return to the setup TUI front page, and select Reset there.
>>>
>>>> Also, for my own curiosity, what data is stored in the NVRAM that's
>>>> critical
>>>> for boot to 'just work' ? Is it just some pointer to the default
>>>> boot
>>>> device?
>>>
>>> I don't know about "critical", but "important" can be: UEFI boot
>>> options, Secure Boot-related variables, ... The UEFI spec lists quite
>>> a
>>> few standardized variables. Plus, UEFI variables live under
>>> namespaces
>>> (identified by "vendor GUID"s), so if you have some special app that
>>> has
>>> its own UEFI variables (like shim / MokManager for their own
>>> certificate
>>> handling), that could be important too.
>>>
>>> If you don't really care about UEFI, you just want it to boot, then
>>> "fallback.efi" should just work. (I'm not sure why it doesn't,
>>> currently; there have been different issue reports and bugfixes in
>>> the
>>> past.)
>>>
>>> Thanks
>>> Laszlo
More information about the virt-tools-list
mailing list