US20030014622A1 - System and method to enable a legacy BIOS system to boot from a disk that includes EFI GPT partitions - Google Patents

System and method to enable a legacy BIOS system to boot from a disk that includes EFI GPT partitions Download PDF

Info

Publication number
US20030014622A1
US20030014622A1 US10/186,689 US18668902A US2003014622A1 US 20030014622 A1 US20030014622 A1 US 20030014622A1 US 18668902 A US18668902 A US 18668902A US 2003014622 A1 US2003014622 A1 US 2003014622A1
Authority
US
United States
Prior art keywords
gpt
boot
boot program
legacy
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US10/186,689
Other versions
US6978363B2 (en
Inventor
Jean-Francois Larvoire
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from EP01410082A external-priority patent/EP1274008A1/en
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Assigned to HEWLETT-PACKARD COMPANY reassignment HEWLETT-PACKARD COMPANY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LARVOIRE, JEAN-FRANCOIS
Publication of US20030014622A1 publication Critical patent/US20030014622A1/en
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD COMPANY
Application granted granted Critical
Publication of US6978363B2 publication Critical patent/US6978363B2/en
Adjusted expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures

Definitions

  • This invention relates generally to using partitions on a disk. More specifically, this invention relates to systems and methods to enable a legacy BIOS system to boot from a disk that includes EFI GPT partitions.
  • a partition is a contiguous space of storage on a disk (physical or logical). Each partition functions like a separate disk. Partitions may be accessed by a system firmware and also by an operating system (OS). A hard disk may contain one or more partitions.
  • the legacy partitions are often formatted with file allocation tables (FATs) to partition hard disks, such as FAT12, FAT16 and FAT32.
  • FATs file allocation tables
  • FIG. 1 illustrates a hard disk 100 employing the legacy partitioning scheme.
  • the legacy-partitioned hard disk 100 includes a master boot record (MBR) 110 .
  • the MBR 110 typically contains a standard bootstrap code, which includes information of the location of the code to boot the computer system.
  • the MBR 110 also contains a legacy partition table, which contains four records (not shown). Each record of the legacy partition table can describe a partition. One record always describes a main partition 130 .
  • the legacy-partitioned hard disk 100 also includes an end of track 120 , which is unused except by some setup programs in WINDOWS OS.
  • the reason for the end of track 120 is that the legacy partitioning scheme requires a partition to start on a track boundary, and the MBR 110 does not occupy the entire track. The end of track 120 occupies the remainder of the track not occupied by the MBR 110 .
  • the legacy-partitioned hard disk 100 further includes the main partition 130 , which contains bulk of the data and programs. For example, the actual OS program may be included in the main partition 130 .
  • the legacy-partitioned hard disk 100 can include up to three extended partitions 140 corresponding to the three remaining partition records in the MBR 110 .
  • the extended partition(s) 140 may be sub partitioned even further.
  • MB megabytes
  • GB gigabytes
  • PC personal computer
  • a first partition may be used to store an active operating system such as DOS, WINDOWS, and the like;
  • a second partition may be used to store a recovery tool that is able to restore the active OS in case of failure;
  • a third partition may be for diagnostic tools; and the like.
  • EFI Extensible Firmware Interface
  • BIOS basic input output system
  • GPT GUID Partition Table, GUID standing for global unique identifier—a universally unique 128-bit number
  • FIG. 2 illustrates a hard disk 200 employing the GPT scheme.
  • the GPT-partitioned hard disk 200 includes a protective MBR (PMBR) 210 .
  • PMBR protective MBR
  • the PMBR 210 of GPT-partitioned hard disk 200 contains a standard bootstrap code and a legacy partition table.
  • the table entry of the PMBR 210 also includes a legacy protect entry.
  • the GPT-partitioned hard disk 200 also includes an end of track 220 , to maintain compatibility with existing legacy tools that do not understand GPT partition structures.
  • the GPT-partitioned hard disk 200 further includes a GPT table header 240 and a GPT partition area 250 . While not shown, a duplicate GPT table header exists at the end of the disk 200 for redundancy purposes.
  • the main drawback to the standard GPT is that the GPT requires EFI-compliant operating systems.
  • an EFI-less system i.e. a legacy BIOS system
  • the standard GPT is not backward compatible with older PC operating systems.
  • the standard GPT cannot be adopted to situations where backward compatibility is important.
  • An embodiment of the present invention is a system to enable a legacy BIOS based system to boot from a disk that includes EFI GPT partitions.
  • the system includes a master boot record including a GPT-aware boot strap code within the master boot record, wherein the GPT-aware boot strap code is loadable by the legacy BIOS.
  • the system also includes a boot program area including at least one GPT boot program, wherein the at least one GPT program is executed prior to booting the legacy BIOS based system.
  • Another embodiment of the present invention is a method to enable a legacy BIOS based system to boot from a disk that includes modified EFI GPT partitions.
  • the method includes determining whether at least one GPT boot program exists.
  • the method also includes verifying a validity of the at least one GPT boot program in response to the determining step providing a positive result.
  • the method further includes executing the at least one GPT boot program in response the verifying step providing a positive result.
  • the method yet includes creating a boot menu of available systems.
  • FIG. 1 illustrates a hard disk employing the legacy partitioning scheme
  • FIG. 2 illustrates a hard disk employing the GPT partitioning scheme
  • FIG. 3 illustrates a diagram of a MBR+GPT hybrid disk according to an embodiment of the present invention
  • FIG. 4A illustrates a diagram of a legacy disk that has been modified with a micro-GPT partition according to an embodiment of the present invention
  • FIG. 4B illustrates another diagram of a legacy disk that has been modified with a micro-GPT partition according to an embodiment of the present invention.
  • FIG. 5 illustrates a flow diagram of a boot method for an EFI-less system according to an embodiment of the present invention.
  • modifications may be made to the standard GPT disk such that a legacy BIOS based systems may be able to boot from the modified GPT disk. It should be noted that an EFI-compliant BIOS may also be booted from the same modified GPT disk.
  • FIG. 3 illustrates a diagram of a MBR+GPT hybrid disk 300 according to an embodiment of the present invention.
  • the MBR+GPT hybrid disk 300 may be divided into two portions—a legacy compatible portion and a modified GPT portion.
  • the legacy compatible portion of the MBR+GPT hybrid disk 300 includes a master boot record (MBR) 310 , an end of track 320 , a legacy protection partition 330 and a main partition 340 .
  • the MBR 310 allows booting from legacy PCs, i.e., those without an EFI-compliant BIOS.
  • the MBR 310 may be viewed as a simplified one sector boot program. By definition, the MBR 310 is outside of the area managed by the GPT.
  • the MBR 310 includes a GPT-aware boot strap code.
  • the GPT-aware boot strap code is aware that the modified GPT portion may exist.
  • the GPT-aware boot strap code determines whether the GPT portion, which is indicated in FIG. 3 by an arrow from the GPT-aware boot strap code to a boot program area 360 , may exist. If the GPT portion exists, the control of the boot process is transferred to one or more GPT boot programs within the boot program area 360 (explained in more detail below). If no GPT portion exists, the legacy partition table is parsed and a jump is made to the active partition, which are indicated in FIG. 3 by arrows from the MBR 310 to the legacy protection partition 330 and to the main partition 340 .
  • the MBR 310 may also include table entries for the legacy partition table (up to 4 table entries) with one entry having information to load the main active partition 340 .
  • the modified GPT portion of the MBR+GPT hybrid disk 300 may include a GPT header 350 , the boot program area 360 , and a GPT-managed area 370 .
  • the GPT header 350 complies with the format of a standard GPT header.
  • the GPT header 350 includes fields such as the Signature, Revision, HeaderSize, HeaderCRC32, and the like. Information regarding the standard GPT is readily available from Intel (http://developer.intel.com/technology/efi/download.htm) and is herein incorporated by reference.
  • the standard GPT specifies that a backup copy of the GPT header is to be placed at an end of the hard disk, addressed by the field AlternateLBA of the GPT header. This aids in the recovery process in the event that the primary GPT header becomes corrupted.
  • the backup of the GPT header 350 may be placed at an end of the modified GPT portion, which may not necessarily include the entire hard disk.
  • one or more GPT boot programs may be included in the boot program area 360 .
  • Boot programs are executed at boot time prior to the operating system being loaded.
  • one boot program may be a diagnostic tool that checks and repairs the hard disk.
  • Another boot program may check the status of the peripherals (printers, external modems, and the like).
  • Each boot program may be defined in a separate GPT partition and identified by its own partition type global unique identifier (GUID).
  • GUID global unique identifier
  • the boot programs may be connected to form a chain of boot programs that are all executed before the operating system is loaded.
  • Each boot program may contain a header structure, which defines among other things a link to the next boot program.
  • the last program in the boot chain may be a boot menu program (more on the boot menu program below). These links allow the chain of boot programs to form.
  • An example of a boot chain is 1) BIOS extensions; 2) GPT check & repair; and 3) boot menu.
  • one or more of the earlier boot programs in the chain be responsible for checking the MBR and the GPT areas, and repairing them if necessary.
  • the repair may proceed automatically, through interactions with a human operator, or a combination of both.
  • the GPT check & repair program may execute immediately after the BIOS extensions are executed.
  • a boot program may be replaced by another boot program of the same type. For instance, a computer manufacturer may preload a simple boot menu that is sufficient for selecting a diagnostic protocol or an active operating system. This boot menu program may be later replaced with a more powerful and more sophisticated boot menu program that is able to select among many operating systems and diagnostic tools.
  • a setup for the replacement boot program should ensure that the link from the previous boot program in the chain points to the replacement boot program. This may be accomplished by placing the replacement boot program to occupy the same location as the old boot program (at least the starting address). In this manner, no modifications need to made to the previous boot program in the boot chain. The same may be accomplished by modifying the link from the previous boot program to point to the replacement program.
  • the setup should ensure that the link from the replacement program is identical to the link from the boot program that has been replaced.
  • a new boot program may be inserted and/or an old boot program may be deleted.
  • the setup should replace the link in the previous boot program in the chain to point to the new boot program and insert the previous link of the previous boot program as the link of the new program.
  • the setup should replace the link of the previous boot program to be identical to the link of the deleted boot program.
  • managers that move partitions and/or programs around should follow the chain of boot programs and update the links as necessary.
  • each boot program including the first GPT boot program, loads the first sector of the next boot program in sequence.
  • the first sector of each boot program may then be responsible for loading the rest of the boot program. In this manner, loading of boot programs may be simplified.
  • the currently executing boot program verify the validity of the next boot program.
  • the currently executing boot program may verify the CRC of the next boot program before transferring control. In this manner, the likelihood of executing corrupted boot programs may be minimized.
  • the last boot program may be the GPT boot menu program. Because the GPT boot menu program is the last in the chain, its link does not point to any other boot programs. The link is set to NULL or to any indicator signifying no more boot programs.
  • the GPT boot menu program may be stored in a dedicated GPT partition with its own GUID. The partition may be vendor specific. Like other boot programs, the first sector of the GPT boot menu program may be responsible for loading the rest of the GPT boot menu program.
  • the GPT boot menu may scan GPT entries on all hard drives and dynamically build a list of the drives containing legacy boot sectors.
  • the GPT boot menu may scan the active partition in the legacy partition table on the boot drive.
  • the GPT boot menu may then display a menu with the names of each partition in the list and let a user choose. If the user does not choose within a specified timeout period, a default may be chosen for the user. The timeout period and the default operating system may be changed by outside utilities.
  • the GPT-managed area 370 includes GPT specified partitions. These partitions conform to the standard GPT specification. It is preferred that the GPT-managed area 370 of the GPT portion and the main partition 340 of the legacy compatible portion be non-overlapping. This may be accomplished by containing the modified GPT portion entirely within the end of track 320 and the legacy protection partition 330 .
  • an EFI system partition becomes optional.
  • the absence of such partition indicates that the BIOS is not an EFI-compliant BIOS, which does not prevent GPT-partition-aware tools from operating.
  • the presence of the EFI system partition does not provide any particular information.
  • the disk 300 may have come from a system with EFI-compliant BIOS, while the current system may not have one.
  • a backup of the MBR 310 may be stored at the last sector of the 1 st track, i.e., in the last sector of the end of track 320 .
  • FIG. 4A illustrates a diagram of a legacy disk that has been modified with a micro-GPT partition according to an embodiment of the present invention.
  • the disk so modified still retains the ability to boot from a legacy BIOS based system and from an EFI-compliant BIOS.
  • the modified legacy disk is also referred to as a micro-GPT disk 400 .
  • the micro-GPT disk 400 may also be divided into two portions—a legacy compatible portion and a micro-GPT portion. As the name suggests, the micro-GPT portion may be limited in the amount of space.
  • the micro-GPT structure allows GPT boot programs contained within the micro-GPT disk 400 to behave in a substantially similar manner the GPT boot programs contained within the hybrid disk 300 . As will be demonstrated below, GPT boot programs may exist outside of the micro-GPT portion.
  • the legacy compatible portion of the micro-GPT disk 400 may include a master boot record (MBR) 410 , an end of track 420 , a hidden partition 430 and a main partition 440 .
  • the structure of the MBR 410 of the micro-GPT disk 400 is substantially similar to the MBR 310 of the hybrid disk 300 .
  • the MBR 410 may include a GPT-aware boot strap code that transfers control to the GPT programs if a GPT partition or partitions exist as indicated by an arrow from the GPT-aware boot strap code to a boot program area 460 .
  • the GPT-aware boot strap code may transfer control to the active partition as indicated by the arrows from the MBR 410 to the hidden partition 430 and to the main partition 440 .
  • the MBR 410 may also contain table entries for the legacy partition table, including information to load the main active partition 440 .
  • a backup copy of the MBR 410 may be located at the end of the first track, i.e., at the last sector of the end of track 420 .
  • the MBR 410 and the backup copy of the MBR are outside of GPT management.
  • the last sector of the micro-GPT portion may be the next to the last sector of the end of track 420 .
  • the micro-GPT portion of the micro-GPT disk 400 may be entirely contained within the end of track 420 . Because only one track is involved, the space for micro-GPT partitioning may be limited.
  • the micro-GPT disk 400 may include a hidden partition 430 instead of the legacy protection partition 330 .
  • the hidden partition 430 may contain manufacturer-specific diagnostic tools.
  • the micro-GPT portion may include a GPT header 450 .
  • the format GPT header 450 complies with the format of the standard GPT header. However, due to the limited space of the micro-GPT portion, the sizes of the partitions may be smaller.
  • a backup copy of the GPT header 450 may be optional for the micro-GPT implementation. In this manner, additional space may be saved. Alternatively, backup entries may be kept outside of the micro-GPT portion, i.e., the backup entries may be located in the hidden or the main partitions 430 or 440 . In this instance, GPT-aware partition managers should update the GPT backup header as needed.
  • the micro-GPT portion may also include a boot program area 460 containing one or more GPT boot programs.
  • the structure of the GPT boot programs is substantially similar to the GPT boot programs of the hybrid disk 300 implementation and thus details will not be discussed here. The similarities include the chain of GPT boot programs and the boot menu program.
  • the micro-GPT portion may include a relay 480 .
  • the relay 480 may include information about GPT boot programs or operating systems stored outside the micro-GPT portion of the micro-GPT disk 400 .
  • the main entry table and the partitions for the micro-GPT is preferred to be located towards the end of the track 420 .
  • a micro-partitioning scheme may be utilized for the GPT partitions. Assuming that MBR 410 , a backup of the MBR, GPT header, and a backup of the GPT header are to be implemented in the first track (including the end of track 420 ), the maximum usable micro-GPT space will be limited to N—4 sectors, where N represents the number of sectors per track. Typically, there are 63 sectors per track of disk.
  • FIG. 4B illustrates another diagram of a legacy disk that has been modified with a micro-GPT partition according to an embodiment of the present invention.
  • the micro-GPT disk 405 is similar to the micro-GPT disk 400 of FIG. 4A.
  • the relay 480 may point to an unfragmented file 445 within the main active partition 440 to indicate a GPT boot program. This situation may occur for example where there are no diagnostic tools and thus the hidden partition is not necessary.
  • FIG. 5 illustrates a flow diagram of a boot method 500 for an EFI-less system, i.e. a legacy BIOS based system, according to an embodiment of the present invention.
  • a legacy BIOS based system boots from the MBR+GPT hybrid disk 300 shown in FIG. 3 or the micro-GPT disks 400 and 405 shown in FIGS. 4A and 4B
  • the legacy BIOS may load and relinquish control to the MBR 310 , 410 (step 510 ).
  • the GPT-aware boot strap code in the MBR 310 , 410 may check for the presence of a first GPT boot program (step 520 ).
  • the GPT-aware boot strap code may check the validity of the first GPT boot program, for example by verifying the CRC (cyclic redundancy check) number of the GPT boot program (step 530 ). If the CRC is invalid or there is no GPT boot program, the GPT-aware boot strap code may scan the legacy partition table in the MBR 310 , 410 and load the legacy system (step 540 ). This is also illustrated by the arrows from the MBR 310 to the legacy protection partition 330 and to the main partition 340 (FIG. 3) and by the arrows from the MBR 410 to the hidden partition 430 (FIG. 4) and to the main partition 440 (FIGS. 4 and 4B). In this manner, the legacy operating system may be booted.
  • the legacy operating system may be booted.
  • a GPT-aware boot strap code may load the first GPT boot program (step 550 ). This is also illustrated by the arrow from the GPT-aware boot strap code of the MBR 310 to the boot program area 360 (FIG. 3) and from the GPT-aware boot strap code of the MBR 410 to the boot program area 460 (FIGS. 4A and 4B). The loaded GPT boot program may be executed. Once the GPT boot program executes, the GPT boot program may check to determine if there are more GPT boot programs (step 560 ).
  • the current GPT boot program may determine the validity of the subsequent GPT boot program (step 565 ). If the CRC cannot be verified, the chain of programs is then broken. At this point, the current GPT boot program may attempt to boot the legacy operating system (step 540 ). As indicated previously, one or more of the GPT programs may exist outside of the GPT areas, especially for the micro-GPT disks 400 and 405 . These situations are facilitated by the relays 480 .
  • the last GPT boot program in the chain of GPT boot programs may be the boot menu program.
  • the boot menu program may scan both the legacy and GPT partition tables for bootable systems and create a boot menu (step 570 ) as described above.
  • the boot sector for the selected system may be loaded and executed (step 575 ).
  • the system may fail to boot.
  • the method 500 may determine whether the system is successfully loaded (step 580 ). If the chosen system is not loaded successfully, then special error handling procedures may be invoked (step 585 ). For example, an “int 18H” may be executed, which may execute a standard recovery mechanism. If the system loads successfully, then the system is up and running.
  • FIG. 5 illustrates an exemplary boot method for legacy BIOS based systems.
  • a standard EFI-compliant system may use the same MBR+GPT hybrid disk 300 to boot.
  • the EFI BIOS Boot Menu may parse the GPT-managed area 370 for bootable partitions. None of the boot programs in the boot program area 360 are executed when the EFI-compliant BIOS based system is used.

