Last Web page update: 4/18/2022, referencing GPT fdisk version 1.0.9
This Web page, and the associated software, is provided free of charge and with no annoying outside ads; however, I did take time to prepare it, and Web hosting does cost money. If you find GPT fdisk or this Web page useful, please consider making a small donation to help keep this site up and running. Thanks!
|Donate $1.00||Donate $2.50||Donate $5.00||Donate $10.00||Donate $20.00||Donate another value|
Note: This page is part of the documentation for my GPT fdisk program.
Today, new x86-64 computers ship with firmware known as the Extensible Firmware Interface (EFI) or its variant, the Unified EFI (UEFI), which is essentially EFI 2.x. GPT was created as part of the EFI specification, so of course GPT works well with EFI-based computers.
In the past, most desktop, laptop, and server computers used a firmware knwon as the Basic Input/Output System (BIOS). which is so simple that it doesn't understand the partition table type used on the disk — it's the role of the boot loader and subsequent software to interpret the partition table. Thus, in theory there should be no problem using GPT with BIOS-based computers. Unfortunately, in practice, there are occasional BIOS/GPT quirks or even downright incompatibilities. Furthermore, many modern computers with EFIs provide a Compatibility Support Module (CSM), which enables them to boot using BIOS-mode boot loaders. The trouble is that the firmware may use the partition table type as a cue for what type of boot mode to use, thus causing problems when trying to boot in BIOS mode from a GPT disk. In either case, a computer with a GPT disk may not boot or will boot very slowly because the BIOS power-on self-test (POST) takes an inordinately long time to finish. This page exists to help you if you encounter such problems. It must be emphasized that, as of 2022, BIOS is a fading technology; you should not encounter such problems on most computers made since 2011, although enabling the CSM or using a GPT with a hybrid MBR can sometimes cause problems, as described on this page.
BIOS problems with GPT are quite peculiar, since as far as I know the BIOS should not attempt to read the disks, beyond verifying their presence and reading the boot code in the MBR. In most cases, incompatibility manifests as an inability to boot the computer — either a BIOS-mode OS won't boot or the computer will freeze during its power-on self-test (POST) when you attach a GPT disk. There are two specific bugs I'm aware of that cause this type of problem, but there may be others:
There may be other problems, too; many reports are vague, and my own ability to investigate is limited to the computers I own. It's conceivable that some boot loaders could become confused by GPT, so a GPT-incompatible boot loader could cause boot problems. My subjective impression is that most of the problems occur on EFI-based computers set to boot in BIOS/CSM/legacy mode. Thus, the problem is most common in computers purchased since 2011; however, some older computers (particularly some Intel motherboards) used EFIs that exhibited these symptoms well before that date. Such problems can usually be corrected as described below. Even when I've been in physical possession of a board with a problem, investigations have proved difficult. In one case (a system with a dual-core AMD CPU and an AMI BIOS), booting was sluggish, but sped up when I made a random change to the GPT. To this day I'm not even sure if this was a GPT issue or something else. My attempts to re-create the problem have been unsuccessful.
Broadly speaking, there are two possible ways to work around such problems: Stick with the BIOS or abandon BIOS-style booting.
There are several possible remedies when booting a GPT disk on a BIOS-based computer. If your computer is completely unresponsive, you'll have to disconnect your hard disk from the computer and connect it in some other way or to another computer. I've heard of people successfully hot-plugging SATA drives after booting without the affected disk, but this is very risky with PATA drives. External enclosures or "naked" adapters to plug PATA or SATA disks into USB ports are good options. I recommend you try the following, in more-or-less the listed order, should you encounter such problems (but see below for an entirely different type of possible solution):
I can't guarantee that any of these actions will do any good on any particular system. These problems are rare and are not as yet well documented, at least not that I've found, so some of these suggestions are speculative.
An entirely different class of solution is possible with some boards: Abandon BIOS booting in favor of EFI or UEFI booting. Until the spring of 2011, most motherboards did not support EFI booting, so this option may not even be available to you if you're using an unusually old computer. Beginning in the spring and summer of 2011, though, most new computers began to include EFI firmware, although most didn't advertise that fact initially and instead relied on their CSMs for BIOS-mode booting by default. The vast majority of computers sold with Windows 8 or later are also EFI-enabled, and in fact they ship configured to boot Windows in EFI mode. If an EFI option is available, then in EFI mode, the motherboard handles GPT partitions just fine, since GPT is part of the EFI specification. This method is easiest to implement with a fresh OS installation — but only if the OS provides good EFI installation support. Fedora 14 and later, Ubuntu 11.04 and later, and OpenSUSE 11.4 and later all work (and some earlier versions may, too). As a general rule, Linux distributions' EFI support improved rapidly from 2010 until about 2015, by which time most distributions provided what I would consider mature EFI support. I recommend using the latest version of your chosen distribution if you're planning an EFI-mode boot. For more information on the topic of EFI-mode booting, see my Managing EFI Boot Loaders for Linux and Linux on UEFI: A Quick Installation Guide pages. Note also that I maintain the rEFInd boot manager, which you may want to use to enable EFI-mode booting of Linux.
If you've got an existing OS installation, switching to (U)EFI booting will require changing your boot loader configuration. This is easy to do for Linux, provided you understand the needs and quirks of your (U)EFI-capable boot loader. (See the "Booting from GPT" page of this document or my EFI Boot Loaders for Linux page for some comments on this issue.)
If you have an existing BIOS-mode installation of Windows 10 or later, you may want to check out the Microsoft MBR2GPT utility. As its name implies, this tool converts a disk from MBR to GPT, similar to what GPT fdisk can do; but it also installs Microsoft's EFI boot loader for Windows on the disk. I've never used Microsoft's MBR2GPT, so I can't cover it in detail or provide tips and caveats to get the most from the program. It looks very promising for those moving a disk from an older to a newer computer or for those who had been booting via a CSM and who want or need to enable EFI-mode booting, though.
(U)EFI installations work best when the OS architecture is matched to the (U)EFI architecture. For most systems, this means using an x86-64 (aka AMD64 or X64) installation; however, some older Intel-based Macs use 32-bit EFIs, as do some tablet computers, so installing 32-bit OSes may be best for them. Some of these 32-bit EFIs are run on 64-bit CPUs, which complicates installing 64-bit OSes, since most EFI boot loaders require the same bit depth throughout the boot process. GRUB 2 supports cross-bit-depth booting, but most distributions don't support such configurations, so you'll have to jump through some extra hoops to get it working. Several Web pages cover this topic, but my experience with such configurations is minimal, so I can't provide much guidance on this topic. One of the clearer and more thorough Web pages I found was this one by zedgoat; but I can't promise that it will work for you.
Go on to "Why Use GPT fdisk?"
Return to "GPT fdisk" main page
copyright © 2009–2022 by Roderick W. Smith
If you have problems with or comments about this web page, please e-mail me at firstname.lastname@example.org. Thanks.
Return to my main web page.