System and method for booting an information handling system
First Claim
1. A computer implemented method for enabling an information handling system (IHS) to be booted using different operating system configurations, the method comprising:
- retrieving, via a processor, a unified extensible firmware interface (UEFI) image from a storage device;
initializing at least one UEFI runtime service, the UEFI runtime service stored in a portable executable common object file format (PE/COFF) image with multiple components;
determining if a memory map corresponding to the UEFI runtime service defines multiple memory descriptors, the memory map being a structure of data that indicates how memory is laid out and include memory descriptors that are mapped to sections of the at least one UEFI runtime service;
in response to determining that the memory map defines multiple memory descriptors, identifying a common memory descriptor;
aligning the UEFI runtime service and the corresponding memory map to the common memory descriptor, wherein each of the multiple components within the PE/COFF image of the UEFI runtime service are mapped as runtime code that is executable, and the common memory descriptor enables an operating system that does not support multiple memory descriptors in a PE/COFF image to access the PE/COFF image of the UEFI runtime service without experiencing a failure condition;
copying the aligned UEFI runtime service and the corresponding memory map to a system memory of the IHS; and
booting the operating system, wherein the aligned UEFI runtime service and the corresponding memory map are compatible with operating systems that support a single runtime memory descriptor and operating systems that support multiple memory descriptors.
14 Assignments
0 Petitions
Accused Products
Abstract
A method, information handling system (IHS) and sub-system for enabling booting of the IHS using different operating system configurations. The method includes retrieving, via a processor, a unified extensible firmware interface (UEFI) image from a storage device and initializing at least one UEFI runtime service. The processor determines if a memory map corresponding to the UEFI runtime service defines multiple memory descriptors. In response to determining that the memory map defines multiple memory descriptors, a common memory descriptor is identified. The UEFI runtime service and the corresponding memory map are aligned to the common memory descriptor. The aligned UEFI runtime service and the corresponding memory map are copied to a system memory of the IHS. The operating system is booted, wherein the aligned UEFI runtime service and the corresponding memory map are compatible with operating systems that support single runtime memory descriptors.
7 Citations
20 Claims
-
1. A computer implemented method for enabling an information handling system (IHS) to be booted using different operating system configurations, the method comprising:
-
retrieving, via a processor, a unified extensible firmware interface (UEFI) image from a storage device; initializing at least one UEFI runtime service, the UEFI runtime service stored in a portable executable common object file format (PE/COFF) image with multiple components; determining if a memory map corresponding to the UEFI runtime service defines multiple memory descriptors, the memory map being a structure of data that indicates how memory is laid out and include memory descriptors that are mapped to sections of the at least one UEFI runtime service; in response to determining that the memory map defines multiple memory descriptors, identifying a common memory descriptor; aligning the UEFI runtime service and the corresponding memory map to the common memory descriptor, wherein each of the multiple components within the PE/COFF image of the UEFI runtime service are mapped as runtime code that is executable, and the common memory descriptor enables an operating system that does not support multiple memory descriptors in a PE/COFF image to access the PE/COFF image of the UEFI runtime service without experiencing a failure condition; copying the aligned UEFI runtime service and the corresponding memory map to a system memory of the IHS; and booting the operating system, wherein the aligned UEFI runtime service and the corresponding memory map are compatible with operating systems that support a single runtime memory descriptor and operating systems that support multiple memory descriptors. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An information handling system (IHS) comprising:
-
a storage device storing at least one unified extensible firmware interface (UEFI) image; a processor communicatively coupled to the storage device, the processor having firmware executing thereon to enable the IHS to be booted using different operating system versions, wherein the firmware configures the processor to; retrieve the UEFI image from the storage device; initialize at least one UEFI runtime service, the UEFI runtime service stored in a portable executable common object file format (PE/COFF) image with multiple components; determine if a memory map corresponding to the UEFI runtime service defines multiple memory descriptors, the memory map being a structure of data that indicates how memory is laid out and include memory descriptors that are mapped to sections of the at least one UEFI runtime service; in response to determining that the memory map defines multiple memory descriptors, identify a common memory descriptor; align the UEFI runtime service and the corresponding memory map to the common memory descriptor, wherein each of the multiple components within the PE/COFF image of the UEFI runtime service are mapped as runtime code that is executable, and the common memory descriptor enables an operating system that does not support multiple memory descriptors in a PE/COFF image to access the PE/COFF image of the UEFI runtime service without experiencing a failure condition; copy the aligned UEFI runtime service and the corresponding memory map to a system memory of the IHS; and boot the operating system, wherein the aligned UEFI runtime service and the corresponding memory map are compatible with operating systems that support a single runtime memory descriptor and operating systems that support multiple memory descriptors. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A sub-system for managing booting of an information handling system (IHS), the sub-system comprising:
-
a storage device storing at least one unified extensible firmware interface (UEFI) image; a processor communicatively coupled to the storage device, the processor having firmware executing thereon to enable the IHS to be booted using different operating system versions, wherein the firmware configures the processor to; retrieve the UEFI image from the storage device; initialize at least one UEFI runtime service, the UEFI runtime service stored in a portable executable common object file format (PE/COFF) image with multiple components; determine if a memory map corresponding to the UEFI runtime service defines multiple memory descriptors, the memory map being a structure of data that indicates how memory is laid out and include memory descriptors that are mapped to sections of the at least one UEFI runtime service; in response to determining that the memory map defines multiple memory descriptors, identify a common memory descriptor; align the UEFI runtime service and the corresponding memory map to the common memory descriptor, wherein each of the multiple components within the PE/COFF image of the UEFI runtime service are mapped as runtime code that is executable, and the common memory descriptor enables an operating system that does not support multiple memory descriptors in a PE/COFF image to access the PE/COFF image of the UEFI runtime service without experiencing a failure condition; copy the aligned UEFI runtime service and the corresponding memory map to a system memory of the IHS; and boot the operating system, wherein the aligned UEFI runtime service and the corresponding memory map are compatible with operating systems that support a single runtime memory descriptor and operating systems that support multiple memory descriptors. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification