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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/441—Multiboot arrangements, i.e. selecting an operating system to be loaded
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot 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
Description
- 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.
- 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.
- 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.
- FIG. 1 illustrates a
hard disk 100 employing the legacy partitioning scheme. As shown, the legacy-partitionedhard 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 amain partition 130. - The legacy-partitioned
hard disk 100 also includes an end oftrack 120, which is unused except by some setup programs in WINDOWS OS. The reason for the end oftrack 120 is that the legacy partitioning scheme requires a partition to start on a track boundary, and theMBR 110 does not occupy the entire track. The end oftrack 120 occupies the remainder of the track not occupied by theMBR 110. - The legacy-partitioned
hard disk 100 further includes themain partition 130, which contains bulk of the data and programs. For example, the actual OS program may be included in themain partition 130. The legacy-partitionedhard disk 100 can include up to threeextended partitions 140 corresponding to the three remaining partition records in theMBR 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.
- 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.
- 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.
- FIG. 2 illustrates a
hard disk 200 employing the GPT scheme. As shown, the GPT-partitionedhard disk 200 includes a protective MBR (PMBR) 210. Like theMBR 110 of the legacy-partitionedhard disk 100, the PMBR 210 of GPT-partitionedhard 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-partitionedhard disk 200 also includes an end oftrack 220, to maintain compatibility with existing legacy tools that do not understand GPT partition structures. The GPT-partitionedhard disk 200 further includes aGPT table header 240 and aGPT partition area 250. While not shown, a duplicate GPT table header exists at the end of thedisk 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.
- 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. The method yet further includes loading a selected system.
- 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:
- 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; and
- FIG. 5 illustrates a flow diagram of a boot method for an EFI-less system according to an embodiment of the present invention.
- 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.
- 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.
- 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 oftrack 320, alegacy protection partition 330 and amain partition 340. TheMBR 310 allows booting from legacy PCs, i.e., those without an EFI-compliant BIOS. TheMBR 310 may be viewed as a simplified one sector boot program. By definition, theMBR 310 is outside of the area managed by the GPT. - The
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 aboot 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 theMBR 310 to thelegacy protection partition 330 and to themain 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 mainactive partition 340. - The modified GPT portion of the MBR+
GPT hybrid disk 300 may include aGPT header 350, theboot program area 360, and a GPT-managedarea 370. TheGPT header 350 complies with the format of a standard GPT header. Thus theGPT 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
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
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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- The GPT-managed
area 370 includes GPT specified partitions. These partitions conform to the standard GPT specification. It is preferred that the GPT-managedarea 370 of the GPT portion and themain partition 340 of the legacy compatible portion be non-overlapping. This may be accomplished by containing the modified GPT portion entirely within the end oftrack 320 and thelegacy 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
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 theMBR 310 may be stored at the last sector of the 1st track, i.e., in the last sector of the end oftrack 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
micro-GPT disk 400. - Like the
hybrid disk 300 as shown in FIG. 3, themicro-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 themicro-GPT disk 400 to behave in a substantially similar manner the GPT boot programs contained within thehybrid 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 oftrack 420, ahidden partition 430 and amain partition 440. The structure of theMBR 410 of themicro-GPT disk 400 is substantially similar to theMBR 310 of thehybrid disk 300. For example, theMBR 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 aboot 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
MBR 410 to the hiddenpartition 430 and to themain partition 440. TheMBR 410 may also contain table entries for the legacy partition table, including information to load the mainactive partition 440. - In the micro-GPT implementation, 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 oftrack 420. By definition, theMBR 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 oftrack 420. As suggested, the micro-GPT portion of themicro-GPT disk 400 may be entirely contained within the end oftrack 420. Because only one track is involved, the space for micro-GPT partitioning may be limited. - Unlike the
hybrid disk 300, themicro-GPT disk 400 may include ahidden partition 430 instead of thelegacy protection partition 330. Thehidden partition 430 may contain manufacturer-specific diagnostic tools. - The micro-GPT portion may include a
GPT header 450. Theformat 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
hybrid disk 300 as shown in FIG. 3, a backup copy of theGPT 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 themain partitions - 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 thehybrid 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
boot program area 460. In other words, one or more boot programs may exist in the legacy portion such as thehidden partition 430 and/or themain 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 arelay 480. Therelay 480 may include information about GPT boot programs or operating systems stored outside the micro-GPT portion of themicro-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
track 420. In addition, because the space in the end oftrack 420 is limited, a micro-partitioning scheme may be utilized for the GPT partitions. Assuming thatMBR 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 themicro-GPT disk 400 of FIG. 4A. However, in this instance, therelay 480 may point to anunfragmented file 445 within the mainactive 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. When a legacy BIOS based system boots from the MBR+GPT hybrid disk 300 shown in FIG. 3 or themicro-GPT disks MBR 310, 410 (step 510). The GPT-aware boot strap code in theMBR - 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 (step530). 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 MBR 310 to thelegacy protection partition 330 and to the main partition 340 (FIG. 3) and by the arrows from theMBR 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
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 theMBR 310 to the boot program area 360 (FIG. 3) and from the GPT-aware boot strap code of theMBR 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 (step565). 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 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 (step570) 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 step540) 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+
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-managedarea 370 for bootable partitions. None of the boot programs in theboot 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.
- 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.
Claims (20)
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)
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)
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)
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)
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 |
-
2002
- 2002-03-20 EP EP02354047A patent/EP1274009A3/en not_active Withdrawn
- 2002-07-02 US US10/186,691 patent/US7124290B2/en active Active
- 2002-07-02 US US10/186,689 patent/US6978363B2/en not_active Expired - Fee Related
Patent Citations (8)
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)
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 |