Bug 731549

Summary: message about BIOS boot partitions and GPT disklabels is hard to understand
Product: [Fedora] Fedora Reporter: Tom Horsley <horsley1953>
Component: anacondaAssignee: David Lehman <dlehman>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 16CC: awilliam, duffy, jonathan, mishu, scottro11, tflink, vanmeeuwen+fedora
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: AcceptedNTH
Fixed In Version: anaconda-16.19-1.fc16 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-09-24 04:36:08 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 713565    

Description Tom Horsley 2011-08-17 20:49:46 UTC
Description of problem:

Just tried to install the Aug 17th fedora 16 alpha release candidate from
the x86_64 DVD iso image under KVM (hosted on a somewhat old fedora 13 host).

This utterly obscure message pops up after I do a standard devices
and custom config partitioning (in which I created 2 partitions - an ext4
partition for / and a swap partition):

  You are using a GPT bootdisk on a non-EFI system without a
  BIOS boot partition. This may not work, depending on your
  BIOS's support for booting from GPT disks.

I have seen more obscure error messages, but not often. In a whole linux shop
full of people at work, I couldn't find anyone who had the slightest clue
what it might mean.

Version-Release number of selected component (if applicable):

Not sure, whatever anaconda was on the RC5 image.

How reproducible:
Only tried one KVM install.

Steps to Reproduce:
1.see above
2.
3.
  
Actual results:
Obscure error

Expected results:
Error that might give me a clue what to do

Additional info:

The KVM wouldn't boot once the install was done, so I assume this error
is something I really need to know about, I just don't know what.

Comment 1 Tom Horsley 2011-08-17 20:51:20 UTC
By the way, this started as a thread on the test list:

http://lists.fedoraproject.org/pipermail/test/2011-August/101943.html

Comment 2 Scott Robbins 2011-08-17 20:58:05 UTC
*** Bug 731562 has been marked as a duplicate of this bug. ***

Comment 3 Scott Robbins 2011-08-17 21:01:32 UTC
As mentioned in duplicate bug, it means that one has to create a 1-2MB BIOS partition for the install to boot properly.  (At least in most cases).   My duplicate (closed bug), linked above, gives a bit more explanation.

I'm not sure how this will affect other systems in any sort of dual boot--if it will break them, then a warning should also be included.

Comment 4 David Lehman 2011-08-17 23:33:45 UTC
Note that at some point the install guide will be updated to include information about BIOS boot partitions.

I don't object to improving the language in anaconda, but I also think it's reasonable for users to go consult their favorite search engine when confronted with terminology they do not understand in the course of installing an operating system.

Comment 5 Scott Robbins 2011-08-18 00:25:01 UTC
We're also having this discussion on the testing list.  

No, the message is not adequate--when installing, you shouldn't have to stop to google it.  


When it is released, and bunch of new users see it on Distrowatch, the forums are going to be filled with questions about it.  (Whether the language is fixed or not.)

Fedora is breaking POLA (Principle of Least Astonishment), changing the way it has worked for many years, and regardless how much warning is in the documents, many will be caught off guard.  The least that could be done would be to give them an easy message with solution.

Comment 6 Tom Horsley 2011-08-18 01:01:34 UTC
And speaking of astonishment, ubuntu uses grub2 and I can install ubuntu in a virtual machine with just a swap and a ext4 root partition. Where on earth does
this requirement for a boot partition come from? I can't imagine how it will
interact with mutli-booting either. Does every OS I want to install need
a separate boot partition? This seems to be going backwards.

