Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Sep 2012 08:50:09 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Oliver Fromme <olli@lurza.secnetix.de>
Cc:        freebsd-hardware@freebsd.org
Subject:   Re: Booting from 3TB drive (UFS, BIOS)
Message-ID:  <201209170850.09992.jhb@freebsd.org>
In-Reply-To: <201209171241.q8HCf9Bm033095@lurza.secnetix.de>
References:  <201209171241.q8HCf9Bm033095@lurza.secnetix.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, September 17, 2012 8:41:09 am Oliver Fromme wrote:
> John Baldwin wrote:
>  > On Tuesday, August 14, 2012 9:23:19 am Oliver Fromme wrote:
>  > > I've got a small PC that currently has two disks:  The
>  > > first one is 1 TB with a standard MBR, used to boot FreeBSD,
>  > > and the second one is 3 TB with GPT, used as data disk for
>  > > FreeBSD (the BIOS doesn't have to care about this one at all
>  > > because it's not used for booting).
>  > > 
>  > > Now I would like to replace the first disk with a 3 TB one,
>  > > too.  However, will I be able to boot from it?  The PC is
>  > > not exactly a new one (ASRock A330GC with Atom 330 processor,
>  > > a few years old) and has a standard BIOS (dated 07/16/2009).
>  > > 
>  > > I understand that I will have to use GPT in order to be able
>  > > to use the full capacity of 3 TB, and that I will have to
>  > > install a pmbr to enable the BIOS to detect the disk as
>  > > bootable.  Is this correct?  Will that work?  (Assuming that
>  > > the boot partition will have to be within the first 2 TB of
>  > > the drive, of course.)
>  > 
>  > A GPT boot should work, and the boot partition can even be
>  > above 2 TB.  (GPT booting only uses the EDD BIOS interface
>  > which uses 64-bit LBAs, and the GPT boot code will use all
>  > 64-bits of the LBAs stored in GPT, etc.)
> 
> (I'm sorry for the late reply; I still haven't gotten around
> to upgrade the disks ...)
> 
> Problem is, the machine doesn't have an EFI BIOS and does
> *not* support GPT.  So it will use the compatibility MBR
> of the GPT, I assume.  And MBR isn't able to represent
> addresses beyond 2 TB, so the slice containing the boot
> partition will have to be within the first 2 TB of the
> drive, right?

No.

> I tried to research the issue, but Google mostly returns
> pages concerning Linux that advise to use disks > 2 TB as
> data disks only while using a separate disk <= 2 TB for
> booting, unless you have an EFI BIOS that supports GPT
> natively.

We support booting from GPT without EFI.  It will work fine.  The BIOS will 
see a PMBR that does indeed only cover 2TB, but that doesn't matter.  The 
whole point of the PMBR is to fool BIOSs.  :)  Tools that understand GPT (such 
as gpart) will see the GPT table and it's partitions.  FreeBSD's GPT bootstrap 
code (/boot/pmbr and /boot/gptboot) will see the GPT and use 64-bit LBAs for 
all I/O, so they can handle the partition being anywhere on the disk.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201209170850.09992.jhb>