BIOS booting from disks > 2TB
borjam at sarenet.es
Thu Nov 20 08:43:21 UTC 2014
On Nov 20, 2014, at 9:15 AM, James R. Van Artsdalen wrote:
> The extended BIOS disk functions, introduced onto PCs almost 20 years ago, allowing for addressing LBAs beyond 2TB. FreeBSD will use these BIOS functions when present. This is usually not a problem.
Yes, that I was assuming. Something is wrong at least in this machine, though.
> If a disk controller card of some kind is installed then the option ROM on that card must support the extended BIOS disk functions for this to work. This is usually not a problem.
Aha, so definitely HP blew it with the disk controller (see below)
> The error messages shown only pertained to the backup header, not primary, and looking at the code it implies to me that the primary header and table were read OK, and that these will be used even if the backup cannot be found. I think "invalid backup GPT header" is a warning in this case, not a fatal error.
Yes, I see the boot progressed beyond that error.
> I think the real problem is here:
> Can't work out which disk we are booting from.
> Guessed BIOS device 0xffffffff not found by probes, defaulting to disk0:
> 1. If you replace the 3TB disk with a disk 2TB or smaller and make no other change, does this error still happen?
Yes. I tried a 1 TB disk and it worked without problems. The other difference between them is the "advanced format". The 1 TB disk
has normal 512 byte sectors (it's a two years old Samsung, I don't have the model number handy), and the 3 TB disk is a WD
Red 3 TB disk which has 4 KB sectors.
> 2. How are the disks connected to the system? What disk controllers are used? What is the system BIOS boot disk setting set to?
The disk controller is one of those "array controllers" but it can be configured to work as a stock AHCI one, which is the mode
in which I am using it of course. It works flawlessly as an AHCI controller under FreeBSD, for example with ZFS.
However, maybe HP has assumed that everyone will use it in "intelligent" mode and they haven't implemented the BIOS
code for it correctly, for example missing the BIOS extensions.
So, can we assume that it's not a problem with the FreeBSD boot chain, but definitely a poorly implemented BIOS?
More information about the freebsd-fs