Booting from 3TB drive (UFS, BIOS)
John Baldwin
jhb at freebsd.org
Mon Sep 17 15:14:05 UTC 2012
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
More information about the freebsd-hardware
mailing list