Abstract

A system and a method to boot from a modified GPT partitioned disk with a legacy BIOS based system. The system and method allows for backward compatibility with the new GPT standard. A GPT-aware bootstrap code may be loaded by the legacy BIOS upon system start up.

Description

    FIELD OF THE INVENTION
  • This invention relates generally to using partitions on a disk. More specifically, this invention relates to systems and methods to enable a legacy BIOS system to boot from a disk that includes EFI GPT partitions. [0001]
  • CROSS-REFERENCE TO COPENDING APPLICATIONS
  • In copending application (Applicants docket number 50006853, entitled COMPUTER SYSTEM HAVING FIRST AND SECOND OPERATING SYSTEMS, assigned to the assignee of the present invention and incorporated herein by this reference, there is described a method enabling a legacy bios system to boot a second operating system from a disk that includes EFI GPT partions. Although not limited thereto, the techniques described herein are employed in at least some embodiments of that invention. [0002]
  • BACKGROUND OF THE INVENTION
  • Since 1984, the de-facto standard legacy disk partitioning systems has been in use for MS-DOS based computer systems (these are also known as IBM compatibles). A partition is a contiguous space of storage on a disk (physical or logical). Each partition functions like a separate disk. Partitions may be accessed by a system firmware and also by an operating system (OS). A hard disk may contain one or more partitions. The legacy partitions are often formatted with file allocation tables (FATs) to partition hard disks, such as FAT12, FAT16 and FAT32. [0003]
  • FIG. 1 illustrates a [0004] hard disk 100 employing the legacy partitioning scheme. As shown, the legacy-partitioned hard disk 100 includes a master boot record (MBR) 110. The MBR 110 typically contains a standard bootstrap code, which includes information of the location of the code to boot the computer system. The MBR 110 also contains a legacy partition table, which contains four records (not shown). Each record of the legacy partition table can describe a partition. One record always describes a main partition 130.
  • The legacy-partitioned [0005] hard disk 100 also includes an end of track 120, which is unused except by some setup programs in WINDOWS OS. The reason for the end of track 120 is that the legacy partitioning scheme requires a partition to start on a track boundary, and the MBR 110 does not occupy the entire track. The end of track 120 occupies the remainder of the track not occupied by the MBR 110.
  • The legacy-partitioned [0006] hard disk 100 further includes the main partition 130, which contains bulk of the data and programs. For example, the actual OS program may be included in the main partition 130. The legacy-partitioned hard disk 100 can include up to three extended partitions 140 corresponding to the three remaining partition records in the MBR 110. The extended partition(s) 140 may be sub partitioned even further.
  • The capacity of the disks has grown tremendously, from about 5 megabytes (MB) in 1984 to 100 gigabytes (GB) and more today. This has allowed larger and larger partitions to be created on a hard disk, which has in turn allowed personal computer (PC) manufacturers and users to separate data into their own partitions. For example, a first partition may used to store an active operating system such as DOS, WINDOWS, and the like; a second partition may be used to store a recovery tool that is able to restore the active OS in case of failure; a third partition may be for diagnostic tools; and the like. However, the tremendous growth of disk capacities has pushed the limits of the legacy partitioning scheme, and in many cases, the disk capacities have gone beyond the legacy limits. [0007]
  • To overcome the limitations of the legacy partitioning scheme, PC manufacturers and independent software vendors (ISVs) developed their own system management and other software tools. In most or all cases, the tools are proprietary and thus are incompatible with each other. In addition, these proprietary tools tamper with the MBR of the of the legacy partitioning table. [0008]
  • Intel has introduced an Extensible Firmware Interface (EFI) specification for the IA-64 basic input output system (BIOS). The EFI specification includes a new partitioning scheme GPT (GUID Partition Table, GUID standing for global unique identifier—a universally unique 128-bit number) defining how the hard disks are to be partitioned. The GPT scheme overcomes the size limitations of the legacy schemes and does not tamper with the MBR. [0009]
  • FIG. 2 illustrates a [0010] hard disk 200 employing the GPT scheme. As shown, the GPT-partitioned hard disk 200 includes a protective MBR (PMBR) 210. Like the MBR 110 of the legacy-partitioned hard disk 100, the PMBR 210 of GPT-partitioned hard disk 200 contains a standard bootstrap code and a legacy partition table. The table entry of the PMBR 210 also includes a legacy protect entry. The GPT-partitioned hard disk 200 also includes an end of track 220, to maintain compatibility with existing legacy tools that do not understand GPT partition structures. The GPT-partitioned hard disk 200 further includes a GPT table header 240 and a GPT partition area 250. While not shown, a duplicate GPT table header exists at the end of the disk 200 for redundancy purposes.
  • The main drawback to the standard GPT is that the GPT requires EFI-compliant operating systems. In other words, an EFI-less system, i.e. a legacy BIOS system, will not boot from a hard disk that is GPT partitioned under the current standard. In addition, the standard GPT is not backward compatible with older PC operating systems. Thus the standard GPT cannot be adopted to situations where backward compatibility is important. [0011]
  • SUMMARY OF THE INVENTION
  • An embodiment of the present invention is a system to enable a legacy BIOS based system to boot from a disk that includes EFI GPT partitions. The system includes a master boot record including a GPT-aware boot strap code within the master boot record, wherein the GPT-aware boot strap code is loadable by the legacy BIOS. The system also includes a boot program area including at least one GPT boot program, wherein the at least one GPT program is executed prior to booting the legacy BIOS based system. [0012]
  • Another embodiment of the present invention is a method to enable a legacy BIOS based system to boot from a disk that includes modified EFI GPT partitions. The method includes determining whether at least one GPT boot program exists. The method also includes verifying a validity of the at least one GPT boot program in response to the determining step providing a positive result. The method further includes executing the at least one GPT boot program in response the verifying step providing a positive result. The method yet includes creating a boot menu of available systems. The method yet further includes loading a selected system.[0013]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Features of the present invention will become apparent to those skilled in the art from the following description with reference to the drawings, in which: [0014]
  • FIG. 1 illustrates a hard disk employing the legacy partitioning scheme; [0015]
  • FIG. 2 illustrates a hard disk employing the GPT partitioning scheme; [0016]
  • FIG. 3 illustrates a diagram of a MBR+GPT hybrid disk according to an embodiment of the present invention; [0017]
  • FIG. 4A illustrates a diagram of a legacy disk that has been modified with a micro-GPT partition according to an embodiment of the present invention; [0018]
  • FIG. 4B illustrates another diagram of a legacy disk that has been modified with a micro-GPT partition according to an embodiment of the present invention; and [0019]
  • FIG. 5 illustrates a flow diagram of a boot method for an EFI-less system according to an embodiment of the present invention. [0020]
  • DETAILED DESCRIPTION
  • For simplicity and illustrative purposes, the principles of the present invention are described by referring mainly to an exemplary embodiment or embodiments of schemes for partitioning hard disks. However, it should be understood that the same principles are equally applicable to, and can be implemented in, many types of situations where storage devices are partitioned, and that any such variation does not depart from the true spirit and scope of the present invention. [0021]
  • Moreover, in the following detailed description, references are made to the accompanying drawings, which illustrate specific embodiments in which the present invention may be practiced. Electrical, mechanical, logical and structural changes may be made to the embodiments without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense and the scope of the present invention is defined by the appended claims and their equivalents. [0022]
  • According to an embodiment of the present invention, modifications may be made to the standard GPT disk such that a legacy BIOS based systems may be able to boot from the modified GPT disk. It should be noted that an EFI-compliant BIOS may also be booted from the same modified GPT disk. [0023]
  • FIG. 3 illustrates a diagram of a MBR+[0024] GPT hybrid disk 300 according to an embodiment of the present invention. The MBR+GPT hybrid disk 300 may be divided into two portions—a legacy compatible portion and a modified GPT portion. The legacy compatible portion of the MBR+GPT hybrid disk 300 includes a master boot record (MBR) 310, an end of track 320, a legacy protection partition 330 and a main partition 340. The MBR 310 allows booting from legacy PCs, i.e., those without an EFI-compliant BIOS. The MBR 310 may be viewed as a simplified one sector boot program. By definition, the MBR 310 is outside of the area managed by the GPT.
  • The [0025] MBR 310 includes a GPT-aware boot strap code. As the name suggests, the GPT-aware boot strap code is aware that the modified GPT portion may exist. The GPT-aware boot strap code determines whether the GPT portion, which is indicated in FIG. 3 by an arrow from the GPT-aware boot strap code to a boot program area 360, may exist. If the GPT portion exists, the control of the boot process is transferred to one or more GPT boot programs within the boot program area 360 (explained in more detail below). If no GPT portion exists, the legacy partition table is parsed and a jump is made to the active partition, which are indicated in FIG. 3 by arrows from the MBR 310 to the legacy protection partition 330 and to the main partition 340.
  • The [0026] MBR 310 may also include table entries for the legacy partition table (up to 4 table entries) with one entry having information to load the main active partition 340.
  • The modified GPT portion of the MBR+[0027] GPT hybrid disk 300 may include a GPT header 350, the boot program area 360, and a GPT-managed area 370. The GPT header 350 complies with the format of a standard GPT header. Thus the GPT header 350 includes fields such as the Signature, Revision, HeaderSize, HeaderCRC32, and the like. Information regarding the standard GPT is readily available from Intel (http://developer.intel.com/technology/efi/download.htm) and is herein incorporated by reference.
  • The standard GPT specifies that a backup copy of the GPT header is to be placed at an end of the hard disk, addressed by the field AlternateLBA of the GPT header. This aids in the recovery process in the event that the primary GPT header becomes corrupted. According to an embodiment of the present invention, the backup of the [0028] GPT header 350 may be placed at an end of the modified GPT portion, which may not necessarily include the entire hard disk.
  • As noted above, one or more GPT boot programs may be included in the [0029] boot program area 360. Boot programs are executed at boot time prior to the operating system being loaded. For example, one boot program may be a diagnostic tool that checks and repairs the hard disk. Another boot program may check the status of the peripherals (printers, external modems, and the like). Each boot program may be defined in a separate GPT partition and identified by its own partition type global unique identifier (GUID).
  • The boot programs may be connected to form a chain of boot programs that are all executed before the operating system is loaded. Each boot program may contain a header structure, which defines among other things a link to the next boot program. The last program in the boot chain may be a boot menu program (more on the boot menu program below). These links allow the chain of boot programs to form. An example of a boot chain is 1) BIOS extensions; 2) GPT check & repair; and 3) boot menu. [0030]
  • It is preferred that one or more of the earlier boot programs in the chain be responsible for checking the MBR and the GPT areas, and repairing them if necessary. The repair may proceed automatically, through interactions with a human operator, or a combination of both. For instance and as described above, the GPT check & repair program may execute immediately after the BIOS extensions are executed. [0031]
  • Note that a boot program may be replaced by another boot program of the same type. For instance, a computer manufacturer may preload a simple boot menu that is sufficient for selecting a diagnostic protocol or an active operating system. This boot menu program may be later replaced with a more powerful and more sophisticated boot menu program that is able to select among many operating systems and diagnostic tools. [0032]
  • In this instance, a setup for the replacement boot program should ensure that the link from the previous boot program in the chain points to the replacement boot program. This may be accomplished by placing the replacement boot program to occupy the same location as the old boot program (at least the starting address). In this manner, no modifications need to made to the previous boot program in the boot chain. The same may be accomplished by modifying the link from the previous boot program to point to the replacement program. In addition, the setup should ensure that the link from the replacement program is identical to the link from the boot program that has been replaced. [0033]
  • Just as an existing boot program may be replaced, a new boot program may be inserted and/or an old boot program may be deleted. When inserting the new boot program, the setup should replace the link in the previous boot program in the chain to point to the new boot program and insert the previous link of the previous boot program as the link of the new program. When deleting the old boot program, the setup should replace the link of the previous boot program to be identical to the link of the deleted boot program. In general, managers that move partitions and/or programs around should follow the chain of boot programs and update the links as necessary. [0034]
  • To accomplish the boot chain execution process, it is preferred that each boot program, including the first GPT boot program, loads the first sector of the next boot program in sequence. The first sector of each boot program may then be responsible for loading the rest of the boot program. In this manner, loading of boot programs may be simplified. [0035]
  • However, before relinquishing control to the next boot program, it is preferred that the currently executing boot program verify the validity of the next boot program. For example, the currently executing boot program may verify the CRC of the next boot program before transferring control. In this manner, the likelihood of executing corrupted boot programs may be minimized. [0036]
  • It was discussed above that the last boot program may be the GPT boot menu program. Because the GPT boot menu program is the last in the chain, its link does not point to any other boot programs. The link is set to NULL or to any indicator signifying no more boot programs. The GPT boot menu program may be stored in a dedicated GPT partition with its own GUID. The partition may be vendor specific. Like other boot programs, the first sector of the GPT boot menu program may be responsible for loading the rest of the GPT boot menu program. [0037]
  • The GPT boot menu may scan GPT entries on all hard drives and dynamically build a list of the drives containing legacy boot sectors. In addition, the GPT boot menu may scan the active partition in the legacy partition table on the boot drive. The GPT boot menu may then display a menu with the names of each partition in the list and let a user choose. If the user does not choose within a specified timeout period, a default may be chosen for the user. The timeout period and the default operating system may be changed by outside utilities. [0038]
  • The GPT-managed [0039] area 370 includes GPT specified partitions. These partitions conform to the standard GPT specification. It is preferred that the GPT-managed area 370 of the GPT portion and the main partition 340 of the legacy compatible portion be non-overlapping. This may be accomplished by containing the modified GPT portion entirely within the end of track 320 and the legacy protection partition 330.
  • Note that an EFI system partition becomes optional. The absence of such partition indicates that the BIOS is not an EFI-compliant BIOS, which does not prevent GPT-partition-aware tools from operating. On the other hand, the presence of the EFI system partition does not provide any particular information. The [0040] disk 300 may have come from a system with EFI-compliant BIOS, while the current system may not have one. For reliability and security reasons, a backup of the MBR 310 may be stored at the last sector of the 1st track, i.e., in the last sector of the end of track 320.
  • FIG. 4A illustrates a diagram of a legacy disk that has been modified with a micro-GPT partition according to an embodiment of the present invention. The disk so modified still retains the ability to boot from a legacy BIOS based system and from an EFI-compliant BIOS. For the reasons described hereinbelow, the modified legacy disk is also referred to as a [0041] micro-GPT disk 400.
  • Like the [0042] hybrid disk 300 as shown in FIG. 3, the micro-GPT disk 400 may also be divided into two portions—a legacy compatible portion and a micro-GPT portion. As the name suggests, the micro-GPT portion may be limited in the amount of space. The micro-GPT structure allows GPT boot programs contained within the micro-GPT disk 400 to behave in a substantially similar manner the GPT boot programs contained within the hybrid disk 300. As will be demonstrated below, GPT boot programs may exist outside of the micro-GPT portion.
  • The legacy compatible portion of the [0043] micro-GPT disk 400 may include a master boot record (MBR) 410, an end of track 420, a hidden partition 430 and a main partition 440. The structure of the MBR 410 of the micro-GPT disk 400 is substantially similar to the MBR 310 of the hybrid disk 300. For example, the MBR 410 may include a GPT-aware boot strap code that transfers control to the GPT programs if a GPT partition or partitions exist as indicated by an arrow from the GPT-aware boot strap code to a boot program area 460.
  • If no GPT partition exists, then the GPT-aware boot strap code may transfer control to the active partition as indicated by the arrows from the [0044] MBR 410 to the hidden partition 430 and to the main partition 440. The MBR 410 may also contain table entries for the legacy partition table, including information to load the main active partition 440.
  • In the micro-GPT implementation, a backup copy of the [0045] MBR 410 may be located at the end of the first track, i.e., at the last sector of the end of track 420. By definition, the MBR 410 and the backup copy of the MBR are outside of GPT management. As a result, the last sector of the micro-GPT portion may be the next to the last sector of the end of track 420. As suggested, the micro-GPT portion of the micro-GPT disk 400 may be entirely contained within the end of track 420. Because only one track is involved, the space for micro-GPT partitioning may be limited.
  • Unlike the [0046] hybrid disk 300, the micro-GPT disk 400 may include a hidden partition 430 instead of the legacy protection partition 330. The hidden partition 430 may contain manufacturer-specific diagnostic tools.
  • The micro-GPT portion may include a [0047] GPT header 450. The format GPT header 450 complies with the format of the standard GPT header. However, due to the limited space of the micro-GPT portion, the sizes of the partitions may be smaller.
  • Unlike the standard GPT and the [0048] hybrid disk 300 as shown in FIG. 3, a backup copy of the GPT header 450 may be optional for the micro-GPT implementation. In this manner, additional space may be saved. Alternatively, backup entries may be kept outside of the micro-GPT portion, i.e., the backup entries may be located in the hidden or the main partitions 430 or 440. In this instance, GPT-aware partition managers should update the GPT backup header as needed.
  • The micro-GPT portion may also include a [0049] boot program area 460 containing one or more GPT boot programs. The structure of the GPT boot programs is substantially similar to the GPT boot programs of the hybrid disk 300 implementation and thus details will not be discussed here. The similarities include the chain of GPT boot programs and the boot menu program.
  • However, due to the space limitation of the micro-GPT portion, not all of the GPT boot programs may be contained within the [0050] boot program area 460. In other words, one or more boot programs may exist in the legacy portion such as the hidden partition 430 and/or the main partition 440. Indeed, it may be that even one complete GPT boot program may not be able to fit within the micro-GPT area. To enable linking of GPT program or programs that are outside of the micro-GPT area to the chain of boot programs, the micro-GPT portion may include a relay 480. The relay 480 may include information about GPT boot programs or operating systems stored outside the micro-GPT portion of the micro-GPT disk 400.
  • To decrease the risk of data loss in case where some of the beginning sectors of the track is destroyed, the main entry table and the partitions for the micro-GPT is preferred to be located towards the end of the [0051] track 420. In addition, because the space in the end of track 420 is limited, a micro-partitioning scheme may be utilized for the GPT partitions. Assuming that MBR 410, a backup of the MBR, GPT header, and a backup of the GPT header are to be implemented in the first track (including the end of track 420), the maximum usable micro-GPT space will be limited to N—4 sectors, where N represents the number of sectors per track. Typically, there are 63 sectors per track of disk.
  • FIG. 4B illustrates another diagram of a legacy disk that has been modified with a micro-GPT partition according to an embodiment of the present invention. The [0052] micro-GPT disk 405 is similar to the micro-GPT disk 400 of FIG. 4A. However, in this instance, the relay 480 may point to an unfragmented file 445 within the main active partition 440 to indicate a GPT boot program. This situation may occur for example where there are no diagnostic tools and thus the hidden partition is not necessary.
  • FIG. 5 illustrates a flow diagram of a [0053] boot method 500 for an EFI-less system, i.e. a legacy BIOS based system, according to an embodiment of the present invention. When a legacy BIOS based system boots from the MBR+GPT hybrid disk 300 shown in FIG. 3 or the micro-GPT disks 400 and 405 shown in FIGS. 4A and 4B, the legacy BIOS may load and relinquish control to the MBR 310, 410 (step 510). The GPT-aware boot strap code in the MBR 310, 410 may check for the presence of a first GPT boot program (step 520).
  • If the first GPT boot program is found, then the GPT-aware boot strap code may check the validity of the first GPT boot program, for example by verifying the CRC (cyclic redundancy check) number of the GPT boot program (step [0054] 530). If the CRC is invalid or there is no GPT boot program, the GPT-aware boot strap code may scan the legacy partition table in the MBR 310, 410 and load the legacy system (step 540). This is also illustrated by the arrows from the MBR 310 to the legacy protection partition 330 and to the main partition 340 (FIG. 3) and by the arrows from the MBR 410 to the hidden partition 430 (FIG. 4) and to the main partition 440 (FIGS. 4 and 4B). In this manner, the legacy operating system may be booted.
  • If the CRC of the first GPT boot program is valid in [0055] step 530, then a GPT-aware boot strap code may load the first GPT boot program (step 550). This is also illustrated by the arrow from the GPT-aware boot strap code of the MBR 310 to the boot program area 360 (FIG. 3) and from the GPT-aware boot strap code of the MBR 410 to the boot program area 460 (FIGS. 4A and 4B). The loaded GPT boot program may be executed. Once the GPT boot program executes, the GPT boot program may check to determine if there are more GPT boot programs (step 560).
  • However, as noted above, before loading and relinquishing control to a subsequent GPT boot program, the current GPT boot program may determine the validity of the subsequent GPT boot program (step [0056] 565). If the CRC cannot be verified, the chain of programs is then broken. At this point, the current GPT boot program may attempt to boot the legacy operating system (step 540). As indicated previously, one or more of the GPT programs may exist outside of the GPT areas, especially for the micro-GPT disks 400 and 405. These situations are facilitated by the relays 480.
  • The last GPT boot program in the chain of GPT boot programs may be the boot menu program. The boot menu program may scan both the legacy and GPT partition tables for bootable systems and create a boot menu (step [0057] 570) as described above. The boot sector for the selected system may be loaded and executed (step 575).
  • Regardless of whether the legacy defined system (in step [0058] 540) or the GPT selected system (step 575) is loaded, the system may fail to boot. The method 500 may determine whether the system is successfully loaded (step 580). If the chosen system is not loaded successfully, then special error handling procedures may be invoked (step 585). For example, an “int 18H” may be executed, which may execute a standard recovery mechanism. If the system loads successfully, then the system is up and running.
  • As noted above, FIG. 5 illustrates an exemplary boot method for legacy BIOS based systems. However, regarding the MBR+[0059] GPT hybrid disk 300, a standard EFI-compliant system may use the same MBR+GPT hybrid disk 300 to boot. In this instance, then the EFI BIOS Boot Menu may parse the GPT-managed area 370 for bootable partitions. None of the boot programs in the boot program area 360 are executed when the EFI-compliant BIOS based system is used.
  • While the invention has been described with reference to the exemplary embodiments thereof, it should be understood that various modifications may be made to the described embodiments of the invention without departing from the true spirit and scope of the invention. [0060]
  • The terms and descriptions used herein are set forth by way of illustration only and are not meant as limitations. In particular, although the method of the present invention has been described by examples, the steps of the method may be performed in a different order than illustrated or simultaneously. It should be understood that these and other variations are possible within the spirit and scope of the invention as defined in the following claims and their equivalents. [0061]

