In case you're not familiar, MBR-partitioned disks can't be larger than 2.2 TiB because the standard doesn't support more than 2^32 512 byte sectors. This isn't a problem for purely data disks, because by the time they're being used the OS is already loaded and supports GPT disks. But for bootdisks, the BIOS needs to be able to recognize a bootable MBR.
We use OS-level tools like Seagate DiscWizard to partition larger disks into a 2.2TiB partition + a partition that takes up the rest of the disk.
But why can't we use a 'fake' MBR that contains a tiny partition with a bootloader? Then the rest of the disk is partitioned as GPT.
So instead of things going like this:
BIOS reads MBR which says disk is 2.2TiB > BIOS executes bootloader > bootloader starts OS and hands over computer to it > OS runs on 2.2TiB partition.
Couldn't they go like this?
BIOS reads MBR which says disk is tiny (<100MB), but contains a special bootloader > executes bootloader > bootloader has UEFI functions built in and treats rest of disk as GPT > boots OS from GPT partition > OS sees entire disk as one partition, minus 100MB.
Is there a reason we don't do this?
We use OS-level tools like Seagate DiscWizard to partition larger disks into a 2.2TiB partition + a partition that takes up the rest of the disk.
But why can't we use a 'fake' MBR that contains a tiny partition with a bootloader? Then the rest of the disk is partitioned as GPT.
So instead of things going like this:
BIOS reads MBR which says disk is 2.2TiB > BIOS executes bootloader > bootloader starts OS and hands over computer to it > OS runs on 2.2TiB partition.
Couldn't they go like this?
BIOS reads MBR which says disk is tiny (<100MB), but contains a special bootloader > executes bootloader > bootloader has UEFI functions built in and treats rest of disk as GPT > boots OS from GPT partition > OS sees entire disk as one partition, minus 100MB.
Is there a reason we don't do this?
Last edited:
