Recovery PEIMs for UEFI Boot Error Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Corrupted UEFI BIOS can lead to system crashes during firmware recovery due to incompatible code changes between the current and recovery BIOS, causing malfunctions and preventing successful boot-up.
Innovation Solution
Loading recovery pre-EFI initialization modules (PEIMs) from a recovery UEFI BIOS into temporary memory, rather than using the current BIOS's PEIMs, to execute the PEI phase and subsequent phases, ensuring compatibility and stability during firmware recovery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the current BIOS PEI information is passed to the DXE phase of the recovery BIOS, then the recovery process can proceed, but system features may become non-functional and lead to system crashes due to code incompatibility
Solution Approach 1:
The patent segments the BIOS recovery process into two distinct parts: the PEI phase uses recovery BIOS code for stability, while the DXE phase uses current BIOS code for feature compatibility. This segmentation allows each phase to use the most appropriate code version, resolving the contradiction between recovery stability and feature compatibility.
Solution Approach 2:
The patent applies local quality by having different code versions serve different functions: recovery BIOS PEI code provides stable initialization, while current BIOS DXE code provides up-to-date feature support. Each part of the system has optimized quality characteristics appropriate to its specific role in the boot process.
2Ease of repair
If a recovery UEFI BIOS is used to recover a corrupted current BIOS, then the system can boot with a working UEFI BIOS, but incompatible code changes in the PEI phase can cause malfunctions
Solution Approach 1:
The patent performs preliminary action by loading the recovery BIOS into temporary memory before the corrupted current BIOS is fully executed. This allows the system to prepare a safe recovery environment upfront, ensuring that stable PEI code is available before any potentially problematic operations occur during the recovery process.
Solution Approach 2:
The patent introduces temporary memory as an intermediary between the storage device and the execution environment. The recovery BIOS is loaded into this intermediate space, allowing it to provide stable PEI code without directly conflicting with the corrupted current BIOS, thus preventing system crashes during recovery.
3Manufacturing precision
If the current BIOS is overwritten with the recovery BIOS, then the system firmware is restored, but any incompatible code changes can prevent proper handoff from PEI to DXE phase
Solution Approach 1:
The patent segments the handoff process between PEI and DXE phases, allowing each phase to use appropriately versioned code. This segmentation simplifies the handoff logic by clearly defining which code version should be active in each phase, reducing the complexity that would otherwise arise from managing incompatible code changes during the transition.
Data Source
AI summary
A method and apparatus provide recovery from a computing device boot up error by detecting a current boot up error in the computing device, loading a plurality of recovery pre-EFI initialization modules (PEIMs), of a recovery unified extensible firmware interface (UEFI) BIOS for execution, wherein the recovery PEIMS include executable code to pre-initialize at least a processing unit and memory of the computing device in a pre-EFI initialization (PEI) phase of a multi-phase platform initialization operation, and recovering from the boot up error by booting up the computing device using the loaded plurality of recovery pre-EFI initialization modules.