Claims (20)

What is claimed is:
1. A system to enable a legacy BIOS based system to boot from a disk that includes EFI GPT partitions, comprising:
a master boot record including a GPT-aware boot strap code within the master boot record, wherein the GPT-aware boot strap code is loadable by the legacy BIOS;
a boot program area including at least one GPT boot program, wherein the at least one GPT program is executed prior to booting the legacy BIOS based system.
2. The system of claim 1, wherein the disk is one of a MBR+GPT hybrid disk and a modified legacy disk that includes a micro-GPT portion.
3. The system of claim 2, wherein the MBR-GPT hybrid disk is also bootable by an EFI-compliant BIOS system.
4. The system of claim 2, wherein the micro-GPT portion includes a relay partition, wherein the relay partition includes information about one or more of the GPT boot programs and operating systems stored outside the micro-GPT portion.
5. The system of claim 1, wherein the boot program area includes a plurality of GPT boot programs.
6. The system of claim 5, wherein each of the plurality of GPT boot programs resides in one of a GPT-managed area and a legacy partitioned area.
7. The system of claim 5, wherein the plurality of GPT boot programs form a chain of boot programs that are all executed prior to any operating system being loaded.
8. The system of claim 7, wherein each GPT boot program includes instructions to load a first sector of a next GPT boot program in the chain of boot programs.
9. The system of claim 8, wherein the each GPT boot program includes instructions to verify a validity of the next GPT boot program prior to relinquishing control to the next GPT boot program.
10. The system of claim 7, wherein a first sector of each GPT boot program includes instructions to load a remainder of the each GPT boot program.
11. The system of claim 7, wherein a last GPT boot program is a boot menu program.
12. The system of claim 5, wherein any of the plurality of GPT boot programs is replaceable by another GPT boot program.
13. A method to enable a legacy BIOS based system to boot from a disk that includes modified EFI GPT partitions, comprising:
determining whether at least one GPT boot program exists;
verifying a validity of the at least one GPT boot program in response to the determining step providing a positive result;
executing the at least one GPT boot program in response the verifying step providing a positive result;
creating a boot menu of available systems; and
loading a selected system.
14. The method of claim 13, further comprising:
loading a legacy boot system in response to the determining step providing a negative result or to the verifying step providing a negative result.
15. The method of claim 13, wherein a plurality of GPT boot programs exist, the method further comprising:
verifying a validity of each of the plurality of GPT boot programs prior to executing the each of the plurality of GPT boot programs.
16. The method of claim 15, wherein the step of verifying the validity comprises:
verifying a CRC of the each of the plurality of GPT boot programs.
17. The method of claim 16, further comprising:
loading the each of the plurality of GPT boot programs based on a positive result of the verifying the CRC step.
18. A system to enable a legacy BIOS based system to boot from a disk that includes EFI GPT partitions, comprising:
means for determining whether at least one GPT boot program exists;
means for verifying a validity of the at least one GPT boot program in response to the determining step providing a positive result;
means for executing the at least one GPT boot program in response the verifying step providing a positive result;
means for creating a boot menu of available systems; and
means for loading a selected system.
19. The system of claim 18, further comprising:
means for loading a legacy boot system in response to the means for determining providing a negative result or in response to the means for verifying providing a negative result.
20. The system of claim 18, wherein the means for verifying includes means for verifying a CRC of the at least one GPT boot program.
US10/186,689 2001-07-03 2002-07-02 System and method to enable a legacy BIOS system to boot from a disk that includes EFI GPT partitions Expired - Fee Related US6978363B2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP01410082A EP1274008A1 (en) 2001-07-03 2001-07-03 Backward compatible boot system for a computer
EP01410082.0 2001-07-03
EP02354047A EP1274009A3 (en) 2001-07-03 2002-03-20 System and method to enable a legacy BIOS system to boot from a disk that includes EFI GPT partitions
EP02354047.9 2002-03-20

