Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Nov 2014 10:54:14 -0800
From:      Nathan Whitehorn <nwhitehorn@freebsd.org>
To:        Warren Block <wblock@wonkity.com>, Rob Diamond <robd@spin.net.au>
Cc:        freebsd-sysinstall@freebsd.org, Allan Jude <allanjude@freebsd.org>
Subject:   Re: Suggested option for the DVD Installer
Message-ID:  <54722D56.4000208@freebsd.org>
In-Reply-To: <alpine.BSF.2.11.1411230715010.67982@wonkity.com>
References:  <546DBC66.6060508@spin.net.au> <546DF0CB.9010905@freebsd.org> <5471B649.7030500@spin.net.au> <alpine.BSF.2.11.1411230715010.67982@wonkity.com>

next in thread | previous in thread | raw e-mail | index | archive | help

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



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