A boot flag is a 1-byte value in a non-extended partition record, within a master boot record. It appears at the beginning of a partition record, as the value 0x80. A value of 0x00 indicates the partition does not have the boot flag set.[1][2] Any other value is invalid.

Its primary function is to indicate to a MS-DOS/MS Windows-type boot loader which partition to boot. In some cases it is used by Windows XP/2000 to assign the active partition the letter "C:".[3] The active partition is the partition where the boot flag is set. DOS and Windows allow only one boot partition to be set with the boot flag.[4]

Other boot loaders used by third-party boot managers (such as GRUB or XOSL) can be installed to a master boot record and can boot primary or extended partitions, which do not have the boot flag set.

There are many disk editors that can modify the boot flag, such as Disk Management in Windows,[5] GPartEd in Linux, and fdisk.

Some BIOSes test if the boot flag of at least one partition is set, otherwise they ignore the device in boot-order. Therefore, even if the bootloader does not need the flag, it has to be set to start the boot code from BIOS.[6]

See also

edit

References

edit
  1. ^ "The MBR (master boot record) and the Partition Tables". DIY DataRecovery. Archived from the original on 2015-02-15. Retrieved 2014-12-14.
  2. ^ "Master Boot Record". Microsoft TechNet. Retrieved 2015-04-20. 0x01BE [...] Boot Indicator. Indicates whether the volume is the active partition. Legal values include: 00. Do not use for booting. 80. Active partition.
  3. ^ Goodell, Dan. "Fixing Windows 2000/XP Drive Letters". Understanding MultiBooting and Booting Windows from an Extended Partition. Retrieved 2014-12-14.
  4. ^ "Parted User's Manual - 4. Boot Loaders". GNU Project. Retrieved 2014-12-14.
  5. ^ "Mark a partition as active". Microsoft. Retrieved 2014-12-14.
  6. ^ Smith, Rod. "Legacy BIOS issues with GPT". GPT fdisk Tutorial. Retrieved 2020-06-14.