GPT on a non-EFI motherboard (repost)
Okay, it seems new users are banned from posting URLs. So I'm retyping my post without any URL or any other fancy formatting (including paragraph breaks and quotation marks). Can Linux boot a 3 TB hard drive using a combination of a traditional (non-EFI) BIOS motherboard and a GPT-aware boot loader such as GRUB 2? I have the impression that this is possible from an IBM developerWorks article titled Make the most of large drives with GPT and Linux. (You can copy and paste the title into Google to get the URL. It should be the first hit.)
Wikipedia has nice article about UEFI and its relation to newer GPT partitioning scheme.
Linux kernel (>2.6.30?)can boot both UEFI and classic BIOS from GPT.
In case, you use GPT scheme, instead of older MBR, you need to mark give the first small boot partition special GUID (Hah!IdontneedEFI) and place bootloader there, with the boot sector itself staying on zero track.
The problem with large disks and MBR partitioning is 2TiB size window, so any partition within 2TiB should be accessible even with classic MBR.
For placing partitions beyond that limit, you will seem to need: classic BIOS or UEFI, Grub2, correct partitioning(with gdisk/sgdisk, not fdisk) to GPT, correct label on small first accessible to BIOS legacy partition with special GUID(Hah!IdontneedEFI) and very possibly a controller that can work with 4K sectors(ICH7+, dont know about AMD).
So its should be possible. But its only my theory.
The only relevant part is the boot loader. Both grub-2 and syslinux-4 support booting from GPT partitioned media, though their approaches are different.
You can install grub-2 like you would on an MBR partitioned disk. The partition offsets of the boot partition are hardcoded during install.
With syslinux-4, you write gptmbr.bin to the MBR, which is an implementation of the T.13 EDD-4 standard for booting GPT on BIOS systems. Then you mark the boot partition as legacy BIOS bootable (using gdisk or a git checkout of parted).
Thanks for your replies. I'm still not in a position to test your theories and/or suggestions.
Just a clarification: are all features of GPT, when Linux is already running, available whether it's installed under classic BIOS or UEFI (e.g. >2TB disk and >100 partitions)? Are there any features that require EFI?
I'll be buying my new motherboard next month. I'm gambling on the BIOS-only model, which has more features than the UEFI model. If it doesn't work directly with the 3TB disk, my other option is to install a small MBR-based SSD to boot up the system.
I would pick the board that supports coreboot. UEFI provides exactly the same features that coreboot provides, except its closed source. Manipulating CPU/MB/RAM values is simple even with BIOS.
Originally Posted by e350
GPT disks will work with any system if you use Linux; windows being owned by microsoft, supports GPT boot only via UEFI(check wikipedia), I dont know if you can actually trick it by using GRUB2 as first loader or by using hybrid mbr.
UEFI and coreboot are definitely future proof, unlike BIOS. It depends if you care and if you care to hack around a bit.
Booting Windows from GPT on a non-EFI system is only possible for hybrid MBR disks. With hybrid MBR the boot partition must reside entirely in the first 2 TB of the drive. Chainloading Windows from grub on non-hybrid GPT or above 2 TB doesn't work, as neither implement the legacy BIOS boot protocol for GPT.
I suggest that you test your intended setup in QEMU/KVM/Virtualbox or similar, you can easily create a several TB large virtual image to boot from.
Tags for this Thread