BIOS booting from disks > 2TB
borjam at sarenet.es
Thu Nov 20 09:50:37 UTC 2014
On Nov 20, 2014, at 10:38 AM, José María Alcaide wrote:
> Can't work out which disk we are booting from.
> Guessed BIOS device 0xffffffff not found by probes, defaulting to disk0:
> is harmless (given that we actually want to boot from the first disk).
> In fact I did another test: I installed FreeBSD on an 8 GB partition *using the MBR scheme instead of GPT*, and the system booted from the first 3 TB disk without any problem (and with four disks attached), despite of showing the same warning message.
So, that 0xffffffff might be a buffer overflow being triggered by a failed attempt to read the backup GPT table?
Let's assume that the BIOS is poorly implemented and it won't read beyond the 2 TB limit.
As far as I know, booting from a MBR disk doesn't require reading anything but the "classic" partition table and the partition we
are using. So, as long as the partition fits inside that 2 TB limit it should work, and it does.
Booting from GPT, however, requires reading the end of the disk. Or is the backup copy of the partition table read if and only if
there's some problem with the main one?
Can BIOS be reporting a wrong size for the disk (after all we are assuming a dodgy BIOS) and making gptboot to cosider the
table corrupt, hence causing it to try to read the backup copy?
Whatever, that 0xffffffff parameter (which should be something like 0x80) looks like a corrupted variable to me, which would mean
we have some buffer overflow?
Maybe I'll try to recompile the boot chain removing the backup reading and the sanity checks and see what happens.
More information about the freebsd-fs