Suggested option for the DVD Installer
Nathan Whitehorn
nwhitehorn at freebsd.org
Sun Nov 23 18:54:24 UTC 2014
On 11/23/14 06:36, Warren Block wrote:
> On Sun, 23 Nov 2014, Rob Diamond wrote:
>
>> My point is that when I followed the default "Guided" option the
>> installer defaulted to GPT, and on exiting the installer my PC
>> wouldn't boot. At this point a FreeBSD noob would have a great deal
>> of difficulty diagnosing the problem, and would most likely give up
>> and try some other distro. For example, I tried installing PC-BSD-10,
>> and after the installer had finished the same PC re-booted fine (it
>> used an MBR layout), and I was away. Previously I've tried Ubuntu and
>> Linux Mint on the same PC, and again both re-booted fine. So I think
>> an extra effort is needed with the installer to get a noob up and
>> running - once they've got something to play with then, OK, expect
>> them to read the manual. But to expect a noob to diagnose the
>> problem, and then manually partition using MBR is unrealistic. And
>> then they're lost to FreeBSD..
>>
>> Also, there's the following in the FreeBSD manual
>>
>> "GPT is usually the most appropriate choice for amd64 computers.
>> Older computers that are not compatible with GPT should use MBR. The
>> other partition schemes are generally used for uncommon or older
>> computers."
>>
>> I think the wording should be a bit stronger than this - something
>> like "Older computers that are not compatible with GPT will not boot
>> from a GPT disk, and must use the older MBR partition type."
>
> The problem there is telling the user how to figure out whether their
> computer is not compatible with GPT.
>
> The GPT partitioning scheme includes a "PMBR". This "protective" MBR
> is there both to protect the GPT partitioning and to allow BIOS
> computers to boot from GPT disks.
>
> In short, it allows GPT to be used with older computers that never
> expected to see anything other than an MBR. The large majority of
> older computers can boot from the PMBR and use GPT just fine.
>
> However, there are several ways that some vendors messed this up. The
> most common way was a BIOS that had some extra awareness of partition
> type or layout. Some vendors did this so they could use their own
> special partitions. Compaq used to put their BIOS on disk, IBM/Lenovo
> had their own utility partitions, and HP and Acer did similar things.
> Some of these saw the PMBR with its single partition of type 0xee and
> assumed the wrong thing, failing because of the built-in assumptions
> in the BIOS.
>
> Some of these can be cured with a BIOS upgrade. Lenovo had problems
> with models from three or four years back, and fixed them.
>
> FreeBSD also had a bug in the way it created the PMBR in previous
> versions. Very strict BIOS or UEFI implementations would then refuse
> to boot. As far as I know, this problem is fixed in FreeBSD 10.1.
Right, the whole situation is terrible. There are basically five choices
here:
1. Always use MBR when booted from BIOS, just in case the BIOS is
broken. This breaks systems with disks > 2 TB and makes some things like
ZFS booting more complex.
2. Use MBR booting when a broken BIOS is identified. This requires a
list of broken BIOSes, which we don't have (this is why I asked for a
way to identify the BIOS -- the strings from kenv would help, too).
3. Use MBR with disks less than 2 TB and on BIOS systems. This is a
reasonable choice (to within the issues with ZFS), but required more
work than we could get in before 10.1.
4. Add a box to choose -- but the user usually has no idea whether their
system is broken or not without trying it, so making the correct choice
on a first installation is usually impossible.
5. Improve the Handbook to note that this is a possible issue and what
to do about.
None of these are really satisfying and they all involve tradeoffs. To
hurt the smallest number of people, most of them involve knowing
something about the relative prevalence of various issues with BIOSes
and of > 2 TB disks, which we just don't have data on. Usually, as
Warren noted, the BIOS is trying too hard to interpret things and the
usual way in which it is doing that is to try UEFI boot if the disk is
GPT. Since we actually support UEFI boot and installation now, this case
should usually disappear if EFI is activated in the BIOS. Thoughts on
the remaining options for 10.2 would be much appreciated.
The basic problem, that, courtesy of EFI BIOSes and historical limits
with MBR meeting large disks, it is suddenly impossible to format disks
on PCs in a way that boots them 100% of the time, is always going to
find some way to cause problems for us.
-Nathan
More information about the freebsd-sysinstall
mailing list