Publications (2)

Publication Number Publication Date
US20030014622A1 true US20030014622A1 (en) 2003-01-16
US6978363B2 US6978363B2 (en) 2005-12-20

Family

ID=26077280

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/186,691 Active 2024-07-24 US7124290B2 (en) 2001-07-03 2002-07-02 Method and system for selectively booting one of a plurality of operating systems contained on a mass storage device
US10/186,689 Expired - Fee Related US6978363B2 (en) 2001-07-03 2002-07-02 System and method to enable a legacy BIOS system to boot from a disk that includes EFI GPT partitions

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/186,691 Active 2024-07-24 US7124290B2 (en) 2001-07-03 2002-07-02 Method and system for selectively booting one of a plurality of operating systems contained on a mass storage device

Country Status (2)

Country Link
US (2) US7124290B2 (en)
EP (1) EP1274009A3 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071621A1 (en) * 2003-09-30 2005-03-31 Rothman Michael A. Methods and apparatus to provide conditional legacy support
US20050188368A1 (en) * 2004-02-20 2005-08-25 Kinney Michael D. Method and apparatus for reducing the storage overhead of portable executable (PE) images
US20070011674A1 (en) * 2005-07-08 2007-01-11 Samsung Electronics Co., Ltd. Computer system and method for selectively installing one operating system among a plurality of operating systems
US20070061562A1 (en) * 2003-02-10 2007-03-15 Zimmer Vincent J Method and apparatus for providing seamless file system encryption from a pre-boot environment into a firmware interface aware operating system
US20090205034A1 (en) * 2008-02-11 2009-08-13 Microsoft Corporation System for Running Potentially Malicious Code
US20090271600A1 (en) * 2008-04-24 2009-10-29 Dell Products, Lp Method of using an information handling system having a boot file, and an information handling system and machine-executable code for carrying out the method
US20140089651A1 (en) * 2012-09-25 2014-03-27 Jiewen Yao Computing device boot software authentication
CN105446832A (en) * 2015-11-10 2016-03-30 华为技术有限公司 Master boot sector data recovery method and apparatus
US20170085384A1 (en) * 2014-05-30 2017-03-23 Kabushiki Kaisha Toshiba Information processing device and version switching method of trusted platform module
US20170137207A1 (en) * 2014-06-09 2017-05-18 Ian Frank Mackintosh Insulated bottle holder
CN114816542A (en) * 2022-04-07 2022-07-29 联想开天科技有限公司 System starting method and device

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030172228A1 (en) * 2002-03-07 2003-09-11 International Business Machines Corporation Method and system for extending a hardfile partition table
US7065627B2 (en) * 2002-03-25 2006-06-20 International Business Machines Corporation Method and system for providing an event driven image for a boot record
US8336044B2 (en) * 2002-10-09 2012-12-18 Rpx Corporation Method and system for deploying a software image
US7024581B1 (en) 2002-10-09 2006-04-04 Xpoint Technologies, Inc. Data processing recovery system and method spanning multiple operating system
US6915420B2 (en) * 2003-01-06 2005-07-05 John Alan Hensley Method for creating and protecting a back-up operating system within existing storage that is not hidden during operation
TW200428284A (en) * 2003-06-03 2004-12-16 Hon Hai Prec Ind Co Ltd System and method for bootstrap with backup boot-code in single flash ROM
TWI307015B (en) * 2003-06-03 2009-03-01 Hon Hai Prec Ind Co Ltd System and method for automatically bootstrap with double boot areas in a single flash rom
EP1503284A1 (en) * 2003-08-01 2005-02-02 Hewlett-Packard Development Company, L.P. Data processing system and method
KR101115486B1 (en) 2003-08-08 2012-02-27 엘지전자 주식회사 Apparatus and method for controlling booting of computer system
US8914606B2 (en) * 2004-07-08 2014-12-16 Hewlett-Packard Development Company, L.P. System and method for soft partitioning a computer system
US20060020940A1 (en) * 2004-07-08 2006-01-26 Culter Bradley G Soft-partitioning systems and methods
TW200604819A (en) * 2004-07-16 2006-02-01 Mitac Technology Corp Method for fast initializing and playing multi-media A/V function with non-hard-disk storage medium
TWI284837B (en) * 2004-11-05 2007-08-01 Mitac Technology Corp Computer booting method, storage medium and computer device employing the same
TWI271651B (en) * 2004-12-30 2007-01-21 Mitac Technology Corp Recovery method and its system for an operating system
CN1983177A (en) * 2005-12-16 2007-06-20 鸿富锦精密工业(深圳)有限公司 System and method for selecting computer starting equipment
US7673131B2 (en) * 2006-05-05 2010-03-02 Microsoft Corporation Booting an operating system in discrete stages
US7805598B2 (en) * 2007-05-03 2010-09-28 Dell Products L.P. Auto-detecting and auto-correcting system state changes before booting into operating systems
US9098448B2 (en) * 2007-05-29 2015-08-04 Dell Products L.P. Intelligent boot services
US8090937B2 (en) * 2007-11-02 2012-01-03 Dell Products L.P. System and method for managing booting of an information handling system
KR101489158B1 (en) * 2008-05-21 2015-02-06 삼성전자 주식회사 Storage medium having master boot record, computer system comprising the same and booting method
US8751783B2 (en) * 2011-01-20 2014-06-10 Hewlett-Packard Development Company, L.P. Booting computing devices with EFI aware operating systems
US8627141B2 (en) * 2011-02-14 2014-01-07 Dell Products L.P. System and method for auto-failover and version matching of bootloader in an access controller
KR101805627B1 (en) * 2011-11-28 2017-12-08 삼성전자주식회사 Method and apparatus for controlling booting of computer system
GB2508895A (en) * 2012-12-14 2014-06-18 Ibm Bootloader for booting a computer into a second operating system that is hidden from a first host operating system
CN106575224B (en) 2014-07-31 2019-09-24 惠普发展公司有限责任合伙企业 Computing device with the first operating system and the second operating system
KR102051086B1 (en) * 2018-01-05 2019-12-02 주식회사 웨인 Booting disk supporting file storage function

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5136711A (en) * 1990-10-17 1992-08-04 Ast Research System for multiple access hard disk partitioning
US6032161A (en) * 1995-09-01 2000-02-29 Sun Microsystems, Inc. Partitioning within a partition in a disk file storage system
US6199159B1 (en) * 1998-12-22 2001-03-06 Intel Corporation Booting an operating system
US6430663B1 (en) * 1998-07-06 2002-08-06 Adaptec, Inc. Methods for selecting a boot partition and hiding a non-selected partition
US6532538B1 (en) * 2000-02-17 2003-03-11 International Business Machines Corporation Method and system for supporting multiple operating systems on the same disk running on different computers at the same time
US6542979B1 (en) * 1999-03-31 2003-04-01 Intel Corporation Hidden disk partition
US6691213B1 (en) * 2001-02-28 2004-02-10 Western Digital Ventures, Inc. Computer system and method for accessing a protected partition of a disk drive that lies beyond a limited address range of a host computer's BIOS
US6727920B1 (en) * 1999-03-11 2004-04-27 Micron Technology, Inc. Multiple operating system quick boot utility

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330648B1 (en) * 1996-05-28 2001-12-11 Mark L. Wambach Computer memory with anti-virus and anti-overwrite protection apparatus
US6367074B1 (en) * 1998-12-28 2002-04-02 Intel Corporation Operation of a system
US7062643B2 (en) * 2000-08-01 2006-06-13 Fujitsu Limited System method and apparatus for controlling a boot process of a computer
US6711660B1 (en) * 2001-06-22 2004-03-23 Western Digital Ventures, Inc. System and method for performing disk drive diagnostics and restoration using a host-inaccessible hidden partition

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5136711A (en) * 1990-10-17 1992-08-04 Ast Research System for multiple access hard disk partitioning
US6032161A (en) * 1995-09-01 2000-02-29 Sun Microsystems, Inc. Partitioning within a partition in a disk file storage system
US6430663B1 (en) * 1998-07-06 2002-08-06 Adaptec, Inc. Methods for selecting a boot partition and hiding a non-selected partition
US6199159B1 (en) * 1998-12-22 2001-03-06 Intel Corporation Booting an operating system
US6727920B1 (en) * 1999-03-11 2004-04-27 Micron Technology, Inc. Multiple operating system quick boot utility
US6542979B1 (en) * 1999-03-31 2003-04-01 Intel Corporation Hidden disk partition
US6532538B1 (en) * 2000-02-17 2003-03-11 International Business Machines Corporation Method and system for supporting multiple operating systems on the same disk running on different computers at the same time
US6691213B1 (en) * 2001-02-28 2004-02-10 Western Digital Ventures, Inc. Computer system and method for accessing a protected partition of a disk drive that lies beyond a limited address range of a host computer's BIOS

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070061562A1 (en) * 2003-02-10 2007-03-15 Zimmer Vincent J Method and apparatus for providing seamless file system encryption from a pre-boot environment into a firmware interface aware operating system
US8842837B2 (en) 2003-02-10 2014-09-23 Intel Corporation Method and apparatus for providing seamless file system encryption from a pre-boot environment into a firmware interface aware operating system
US8130960B2 (en) * 2003-02-10 2012-03-06 Intel Corporation Method and apparatus for providing seamless file system encryption from a pre-boot environment into a firmware interface aware operating system
US20050071621A1 (en) * 2003-09-30 2005-03-31 Rothman Michael A. Methods and apparatus to provide conditional legacy support
US7143280B2 (en) * 2003-09-30 2006-11-28 Intel Corporation Methods and apparatus to provide conditional legacy support through a compatibility support module stored on a secure area or network
US20050188368A1 (en) * 2004-02-20 2005-08-25 Kinney Michael D. Method and apparatus for reducing the storage overhead of portable executable (PE) images
US7676800B2 (en) * 2004-02-20 2010-03-09 Intel Corporation Method and apparatus for reducing the storage overhead of portable executable (PE) images
US20070011674A1 (en) * 2005-07-08 2007-01-11 Samsung Electronics Co., Ltd. Computer system and method for selectively installing one operating system among a plurality of operating systems
US20090205034A1 (en) * 2008-02-11 2009-08-13 Microsoft Corporation System for Running Potentially Malicious Code
US8789159B2 (en) * 2008-02-11 2014-07-22 Microsoft Corporation System for running potentially malicious code
US8504815B2 (en) 2008-04-24 2013-08-06 Dell Products, Lp Method of using an information handling system having a boot file, and an information handling system and machine-executable code for carrying out the method
US8185727B2 (en) * 2008-04-24 2012-05-22 Dell Products, Lp Method of using an information handling system having a boot file, and an information handling system and machine-executable code for carrying out the method
US20090271600A1 (en) * 2008-04-24 2009-10-29 Dell Products, Lp Method of using an information handling system having a boot file, and an information handling system and machine-executable code for carrying out the method
US20140089651A1 (en) * 2012-09-25 2014-03-27 Jiewen Yao Computing device boot software authentication
US9141802B2 (en) * 2012-09-25 2015-09-22 Intel Corporation Computing device boot software authentication
US9589138B2 (en) * 2012-09-25 2017-03-07 Intel Corporation Computing device boot software authentication
US20170085384A1 (en) * 2014-05-30 2017-03-23 Kabushiki Kaisha Toshiba Information processing device and version switching method of trusted platform module
US10193693B2 (en) * 2014-05-30 2019-01-29 Kabushiki Kaisha Toshiba Information processing device and version switching method of trusted platform module
US20170137207A1 (en) * 2014-06-09 2017-05-18 Ian Frank Mackintosh Insulated bottle holder
CN105446832A (en) * 2015-11-10 2016-03-30 华为技术有限公司 Master boot sector data recovery method and apparatus
CN114816542A (en) * 2022-04-07 2022-07-29 联想开天科技有限公司 System starting method and device

