Master Boot Record
The Master Boot Record ( MBR for short ) contains a start program for BIOS -based computers ( IBM PC-compatible computers ) and a partition table . It is located in the first sector of a storage medium that can be divided into partitions, such as a hard disk . The concept of a start program and a partition table was introduced in 1983 with the IBM-PC XT and MS-DOS / PC DOS 2.0. As partition table has the MBR as a de facto standard for storage media of all kinds, eg. B. USB sticks , memory cards or external hard drives, established and is also referred to as a PC partition scheme.
Since around 2010, the GUID partition table (GPT partition scheme), which was also developed as a successor to the MBR, has been increasingly used for large storage media (> 2 TiB ) .
Historical development
When the IBM PC was developed, storage media were not initially divided into partitions. The original version of the IBM PC, the model 5150 from 1981, had two 5¼ ″ -160 kB floppy disk drives. The supplied PC DOS 1.0 ( MS-DOS 1.14) operating system could then only handle this special configuration.
The BIOS , a new development for the IBM PC, expected the 512 byte boot sector at position CHS 0: 0: 1 (track 0, head 0, sector 1) , loaded it into memory and executed it. At this point, PC DOS 1.0 contains a boot sector based on this fixed configuration: 160 kB storage media with 8 sectors per track.
With the appearance of the IBM-PC XT in 1983, newer floppy disk drives and, for the first time, a hard disk were introduced. The boot sector therefore had to be adapted, as a fixed configuration could no longer be assumed. With PC DOS 2.0 (MS-DOS 2.0), the Volume Boot Record (VBR) was introduced for floppy disks , which contains a BIOS parameter block (BPB for short) for the different diskette formats and is evaluated by the code in the VBR. Thus, floppy disks with 9 sectors per track could also be used for the new 360 kB drives and further future disk geometries were made possible. The master boot record was introduced for the hard disk , which now allowed a division into several areas. The areas were called partitions , the act of partitioning . The partitions have fixed sizes, so it could happen that one partition became full, but there was still free space on another. With the introduction of hard disks, the possibility was created to store files within each partition in areas called directories . Later the directories were also called folders . These areas do not represent fixed boundaries. If a directory is full, the partition is also full. To distinguish between file names, the directory names and a backslash are prefixed, the backslash ("\"). (See FAT file system). It was also possible to store additional directories in directories, which were then called subdirectories .
For reasons of compatibility, the convention of loading the boot sector into memory and executing it has been retained. This also applies to data carriers with multiple partitions. For this purpose, the area for the executable program was shortened slightly and the part that became free was replaced by the partition table at the end. The function of the boot loader is modified such that the program code in the MBR initially only the given partition table evaluates and chainloaded loads the actual boot loader and executes principle, which is located in the first sector that partition is marked active. The firmware (BIOS) of the computer therefore does not need to know the structure with the partitions and can, as before, execute the program in the first sector of the hard disk.
Functions
The master boot record (MBR) for bootable data media consists of two parts:
- A start program ( English Bootstrap Code ) - the program in the boot sector that starts the boot loader of an operating system on one of the partitions using the chain loading principle .
- a partition table - in this context is often of a partition sector ( English partition sector spoken).
On IBM PC-compatible computers , the partition table is usually evaluated by the start program - this takes on the function of a boot loader for BIOS-based x86 computers.
On data media from which no operating system can or should not be started, only the partition table is used by a system that is already running - a possibly existing start program is not used. This is the case, for example, when a USB stick containing an MBR partition table is used on a computer or other device with a USB interface.
In the GUID partition table ( English GUID Partition Table, GPT ), which is increasingly replacing the MBR in modern systems as its successor, the MBR included for compatibility reasons will be created to protect with a total storage area occupying partition, so that existing in the subsequent data blocks GUID partition table and the partitions defined in it cannot be accidentally overwritten ( “ protective MBR ” ).
Startup process (booting)
To begin the historic IBM PC to be compatible, the will of a BIOS during startup ( English boats ) read usually the first sector of a connected storage medium and executed. This sector is therefore also known as the boot sector . With the master boot record , the start program takes control by evaluating the partition table and starting a selected operating system. In the standard MBR of MS-DOS / PC DOS 2.0 this is the master boot code which finds the first active partition (marked as bootable) and then loads and executes the boot sector of this partition as well.
In general, therefore, it is not the BIOS that searches for the active partition and starts the boot sector (VBR) of this partition. However, some manufacturers have developed BIOS variants with additional functions, such as a selection menu to allow booting from any partition; Functions that load additional manufacturer-specific programs from a partition are also common. IBM / Lenovo, for example, offers this on many laptops of the ThinkPad series in the form of a "service partition" whose programs can be started directly from the BIOS. With many Compaq models, the BIOS setup can only be accessed via external programs: The key F10that the user has to press during the BIOS phase to configure the BIOS is only available if a key is intended for this purpose DOS operating system including setup and diagnostic programs is available in a special partition (type 0x12
) on the first hard disk. Alternatively, this BIOS can only be configured using a start disk with the appropriate programs.
Although the IBM PC originally supported every type of boot code, some BIOS variants check whether a valid partition table is available before starting. If a PC system only uses the MBR, the user does not notice it in almost all cases. For example, when using GPT-formatted data storage media, the start-up process is interrupted by that BIOS or a start-up is even fundamentally impossible. Operating systems that do not use or require an MBR (such as FreeBSD or self-made operating systems) cannot be started on such BIOS variants. Even if a valid MBR is available, some BIOS variants also check whether an active primary partition exists and whether it contains a boot sector. This behavior means that an operating system whose boot loader is installed in the MBR itself and which therefore does not mark any partition as active, cannot start and instead the BIOS outputs a mostly ambiguous error message.
Synonyms
In addition to the name Master Boot Record , the following alternative names for the MBR can also be found:
- Partition Boot Sector or partition sector or partition sector
- Master Boot Sector
Structure of the MBR
address | Function / content | Size (bytes) |
||
---|---|---|---|---|
hex | dec | |||
0x0000 | 0 | Start program ( English bootloader ) (program code) | 440 | |
0x01B8 | 440 | Data carrier signature (since Windows 2000) |
4th | |
0x01BC | 444 | Zero (0x0000) |
2 | |
0x01BE | 446 | Partition table | 64 | |
0x01FE | 510 | 55 hex | Boot sector signature (is checked by the BIOS for the first boot loader) |
2 |
0x01FF | 511 | AA hex | ||
Total: | 512 |
Start program (bootloader)
The bootloader of the master boot record is a small program that is called by the BIOS . This always loads the bootloader in the 8086- compatible 16-bit mode “ Real Mode ” . With the standard MBR of MS-DOS / PC DOS 2.0 this start program is called Master Boot Code , searches the partition table for “visible” and “active” partitions and then loads and executes the boot sector of the first active partition. In chainloaded process the actual operating system is loaded.
The master boot code has been changed a little for every Microsoft operating system, but still essentially corresponds to the original program code of MS-DOS 2.0. Since it can basically start any operating system on the first active partition, a master boot record with its master boot code is also known as a standard MBR.
However, the boot loader can be replaced or expanded by specially designed programs. Boot managers , which outsource the previously contained start program and replace it in the MBR, in order to display a selection menu or something similar instead, are popular. B. enable starting from any partitions. There are also disk managers , which are supposed to bypass BIOS limitations through geometry conversion (e.g. to provide logical block addressing ). Such programs often use their own partition or a reserved (unpartitioned) area on the hard drive from which further files or further program code can be loaded.
Also boot viruses use the bootloader of the MBR to be already activated before the actual operating system boot.
A missing or defective boot loader means that the data carrier cannot be started at all, even if an operating system with an intact boot sector is present in one of the partitions. Since some bootloaders reload additional files, there is a defect even if the MBR and the partition of the operating system are intact, but the bootloader files are faulty or missing.
The startup program of various operating systems
Since the start program ( English boot loader ) only needs to be available for starting ( English booting ) an IBM PC-compatible computer, it is usually written to the MBR when an operating system is installed. This can be done in different ways. DOS and Windows, for example, always write the master boot code when the utility program creates a partition table fdisk
. However, if an MBR is already available, fdisk
the boot loader is not normally changed with, but it is changed when an operating system is installed. With most Linux distributions, the boot loader in the MBR is only initiated by installing a specific Linux boot loader if the MBR has been specified as the installation location for this.
Common startup programs in the MBR are:
- Master Boot Code - generic, from Microsoft since MS-DOS 2.0: loads a boot sector from the first active partition
- mbr and mbr-install - also generically and test disc used
- mbrbm - generic
- bootany - generic, part of BSD / OS
- booteasy - generic, used by FreeFDISK ( FreeDOS -FDISK)
- LILO
- GRUB
DOS and MS-DOS-based Windows versions
Under DOS , the MBR of non-partitioned data media debug
can be viewed and edited with the one belonging to DOS . If, on the other hand, the data carrier is partitioned, debug
only the boot sector (boot record) of the respective partition can be viewed. A disk editor (such as Diskedit.exe, PTEdit.exe etc.) is required to access the MBR. MS-DOS and the Windows variants based on MS-DOS, Windows 9x ( Windows 95 to Windows Me ), overwrite the boot loader in the MBR during installation, regardless of its previous content.
In the event of an error in the MBR, fdisk /mbr
a new standard master boot record can be written under DOS using the undocumented command . With the exception of the partition table, the entire MBR is overwritten, which means that boot viruses can be removed if the virus does not recognize and intercept write access to the master boot record. However, this procedure also removes any existing boot manager, as its instructions are overwritten by the standard MS-DOS code.
Windows NT to Windows XP
Some Microsoft Windows versions of the NT line , etc. a. XP , but not NT 4 and 2000 , overwrite the bootloader (the first 446 bytes of the MBR) with every new installation, but take into account information that is still available about an older Microsoft operating system, i.e. MS-DOS and other Windows versions based on it. In this case, the NTLDR is preconfigured with the option to choose between the various installed Microsoft operating systems.
The recovery console is available for Windows 2000, Windows XP and Windows Server 2003 , here the command is used fixmbr
to repair the MBR (with the exception of the data carrier signature) and fixboot
to repair the boot sector of a partition (both fix
commands only for x86 systems ).
Windows Vista and 7
In contrast to older NT-based Windows systems, Vista starts the boot manager " BOOTMGR " from the boot sector (under NT / XP this was "ntldr"). BOOTMGR does not take the information about the booting operating system from the boot.ini file , but from the \ Boot \ BCD file, which is either located on the EFI system partition or directly on the system partition for BIOS systems.
BOOTMGR uses the disk signature (bytes 440–443 in the MBR) and the drive start offset (in bytes) to find and address the boot drive. Both values are saved in the BCD file as BcdDeviceData elements with the designation X1000001 . To determine the boot drive, BOOTMGR compares the data carrier signature of all recognized data carriers with the selected boot entries. If the data carrier signature was not found or changed, Windows refuses to start with a "winload error 0xc000000e ". If the start partition has been moved or if the drive start offset is incorrect for another reason, BOOTMGR acknowledges this with “winload error 0xc0000225 ”.
In contrast to boot.ini, the BCD file is not a simple text file, but a binary file (more precisely a registry hive in terms of structure ) and cannot be edited with a normal text editor. In addition to Regedit and the programming access to the BCD data via the WMI interface, BCDEdit.exe is currently the only tool provided by Microsoft that enables comprehensive editing of the BCD file. It can be called on the command line in a running Windows (or from a corresponding Windows PE CD).
Alternatively, when booting from the Windows CD, the tool bootrec.exe
can be called up in the command prompt via the point "Repair computer / System recovery options" . bootrec /fixmbr
writes a new MBR, bootrec /fixboot
a new boot sector in the system partition. A third-party alternative is the EasyBCD tool , which enables the BCD file to be edited using a graphic interface.
Linux (and some UNIX flavors)
Linux distributions or Solaris usually install the GRUB boot loader , less often the older LILO , SYSLINUX or others. GRUB is able to start different operating systems (e.g. Linux, BSD , macOS or Windows).
GRUB Legacy
When the system starts, "Stage 1" of the GRUB is first read from the MBR and executed. Its only task is to find the so-called "Stage 2". Either the sector of the data carrier in which “Stage 2” begins is stored in “Stage 1” or the partition number and the file path are specified. In the first case, "Stage 2" is loaded directly. In the second case, "Stage 1.5", which consists of a file system driver, is loaded from the boot sector of a partition. The "Stage 2" is Unix-like operating systems usually in the file / boot / grub / stage2 . The "Stage 2" reads the configuration from /boot/grub/menu.lst or /boot/grub/grub.cfg , displays a boot menu and then loads the kernel and its image or starts the boot loader of another operating system such as Windows .
LILO
With LILO, all data necessary for booting are written directly into the MBR. LILO always starts the first sector of the kernel directly. The LILO configuration file ( /etc/lilo.conf ) is only used by the / sbin / lilo program to generate an MBR. Only the MBR generated by / sbin / lilo is involved in starting the system . With this simple concept, a lot of flexibility is lost. Every time there is a change to the kernel or to the boot options, a new MBR must be written. Boot managers like GRUB or Syslinux evaluate their configuration files every time they boot and are in some cases even able to modify them during the boot menu.
Installation, backup and deinstallation
With the command grub set /dev/sda
(with LILO:) the lilo /dev/sda
GRUB “Stage 1” is written to the MBR and, if provided, the “Stage 1.5” is written to the boot sector of a partition. Under Linux, the code part (including the partition table) of the MBR ( see above ) can usually be checked with the command ( / dev / hda originally for the first IDE ; / dev / sda for the first SCSI , S-ATA , IEEE 1394 or USB data carrier, now also for IDE ) in a file as a backup copy. Analogue is sufficient to restore . Since this procedure rewrites the entire first sector of the disk, any partitioning that has been changed in the meantime will be lost again! It is therefore advisable to create a new backup copy of the MBR after each repartitioning.
dd if=/dev/hda of=mbr_backup bs=512 count=1
dd of=/dev/hda if=mbr_backup conv=notrunc
You can delete the GRUB or LILO MBR with the command dd if=/dev/zero of=/dev/sdx bs=512 count=1 conv=notrunc
. The MBR's boot code and the partition table (part of the 512-byte sector!) Are completely overwritten with zeros. However, if the partition table is to be retained and only the actual boot code is to be overwritten, only the first 440 bytes may be overwritten, e.g. B .:
dd if=/dev/zero of=/dev/sdx bs=440 count=1 conv=notrunc
.
The installation of a different boot loader (e.g. NTLDR) usually completely deletes the boot code of the previously installed system, but leaves the partition table untouched.
The addition conv=notrunc
in the examples given only has an effect if the target is a normal (previously created) image file. Otherwise it would be cut off after the last written byte without this addition. The option has no effect on block devices (i.e. hard disks, partitions) as the target.
Disk signature
The data carrier signature (also hard disk identification , English disk signature or disk identifier ) is used by Windows 2000 and XP to uniquely identify data carriers that are provided with a classic partition table ( called basic data carrier by Microsoft ). As a result, the data carrier signature is z. B. when assigning drive letters to partitions of decisive importance: While earlier Windows versions fall back on the drive letters determined by MS-DOS, these assignments are in registry keys from Windows 2000 onwards. a. HKLM \ SYSTEM \ MountedDevices, saved. In certain system constellations, the data carrier signature is also used in the file boot.ini
that is part of the Windows NT boot loader ( NTLDR ). Windows assigns the data carrier signature when a new data carrier is initialized.
Problems related to the data carrier signature can arise, especially after data backups:
- A system configuration in which two disks with identical disk signatures exist, e.g. B. an original data carrier and a data carrier with a bit-wise identical copy, are not assigned to any drive letter in the system.
- A new drive letter is assigned to a copied system partition under certain circumstances. In such cases the boot process fails.
The command fixmbr
in the Windows XP Recovery Console leaves the signature unchanged. In contrast, the command fdisk /mbr
that rewrites the boot code also refreshes the data carrier signature .
The Linux command dd if=/dev/zero of=
<disk> bs=1 count=4 seek=440 conv=notrunc
overwrites the disk signature with zeros, causing Windows to generate a new disk signature.
Partition table
The partition table provides information about the partitions on a data carrier. If it is faulty or is even missing completely, access to the data on the partitions is not easily possible. In many cases, however, the partition table can be restored using programs such as TestDisk . The entry of each partition contains two CHS addresses (the start and end address) as well as a 32-bit long LBA address and the 32-bit long LBA partition size. As a result, conventional partition tables can use CHS addressing to allow a maximum of a little more than 8 GB (approx.7.8 GiB ) large data carriers and LBA addressing a little over 2 TB (almost 2 TiB ) large partitions or a little over 4 TB (just under 4 TiB) use large data carriers (if supported by the operating system). In order to be able to address larger data carriers or partitions, the successor technology GUID Partition Table (GPT) must be used or the sector size must be increased.
Structure of the partition table
Offset | * 0 | *1 | * 2 | * 3 | * 4 | * 5 | * 6 | * 7 | *8th | * 9 | * A | * B | * C | * D | * E | * F |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0000 | eb | 48 | 90 | 10 | 8e | d0 | bc | 00 | b0 | b8 | 00 | 00 | 8e | d8 | 8e | c0 |
0010 | fb | be | 00 | 7c | bf | 00 | 06 | b9 | 00 | 02 | f3 | a4 | ea | 21st | 06 | 00 |
. . . | ||||||||||||||||
0190 | 61 | 64 | 00 | 20th | 45 | 72 | 72 | 6f | 72 | 00 | bb | 01 | 00 | b4 | 0e | CD |
01a0 | 10 | ac | 3c | 00 | 75 | f4 | c3 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 |
01b0 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 78 | 56 | 34 | 12 | 00 | 00 | 00 | 01 |
01c0 | 01 | 00 | 83 | fe | ff | ff | 3f | 00 | 00 | 00 | 41 | 29 | 54 | 02 | 00 | fe |
01d0 | ff | ff | 82 | fe | ff | ff | 80 | 29 | 54 | 02 | fa | e7 | 1d | 00 | 00 | fe |
01e0 | ff | ff | 83 | fe | ff | ff | 7a | 11 | 72 | 02 | fa | e7 | 1d | 00 | 80 | fe |
01f0 | ff | ff | 05 | fe | ff | ff | 74 | f9 | 8f | 02 | 0c | 83 | 6c | 04 | 55 | aa |
The table is located at byte 446 (1BE hex ) of the respective sector and has a maximum of 4 entries of 16 bytes each , so it is 64 bytes in size. This is followed by the magic number , which consists of the two bytes 55 hex and AA hex in byte 510 (1FE hex ) and 511 (1FF hex ) of the sector.
The adjacent table illustrates the position of the partition table (within the boot sector). The four partition entries are highlighted in color. Yellow, green, cyan, and blue are the entries for the four primary partitions. The signature is highlighted in red.
Such an entry is structured as follows:
Storage address (hexadecimal) |
Size (byte) |
content |
---|---|---|
0x00 | 1 | determines whether the partition can be started or not (80 hex = bootable, 00 hex = not bootable) |
0x01 | 3 | CHS entry of the first sector |
0x04 | 1 | Partition type (partition type) |
0x05 | 3 | CHS entry of the last sector |
0x08 | 4th | Start sector (relative to the beginning of the hard disk or to the extended partition table) using the LBA method |
0x0C | 4th | Number of sectors in the partition using the LBA method |
Unused entries are filled with zeros. The entries are saved in little-endian format.
The CHS entries are coded as follows:
The cylinders from 0
to 1023
(1024 cylinders), the heads from 0
to 255
(256 heads) and the sectors from 1
to 63
(63 sectors) are counted.
Addressing by CHS (1024 cylinders × 256 heads × 63 sectors × 512 bytes) results in a maximum addressable size of 8,455,716,864 bytes and thus allows unique addressing only for hard disks up to approx. 8.4 GB or 7.8 GiB . With such (comparatively small) disks, a conversion from CHS to LBA can be carried out. However, today's hard drives usually have significantly larger capacities. The CHS values are therefore given their maxima in simplified form with “1023, 63, 255”, but the actual data carrier size is specified by the Logical Block Addressing (LBA). The limitation of the sector specification in the "IBM-PC-compatible" partition entry to 32 bits and the usual sector size of 512 bytes results in a maximum partition size of almost 2 TiB ((2 32 −1) × 512 bytes). If you divide a data carrier into more than just one partition and let the last partition begin with the maximum partition size on the last LBA sector, a 4.4 TB (approx. 4 TiB) hard drive can be used almost completely. However, the condition is that the total of the previous partition (s) does not yet reach the 2 TiB limit, so that the last addressable LBA sector is still free for the last partition, otherwise the creation of this last partition will fail .
Older operating systems may have disk size limitations. For example, Microsoft Windows XP 32 is limited to just under 2.2 TB ((2 32 −1) × 512 bytes). A larger data carrier is shown with the wrong size even in the unpartitioned state. The triggered overflow leaves the z. For example, a 3 TB disk only appears to be around 800 GB. Write access could result in data loss.
With larger logical sector sizes, these limits increase accordingly (e.g. for 4 KB sectors to 32 TiB or 16 TiB), but older operating systems such as B. Windows XP will only boot from data carriers with 512-byte sectors.
Important partition types with their identification numbers
The entry at offset may be 0x04
. a. For:
Typbyte ( hex )
|
designation | |
---|---|---|
visible | hidden | |
- | 0x00 |
empty / unused |
0x01 |
0x11 |
FAT12 ≤ 16MB (mainly floppy disks and early low capacity memory cards ) |
- | 0x12 |
OEM partition for configuration, diagnostics, BIOS expansion |
0x04 |
0x14 |
FAT16 ≤ 32 MiB |
0x05 |
- | extended partition |
0x06 |
0x16 |
FAT16> 32 MiB |
0x07 |
0x17 |
NTFS ( Windows-NT- based Windows), HPFS ( OS / 2 ) or exFAT (various operating systems) |
0x0B |
0x1B |
FAT32 (with CHS addressing) |
0x0C |
0x1C |
FAT32 with LBA |
0x0E |
0x1E |
FAT16> 32 MiB with LBA |
0x0F |
- | extended partition with LBA |
- | 0x27 |
Windows RE |
0x42 |
- | Dynamic data carrier (from Windows 2000 ) |
0x75 |
- | IBM GPFS |
0x82 |
- |
Linux swap ; Solaris x86 (versions 2 to 9), again contains partitions using a disklabel ; from 2005 Solaris uses type 0xBF
|
0x83 |
- | Linux Native with a file system supported by Linux, e.g. B. ext2 , ext4 or Btrfs |
- | 0x84 |
Intel Rapid Start partition |
0x8E |
- | Linux LVM |
0xA5 |
- | FreeBSD and MidnightBSD |
0xA6 |
- | OpenBSD |
0xA9 |
- | NetBSD |
0xAF |
- | Partition of macOS (formerly Mac OS X), possible file systems are HFS , HFS + or APFS |
0xBF |
- | Solaris, again contains partitions by means of a disklabel , common file systems are UFS (up to Solaris 9) or ZFS (from version 10) |
0xEB |
- | BeOS or Haiku with Be File System |
- | 0xEE |
Protective MBR of the GUID partition table (GPT) |
- | 0xEF |
EFI partition for hybrid MBR , e.g. B. the EFI System Partition (ESP) |
0xFD |
- | Linux RAID partition |
Primary and extended partition table
In the case of a medium partitioned on the PC, the primary partition table is stored before the signature at the end of the first sector (master boot record). The partitions in the partition table of the MBR are called primary partitions . However, a single partition in the MBR can also be marked as extended (extended, type 5 or F hex ). This then refers to the first extended partition table in the Start Sector entry .
This is located in the first sector of the extended partition. Each extended partition table defines exactly one logical partition and, if necessary, refers to the next extended partition table. The extended partition tables work according to the linked list principle , so any number of logical partitions are possible behind the primary partitions. The sum of all linked logical partitions is entered as the length of the entry of the type 5 partition in the MBR . Since one sector is always taken up by the extended partition table, the extended and logical partitions cannot be exactly the same size.
In an extended partition table, a maximum of the first two entries are used. The start sectors are no longer specified here relative to the beginning of the hard disk :
- The first entry describes the logical partition. Its start sector is always specified relative to the position of the current partition table .
- The second entry can contain a link to another extended partition table and is always of type 5. The start sector of this entry is always relative to the sector of the first extended partition .
Old operating systems always expect a partition to start at the cylinder boundaries. This is why even today there is a gap of 63 sectors between the extended partition table and the start sector of the corresponding logical partition in common operating systems. These sectors in the gap can e.g. B. for a boot manager or to hide "secret" data, but also from boot sector viruses. A BIOS extension was also used there to support hard drives with more than 8 GiB if the mainboard's BIOS was unable to do so.
Due to the development towards 4 kiB sectors, however, an alignment to 63 sectors is extremely unfavorable. Therefore a gap of 64 has recently been used. Other powers of two are also common.
Boot sector signature
The signature (also called magic number ) consists of the 2 bytes 55 hex and AA hex . On little-endian systems this is interpreted as a 16-bit number AA55 hex . If the signature is present, the BIOS assumes that a valid boot sector is present. If the signature is not found, the BIOS suspects a new or deleted data carrier. The boot process is then aborted and an error message such as “Non-System or Non-Bootable Disk” is output. Of course, a correct signature is no guarantee that the boot code will be available and working. It is only used to prevent "empty" boot sectors or random data from being executed.
A missing signature can also have an impact on data carriers that are not used for booting. There are BIOS versions that operate data media without a valid signature in a slower mode. Before the speed measurement (benchmark) z. B. of a new volume, it is therefore advisable to initialize the MBR of the disk concerned first.
MBR for EFI-based computers
With EFI -based computers, the newer comes instead of the MBR partition table GUID Partition Table (GPT) are used. For reasons of backward compatibility, every GPT contains what is known as a protective MBR . This ensures that operating systems or programs that are not yet able to cope with GPT see a single partition instead of an empty data carrier, which extends over the entire data carrier capacity. This protection MBR can also be used to install MBR-based operating systems on EFI-based computers when the CSM ( Compatibility Support Module , a BIOS emulation) is active, in that the partitions of the GPT are also mapped on the MBR partition table. Such a configuration is called a hybrid MBR and is used e.g. B. used by Apple in its Boot Camp software, which allows the installation of Windows versions in non-GPT-compatible BIOS mode on Intel-based Macs . The EFI boot loader rEFIT and its fork rEFInd can gptsync
synchronize the GUID and MBR partition tables with the program .
See also
Individual evidence
- ↑ Master Boot Record. Retrieved April 9, 2018 .
- ↑ Peter Bright: The PC BIOS will be killed off by 2020 as Intel plans move to pure UEFI. The ability to boot DOS and other legacy relics is going to disappear. Ars Technica, November 22, 2017, accessed on January 10, 2018 (English): "PC operating system support started to materialize around 2007 (the 64-bit x86 version of Windows Vista Service Pack 1 introduced the ability to boot from UEFI). With Intel's Sandy Bridge generation of processors, introduced in 2011, PC hardware started switching in earnest to UEFI. "
- ↑ Daniel B. Sedory: Technical Notes on Preserving, Running and Studying IBM Personal Computer DOS ™ Version 1.00 (1981) and 1.10 (1982) . In: The Starman's Realm. September 25, 2005, accessed February 24, 2013 .
- ^ The Master Boot Record (MBR) and Why it is Necessary? . In: Knowledge Center. DEW Associates Corporation, accessed on July 13, 2013 (English, analysis of the startup process, including the role of the master boot record , is well worth reading ).
- ^ The Boot Process . 4. Looking for the operating system . In: Bios Central. Bob Hurt, accessed on February 24, 2013 (English, the following statement is generally incorrect - ): " Once POST is complete and no errors found, the BIOS will begin searching for an operating system. "
- ↑ ThinkPad T60Service and Troubleshooting (PDF; 1.6 MB), Lenovo, accessed June 24, 2013
- ↑ freedesktop.org Bug # 24999: Hide Compaq recovery partition type 0x12 (English)
- ↑ The Compaq System Partition (English)
- ↑ Deskpro BIOS ... (English), forum entry on alt.sys.pc-clone.compaq from September 26, 2005
- ^ Rod Smith: Legacy BIOS Issues with GPT . In: GPT fdisk tutorial . April 16, 2013, accessed on July 13, 2013 (see section Causes of Incompatibility ).
- ^ Launchpad : Operating System not found (English) February 4, 2010, accessed February 5, 2014
- ↑ a b What is Partition Boot Sector? . In: Resource . CHENGDU Yiwo® Tech Development Co., Ltd. (EaseUS), accessed February 24, 2013 ( example of the use of an alternative name ).
- ↑ Daniel B. Sedory: An Examination of the standard MBR ( Master Boot Record ) [ Embedded in Microsoft's FDISK Programs from MS-DOS 3.30 through MS-Windows ™ 95 (A)]. In: The Starman's Realm. May 26, 2013, accessed February 11, 2015 .
- ↑ Microsoft Knowledge Base: Windows support for large IDE hard drives ( Memento from July 5, 2011 in the Internet Archive )
- ↑ mbr-install download
- ↑ mbrbm.sourceforge.net
- ↑ BOOTANY (8). ( Manpage ) In: BSD / OS. BSDi, July 10, 2001, accessed June 15, 2017 .
- ^ Iain Reid: HD booting: a solution. ( Email ) A Beginners Guide to Linux. April 6, 1992, accessed on June 15, 2017 (English): "For a good general introduction to the principles of what happens when your computer boots up you should read the read.me file that comes with the freeware program bootany ... Using bootany : Bootany is a boot time partition selector like shoelace and, in theory should be usable to give you the boot choice like shoelace. "
- ↑ BOOTEASY.ASM on GitHub
- ↑ FDISK / MBR rewrites the Master Boot Record . or FDISK / MBR overwrites the master boot record . Microsoft Knowledge Base Article 69013
- ↑ boyans.net
- ↑ diddy.boot-land.net
- ↑ Multibooters - Dual / Multi Booting With Vista bootmgr and BCD and Disk Signature
- ↑ Solving and repairing startup problems with the bootrec.exe utility . Microsoft Knowledge Base Article 927392
- ↑ stackoverflow.com
- ↑ Windows May Use Signature () Syntax in the Boot.ini file . or Windows 2000 uses the syntax “Signature ()” in the “Boot.ini” file . Microsoft Knowledge Base Article 227704
- ↑ Karsten Violka: System copy does not boot . In: Heise online . January 23, 2006 ( c't 3/2006, p. 180). Retrieved March 9, 2016.
- ↑ Karsten Violka: Hard Disk ABC. Control drive letters in Windows XP and 2000 . In: c't , 9/2005, p. 184.
- ↑ Working Around MBR's Limitations (English), Rod Smith, accessed on June 3, 2015, quote: ... fudging the 2 TiB limit to 4 TiB by starting a partition just before the 2 TiB limit ...
- ^ Andries E. Brouwer: List of partition identifiers for PCs. In: Partition types. 2013, accessed on September 18, 2019 (English): "Starting from 2005, newly installed systems will use 0xbf."
- ↑ Boot Record Signature AA55 Not Found . or MBR signature AA55 is not found . Microsoft Knowledge Base Article 149877
- ↑ Harald Bögeholz: Wondrous plate acceleration. In: Heise online . September 10, 1998 ( c't 19/1998, p. 218). Retrieved March 9, 2016.