Patent ID: 8516237

Claim:
A method for transferring execution to a subsequent operating system, the method comprising: receiving, by a fault management architecture, an error about a hardware component located in a computer system during execution of the initial operating system; detecting, based on the error, a hardware fault of the hardware component; disabling the hardware component based on the hardware fault during execution of the initial operating system; storing, by the fault management architecture during execution of the initial operating system and as part of system data, fault data identifying the hardware component and identifying the disabling of the hardware component; rebooting the computer system by: initializing an in-kernel boot loader, wherein the in-kernel boot loader executes in a kernel of the initial operating system; populating, by the in-kernel boot loader, an initialization data structure using the system data gathered during the execution of the initial operating system, wherein populating the initialization data structure comprises: generating an available hardware list of available hardware using the system data; and excluding, while generating the available hardware list, the hardware component from the available hardware list based on the fault data identifying the hardware component and the disabling of the hardware component; storing, by the in-kernel boot loader, the initialization data structure in memory, wherein the memory is separate from a file system of the initial operating system and the subsequent operating system; loading, by the in-kernel boot loader, the subsequent operating system; and transferring control of the computer system from the initial operating system to the subsequent operating system, wherein the subsequent operating system accesses the initialization data structure from the memory to identify the available hardware; and executing the subsequent operating system on the available hardware of the computer system.