Also Published As

Publication number Publication date
US20030012114A1 (en) 2003-01-16
US7124290B2 (en) 2006-10-17
EP1274009A3 (en) 2003-12-03
US6978363B2 (en) 2005-12-20
EP1274009A2 (en) 2003-01-08

Similar Documents

Publication Publication Date Title
US6978363B2 (en) System and method to enable a legacy BIOS system to boot from a disk that includes EFI GPT partitions
US6289426B1 (en) Drive preparation methods for intelligent backup systems
US6532535B1 (en) Method for managing primary and secondary storage devices in an intelligent backup and restoring system
US6851073B1 (en) Extensible system recovery architecture
US6915420B2 (en) Method for creating and protecting a back-up operating system within existing storage that is not hidden during operation
US6535998B1 (en) System recovery by restoring hardware state on non-identical systems
US6205527B1 (en) Intelligent backup and restoring system and method for implementing the same
US6374363B1 (en) Method for generating a footprint image file for an intelligent backup and restoring system
KR101143112B1 (en) Applying custom software image updates to non-volatile storage in a failsafe manner
US6993649B2 (en) Method of altering a computer operating system to boot and run from protected media
US7650531B2 (en) System and method for automatically restoring hard drives on failure
US6138179A (en) System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk
US7334157B1 (en) Restore of data to a computer system having different hardware
US6279109B1 (en) Computing system and operating method for booting and running a graphical user interface (GUI) with r/w hard drive partition unavailable
US6591376B1 (en) Method and system for failsafe recovery and upgrade of an embedded operating system
US6857011B2 (en) Method of remote imaging
US6996706B1 (en) Booting an operating system or running other pre-boot code from a file stored under a different operating system
US6205558B1 (en) Recovery of file systems after modification failure
US7017039B2 (en) Method of booting a computer operating system to run from a normally unsupported system device
US6374366B1 (en) Automated drive repair systems and methods
US8886995B1 (en) Fault tolerant state machine for configuring software in a digital computer
US20040255106A1 (en) Recovery of operating system configuration data by firmware of computer system
US20070011445A1 (en) System and method for loading programs from HDD independent of operating system
EP0917060A1 (en) System for computer recovery using removable high capacity media
WO2000019310A2 (en) Dual use master boot record

Legal Events

Date Code Title Description
AS Assignment

Owner name: HEWLETT-PACKARD COMPANY, NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LARVOIRE, JEAN-FRANCOIS;REEL/FRAME:013327/0382

Effective date: 20020829

AS Assignment

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:014061/0492

Effective date: 20030926

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P.,TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:014061/0492

Effective date: 20030926

FPAY Fee payment

Year of fee payment: 4

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20131220