Comment 7 David Lehman 2011-08-18 02:28:22 UTC
(In reply to comment #6)
> And speaking of astonishment, ubuntu uses grub2 and I can install ubuntu in a
> virtual machine with just a swap and a ext4 root partition. Where on earth does
> this requirement for a boot partition come from? I can't imagine how it will

This is funny. My first reaction to this bug was "I wonder what I'll get if I google 'gpt bios boot partition'." The first or second result was a post in an ubuntu forum asking for help with a message about not having a bios boot partition.


If you start out with an MSDOS disklabel on your disk you can get away with just root and swap in fedora as well.


> interact with mutli-booting either. Does every OS I want to install need
> a separate boot partition?

No.

> This seems to be going backwards.

That depends on how you define "forward". Moving away from MSDOS disklabels is indeed a step forward.


We now use GPT disklabels by default on BIOS x86 systems because they have several technical advantages over MSDOS disklabels. The one drawback is the need for the BIOS boot partition since there is no MBR gap like with MSDOS disklabels. (The MBR gap is where grub installs itself on MSDOS disklabels. The BIOS boot partition serves the same purpose as the MBR gap for GPT disklabels.) I'm not sure why having a single extra 1MB partition is of significant concern when, with GPT disklabels, the maximum number of partitions is either 64 or 128.

Also, it's worth noting that you only get a new disklabel when you tell anaconda to use your entire disk.

Comment 8 Tom Horsley 2011-08-18 11:04:13 UTC
A single small partition isn't a concern, but this is the first time I
have learned that this single partition is just a substitute for the
MBR which I guess disappears in the new disk labelling scheme. (Thanks for
the explanation). If I was going to need a single small partition for each
of multiple installs, that would have been a concern.

So the obscure message would be much more informative if instead of
stringing together obscure acronyms, it read something like:

Fedora initializes disks using the new GPT disk labelling standard which
does not reserve space for a MBR (master boot record). Unless you know
your BIOS is capable of booting without one, You should create
a single 1MB partition (Of what kind, I wonder?, How will grub2 know
that is the one to use?) for the boot loader to
use in place of the old style MBR.

No doubt that is not yet technically correct (since I probably still
don't really understand everything), but something like that would sure
give folks installing fedora 16 who have not obsessively followed the
development of disk labelling, partitioning, and booting standards (who
don't have all the acronyms at the tip of their brain :-) a much better
clue about what the heck is going on.

Comment 9 Máirín Duffy 2011-08-22 18:45:40 UTC
Hi Tom,

I think you shouldn't have ended up with a GPT partition table unless you used the default Fedora partition layout and modified it in the custom partition screen afterwards (is that correct?)

If you did customize the default, Fedora-provided partition scheme, I am wondering if you had the BIOS boot partition already created for you and you ended up deleting it before proceeding with the install. Do you remember if you had deleted it or not?

I ask because:

- If you never deleted it, then it didn't show up, and that's a different bug because it should have.

- If you did delete it, because you weren't sure why it was there -- would it have been acceptable in your eyes if we popped up an explanatory dialog there that said something along the lines of:

'We recommend that you don't delete this partition. It's required for your system to successfully boot because your hardware is older (non-EFI) and unable to use our newer disk partition scheme.

[ Delete it Anyway ] [ Don't Delete It ]'

What do you think?

Comment 10 Tom Horsley 2011-08-22 19:28:34 UTC
I'm pretty sure the problem was because I was installing in a virtual
machine with a brand new un-initialized disk image containing no partition
table at all and I told it I wanted to make a custom partition layout
(mainly because I want to avoid the extra layer of gibberish that is LVM
which fedora always seems to provide by default).

As far as I know, that combination results in me needing to provide all
the partitions, and fedora creating the partitions I provided using a GPT
disk format.

Certainly after I got past the initial disk stage, there were no existing
partitions shown in the disk when I got to the partitioning screen, so it
does not appear to create the BIOS boot partition for me when initializing
an empty disk. Maybe it should?

Comment 11 David Lehman 2011-08-22 21:01:54 UTC
(In reply to comment #10)
> table at all and I told it I wanted to make a custom partition layout
> (mainly because I want to avoid the extra layer of gibberish that is LVM
> which fedora always seems to provide by default).

There is a new checkbox on the "Automatic Partitioning" screen, near the bottom, labeled "Use LVM". If you deactivate this checkbox you will get an automatic partition layout without the use of LVM.

Comment 12 Tom Horsley 2011-08-22 21:18:35 UTC
(In reply to comment #11)
> There is a new checkbox on the "Automatic Partitioning" screen, near the
> bottom, labeled "Use LVM". If you deactivate this checkbox you will get an
> automatic partition layout without the use of LVM.

Good to know. I would never have found that since I would never
have gone down the automatic partitioning path :-).

Thanks.

Comment 13 David Lehman 2011-08-25 22:19:36 UTC
(In reply to comment #12)
> (In reply to comment #11)
> > There is a new checkbox on the "Automatic Partitioning" screen, near the
> > bottom, labeled "Use LVM". If you deactivate this checkbox you will get an
> > automatic partition layout without the use of LVM.
> 
> Good to know. I would never have found that since I would never
> have gone down the automatic partitioning path :-).

It's on the screen where you opt out of automatic partitioning, so you'd see it if you looked around.

Comment 14 David Lehman 2011-08-25 22:23:13 UTC
It turns out that grub2 will refuse to even try to install to a GPT disk without a BIOS boot partition, so I'm changing this from a warning to an error. IOW you will now be required to create one. I also simplified the message down to the first sentence in the hopes that it will cause less dizziness that way.

Comment 15 Scott Robbins 2011-08-25 22:47:01 UTC
Which first sentence, the one of, You are using a GPT bootdisk on a non EFI system?

I really don't think that is adequate, which is of course, what began this bug in the first place. 

At this point, _I_ know what it means, so it doesn't affect me, but I suspect that it will be a frequent source of complaint, especially after distrowatch announces something, and the distrohoppers, who are usually less-experienced, begin downloading.

Comment 16 Adam Williamson 2011-09-15 20:30:37 UTC
Proposed improved message:

A BIOS boot partition should be used to ensure your system will boot

Your system uses BIOS (not the newer EFI system), and Fedora is going to format your disk using the new GPT disk label (MBR) format rather than the older MS-DOS disk label format. With this combination of BIOS and a GPT disk label, a small 'BIOS boot partition' is required to ensure your system will boot correctly. Please create a 1MB partition of the type 'BIOS Boot' as the very first partition on the target disk, to ensure your system will boot.

For more information, see https://secure.wikimedia.org/wikipedia/en/wiki/BIOS_Boot_partition

Comment 17 Adam Williamson 2011-09-15 20:31:08 UTC
ideally the dialog should have a magic 'do this for me!' button, but for beta we probably don't want to poke this too much.

Comment 18 Adam Williamson 2011-09-15 20:33:14 UTC
shorter version, with an error taken out:

A BIOS boot partition should be used to ensure your system will boot

Your system uses BIOS (not the newer EFI system), and Fedora is going to format your disk using the new GPT disk label format rather than the older MBR format. With this combination, a small 'BIOS boot partition' is required for the system to boot. Please create a 1MB partition of the type 'BIOS Boot' as the first partition on the target disk.

For more information, see https://secure.wikimedia.org/wikipedia/en/wiki/BIOS_Boot_partition

Comment 19 Adam Williamson 2011-09-15 20:33:38 UTC
One more revision...

A BIOS boot partition should be used to ensure your system will boot

Your system uses BIOS (not the newer EFI system), and Fedora is going to format your disk using the new GPT disk label format rather than the older MS-DOS format. With this combination, a small 'BIOS boot partition' is required for the system to boot. Please create a 1MB partition of the type 'BIOS Boot' as the first partition on the target disk.

For more information, see https://secure.wikimedia.org/wikipedia/en/wiki/BIOS_Boot_partition

Comment 20 Adam Williamson 2011-09-15 20:36:11 UTC
the first and last lines of mine are optional; without them it's a little over twice as long as the current message (348 characters vs. 159).

Comment 21 Adam Williamson 2011-09-15 20:41:44 UTC
I guess I can shave off a bit more:

Your system uses BIOS (not the newer EFI), and Fedora will format your disk using the new GPT disk label format (not the older MS-DOS format). With this combination, a small 'BIOS boot partition' is required for the system to boot. Please make the first partition on the target disk a 1MB partition of the type 'BIOS Boot'.

323 characters.

Comment 22 Adam Williamson 2011-09-15 20:48:53 UTC
Proposing as Beta NTH so we can consider taking it into RC2.

Comment 23 Scott Robbins 2011-09-15 20:55:54 UTC
Poking around, I've found that it didn't actually require that BIOS partition to be the first partition--I think it came out as something like sda5 or so--I installed Fedora in a custom partitioned logical partition.  

Also there is the problem--completely untested by me--that if one puts it in very first partition, if not using Fedora's grub, this may mess up other installs on the drive.   So, I'm not sure that saying "the first partition" is necessary or correct, but as I've only put it somewhere else on one installation, this should be tested.  (I realize it's easy for me to say, "This should be tested," while not offering to do it myself, but I really don't have time at this point.)

Comment 24 Adam Williamson 2011-09-15 21:05:35 UTC
you're really only going to run into this if you're entirely wiping a disk; if you re-use an existing disk, it's not going to have its disk label changed.

Comment 25 Adam Williamson 2011-09-15 21:08:10 UTC
you might be correct that it doesn't need to be the first partition on the disk, though - i suppose grub just finds it by the partition ID. dave?

Comment 26 David Lehman 2011-09-15 21:20:12 UTC
1) You don't need the BIOS boot partition if you plan to install grub2 to your /boot or root device (as opposed to the so-called "MBR") to be chainloaded from another bootloader.

2) I doubt the bios boot partition needs to be first. I think grub2 is just going to look at partitions until it finds one with the PARTITION_BIOS_GRUB flag set.

Comment 27 Adam Williamson 2011-09-15 21:49:02 UTC
Here's a much more concise one, after lots of revisions with mizmo (thanks mo!):

Your BIOS-based system needs a special partition to boot with Fedora's new disk label format (GPT). To continue, please create a 1MB 'BIOS Boot' type partition.

We decided that trying to explain 1) makes it much too complicated, and even if you do create a BIOS boot partition and then install the bootloader on the root device rather than in the 'MBR', all you've lost is...1MB. whip whoo.

plus, we don't think you can actually do that, as currently the dialog won't let you out of the partitioning stage without the partition, per comment #14.

Comment 28 Scott Robbins 2011-09-15 22:27:03 UTC
Agreed on explanation making it too complicated.  It should get in the installation guides, and folks on the forums will figure it out quickly, being able to guide newcomers.  

As one of the folks who found the original message unclear, I'd say I'm satisfied with Adam's solution.

Comment 30 Tim Flink 2011-09-17 02:34:47 UTC
Discussed in the 2011-09-16 blocker review meeting. Accepted as an NTH bug for Fedora 16 beta because this is a simple fix that shouldn't cause regressions and it would help users to better understand partitions changes.

Someone needs to verify that no i18n changes are required for the wording change here.

Comment 31 David Lehman 2011-09-21 21:20:27 UTC
Since we are changing the words we are going to have to update the translations as well. If that's a problem due to string freeze being in the fairly distant past our hands are tied here. Please advise.

Comment 32 Adam Williamson 2011-09-22 00:24:58 UTC
We went over this at the go/no-go meeting today, edited highlights:

22:14:31 <adamw> but we're past string freeze, and neither me, mo or dlehman really understands the implications of that - do we need to get an exception to change a message like this now?
22:15:14 <jsmith> No, but a heads up to the translation team would be nice
22:15:33 <jsmith> Just let them know that there will be a few strings that need to be updated in anaconda, and I think we'll be OK
22:15:41 <adamw> would it break anything for dlehman to just change the string and roll a new anaconda build?
22:15:55 <jsmith> adamw: Just make sure he pushes the strings to tx.net after doing so
22:16:22 <adamw> does he need to wait for translations before building the new anaconda package?
22:16:44 <jsmith> If he doesn't wait for translations, they'll see that message in English
22:17:52 <jsmith> trans.org

so basically, update the string, push it to tx.net, notify trans.o, and wait for translations for at least the major languages before doing a build.

Comment 33 David Lehman 2011-09-22 17:26:52 UTC
I pushed the patch to anaconda git, pushed the updated anaconda.pot file to transifex, and then sent the translation list a note requesting updated translations for f16-beta.

Comment 34 Fedora Update System 2011-09-23 21:48:32 UTC
anaconda-16.19-1.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/anaconda-16.19-1.fc16

Comment 35 Fedora Update System 2011-09-24 04:35:14 UTC
anaconda-16.19-1.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.