[SeaBIOS] GPT disks in a BIOS world

Kevin O'Connor kevin at koconnor.net
Tue Jun 5 14:59:56 CEST 2012


On Tue, Jun 05, 2012 at 10:58:43AM +0200, Fred . wrote:
> On Tue, Jun 5, 2012 at 5:21 AM, Kevin O'Connor <kevin at koconnor.net> wrote:
> > On Mon, Jun 04, 2012 at 07:11:30PM -0700, Ralf A. Quint wrote:
> >> At 03:36 PM 6/4/2012, Kevin O'Connor wrote:
> >> >On Mon, Jun 04, 2012 at 03:33:05PM +0200, Fred . wrote:
> >> >> http://mjg59.dreamwidth.org/8035.html
> >> >>
> >> >> Does SeaBIOS support GPT disk labels?
> >> >> Does SeaBIOS understand GPT disk labels? Is it aware of GPT?
> >> >
> >> >This is a common misunderstanding of the BIOS.  The BIOS doesn't do
> >> >anything with partition tables at all (at least according to the
> >> >available specs).  Thus, the BIOS doesn't care if it's a legacy
> >> >partition table or a GPT partition table.
> >>
> >> Excuse me, but isn't it the BIOS that after POST is initiating the
> >> boot process from the active partition?
> >
> > Not quite.  The BIOS loads the first sector of the hard drive (ie, the
> > MBR) into memory and runs the code found there.  It cares nothing
> > about the partition table.  It's quite common for the executable code
> > in that first sector to analyze the partition table, load yet other
> > code, and then jump to that code - but that activity is outside the
> > BIOS and is easily upgradable.
> 
> But does GPT disks even have a MBR?
> Isn't the GPT a replacement for MBR?
> If the disk doesn't have any MBR, does the BIOS load the first sector of GPT?

I'm not sure how I could be more clear on this.  SeaBIOS cares nothing
about the partition table.  No BIOS spec (that I'm aware of) requires
the BIOS to care anything about the partition table.  The BIOS loads
the first sector of the hard drive into memory and executes the code
found there.  GPT partitioned disks do arrange to be able to place
boot code in the first sector of the hard drive.

The only fundamental limit SeaBIOS has on drive size is a 64bit sector
count - this allows for up to 134 million terabytes of disk space
(assuming a 512 byte sector).  But, even this isn't really a limit -
one just needs to be able to locate their bootloader in the first
134million terabytes.

-Kevin



More information about the SeaBIOS mailing list