BIOS booting from disks > 2TB

Pokala, Ravi rpokala at
Wed Nov 19 15:43:29 UTC 2014

>Date: Wed, 19 Nov 2014 10:06:43 +0100
>From: Jos? Mar?a Alcaide <jose at>
>To: freebsd-fs at
>Subject: Re: BIOS booting from disks > 2TB
>Message-ID: <17A2AC72-AD70-480A-9BAC-9CC8EAFD572F at>
>Content-Type: text/plain; charset=us-ascii
>On Nov 19, 2014, at 8:06 AM, Pokala, Ravi wrote:
>> When you perform your installation, just make sure to select the GPT
>> option for partitioning. The installer (either `bsdinstall' (for stock
>> FreeBSD), or `pc-sysinstall' (for PC-BSD / FreeNAS)) should create both
>> primary (near start-of-disk) and backup (at end-of-disk) GPT tables, and
>> install the appropriate bootstrap code in the proper locations.
>Yes, bsdinstall flawlessly creates both primary and backup GPT tables
>even using disks > 2 TB, by virtue of the FreeBSD kernel. The problem
>arises at the first stages of booting, when gptboot tries to compare the
>primary and backup tables *using the BIOS disk services*, which are not
>able to reach anything after the 2 TB limit. As a consequence gptboot
>fails, stating that it did not find the GPT backup table.


Ah, I see what you're saying. That sounds reasonable. I never saw those
warnings, because the version of the PMBR that I'm using at work is fairly
old; it pre-dates the code to check the backup GPT if the primary is
invalid [r239060]. The fact that this message is coming up at all means
the primary GPT is broken. :-(


I'd try booting from a different device (network, USB), then see if `gpart
show' is able to list the partitions on the drive in question. If it is,
then the secondary GPT is okay, and you may be able to use `gpart backup'
to save out the parsed partition table. You could then use `gpart restore'
to re-write the partition table to both primary and backup locations.

I say that having never actually *done* it, so proceed with caution, and
let us know what happens.

Good luck!


>Jose M. Alcaide

More information about the freebsd-fs mailing list