# US 8,751,783 B2 · Booting computing devices with EFI aware operating systems

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,751,783 B2
- Document ID: US8751783B2
- Status: Granted
- Kind: B2
- Application number: 13/010,537
- Filed: 2011-01-20
- Published: 2012-07-26
- Granted: 2014-06-10
- Earliest claimed: 2011-01-20
- Assignees: Hewlett-Packard Development Company, L.P.
- Applicants: Mark Piwonka; Scotty Wiginton
- Inventors: Mark Piwonka; Scotty Wiginton
- Web page: https://patentgrep.com/patent/US8751783B2

## CPC

- G06F 9/441: {Multiboot arrangements, i.e. selecting an operating system to be loaded}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Example embodiments disclosed herein relate to finding a boot loader on storage. A boot process for a computing device including storage including an extensible firmware interface aware operating system is started. The storage is searched for a boot loader associated with the extensible firmware interface aware operating system.

## Claims

### Claim 1

A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to:
start a boot process for a computing device including a fixed storage including a plurality of extensible firmware interface (EFI) aware operating systems;
search, during the boot process, a directory of the fixed storage for a plurality of EFI boot loader files respectively associated with the extensible firmware interface aware operating systems until a threshold number of the EFI boot loader files is found or until a timer reaches a threshold; and
present representations of the respective EFI boot loader files.

### Claim 2 (depends on 1)

The non-transitory computer-readable storage medium of claim 1, further comprising instructions that, when executed by the processor, cause the processor to:
receive a selection input indicating one of the EFI boot loader files; and
initiate booting of the operating system corresponding to the one EFI boot loader file.

### Claim 3 (depends on 1)

The non-transitory computer-readable storage medium of claim 1, wherein the instructions to search the fixed storage further include instructions that cause the processor to:
store respective boot variables for the respective EFI boot loader files in a non-volatile memory.

### Claim 4 (depends on 3)

The non-transitory computer-readable storage medium of claim 3, wherein the non-volatile memory is associated with a basic input output system (BIOS).

### Claim 5 (depends on 3)

The non-transitory computer-readable storage medium of claim 3, wherein the instructions to search the fixed storage further include instructions that cause the processor to:
detect a globally unique identifier partition table in a protective master boot record partition table of the fixed storage, wherein the search of the directory is based on the detection.

### Claim 6 (depends on 1)

The non-transitory computer-readable storage medium of claim 1, wherein the search of the directory includes searching for at least a partial string name by parsing the fixed storage.

### Claim 7 (depends on 6)

The non-transitory computer-readable storage medium of claim 6, wherein the partial string name includes a customized name associated with a manufacturer of the computing device.

### Claim 8 (depends on 1)

The non-transitory computer-readable storage medium of claim 1 wherein the search is to continue until the timer reaches the threshold.

### Claim 9 (depends on 1)

The non-transitory computer-readable storage medium of claim 1 wherein the search is to continue until the threshold number of the EFI boot loader files is found.

### Claim 10 (depends on 1)

The non-transitory computer-readable storage medium of claim 1 wherein the search is to continue until the timer reaches the threshold after beginning a countdown when the threshold number of the EFI boot loader files is found.

### Claim 11

A method comprising:
initiating a boot process for a computing system including a non-removable storage including an extensible firmware interface (EFI) aware operating system;
searching, during the boot process, a directory of the non-removable storage to determine an EFI boot loader file associated with the extensible firmware interface aware operating system until a threshold number of the EFI boot loader files is found or until a timer reaches a threshold; and
updating a non-volatile memory of the computing system with information associated with the EFI boot loader file.

### Claim 12 (depends on 11)

The method of claim 11, wherein the non-removable storage is a hard drive and the non-volatile memory is associated with a basic input output system (BIOS).

### Claim 13 (depends on 12)

The method of claim 12, wherein the BIOS is located on a system board of the computing system.

### Claim 14 (depends on 11)

The method of claim 11, wherein the search of the directory of the non-removable storage includes determining that the non-removable storage includes a globally unique identifier partition table, a master boot record partition table, or a combination thereof that indicates a partition including the EFI boot loader file.

### Claim 15 (depends on 11)

The method of claim 11, further comprising:
identifying another EFI boot loader file during the search; and
updating the non-volatile memory with the other EFI boot loader file.

### Claim 16 (depends on 11)

The method of claim 11, further comprising:
identifying another EFI boot loader file during the search;
presenting a representation of the EFI boot loader file and the other EFI boot loader file;
receiving a selection input indicating the EFI boot loader file; and
causing booting of the extensible firmware interface aware operating system using the EFI boot loader file.

### Claim 17 (depends on 11)

The method of claim 11, further comprising:
detecting another non-removable storage including another extensible firmware interface aware operating system;
searching the other non-removable storage for another EFI boot loader file; and
updating the non-volatile memory with an extensible firmware interface boot variable entry corresponding to the other EFI boot loader file.

### Claim 18

A computing device comprising:
a non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to:
initialize the computing device during a boot process;
determine, during the boot process, a fixed storage,
wherein the fixed storage device includes a plurality of extensible firmware interface (EFI) aware operating systems;
search, during the boot process, directories of the storage for a plurality of EFI boot loader files corresponding to the extensible firmware interface aware operating systems until a threshold number of the EFI boot loader files is found or until a timer reaches a threshold;
cause presentation of respective representations of boot entries associated with the EFI boot loader files;
select one of the EFI boot loader files; and
update the non-volatile memory with extensible firmware interface boot variables corresponding to the EFI boot loader files.

### Claim 19 (depends on 18)

The computing device of claim 18, further comprising:
the fixed storage device,
wherein the non-transitory computer-readable storage medium further comprises instructions, that, when executed by the processor, cause the processor to:
store the selected one boot loader file as a first entry in a boot order stored in the non-volatile memory.

### Claim 20 (depends on 18)

The computing device of claim 18, wherein the non-transitory computer-readable storage medium further comprises instructions, that, when executed by the processor, cause the processor to:
attempt to perform a boot to one of the EFI boot loader files;
determine that the boot was unsuccessful; and
cause the update module to remove or demote in a boot order an entry associated with the one boot loader file.
