Bug 986431 - Anaconda fails to install bootloader if legacy MBR has only 36 sectors before 1st partition
Summary: Anaconda fails to install bootloader if legacy MBR has only 36 sectors before...
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: grub2
Version: 19
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Peter Jones
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 924902 969684 979805 (view as bug list)
Depends On:
Blocks: 1008051
TreeView+ depends on / blocked
 
Reported: 2013-07-19 19:13 UTC by Stephen Tweedie
Modified: 2015-02-17 16:15 UTC (History)
30 users (show)

Fixed In Version:
Clone Of:
: 1008051 (view as bug list)
Environment:
Last Closed: 2015-02-17 16:15:30 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Anaconda traceback log file from /tmp (3.58 MB, text/plain)
2013-07-19 19:14 UTC, Stephen Tweedie
no flags Details
Comment (1018.28 KB, text/plain)
2014-01-05 18:57 UTC, lazeroptyx
no flags Details

Description Stephen Tweedie 2013-07-19 19:13:33 UTC
Description of problem:
I have a new PC (Dell) with Windows 7 preinstalled on legacy BIOS / MBR (not GPT), and the Dell Utility partition starts at sector 36.  Anaconda attempts to install grub2 on the correct disk, but grub2 fails because of the restricted space before partition 1.

grub2 *can* succeed, it just needs --force; manually invoking grub2 fails in exactly the same way, but I've installed just fine with --force and the system is booting perfectly now (including dual boot.)

Ideally, if we can install a working bootloader then we should do so rather than aborting at the end of install.  In this case grub2 has to fall back to using blocklists for stage2, but it can still work, even though it currently needs --force to actually do so.

If it matters, I was using the GA f19 x86_64 usb live image.

Additional info:

I've shrunk the windows partition and installed linux on partitions 4+, but partitions 1--3 are still otherwise as delivered from factory:

# fdisk -l

Disk /dev/sdb: 999.7 GB, 999653638144 bytes, 1952448512 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x5fcdd6d2

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              36       65987       32976   de  Dell Utility
/dev/sdb2           67584    25753599    12843008    7  HPFS/NTFS/exFAT
/dev/sdb3        25753600  1030846463   502546432    7  HPFS/NTFS/exFAT
/dev/sdb4      1030846464  1952448511   460801024    5  Extended
/dev/sdb5   *  1030848512  1031897087      524288   83  Linux
/dev/sdb6      1031899136  1032947711      524288   83  Linux
/dev/sdb7      1032949760  1242664959   104857600   fd  Linux raid autodetect
/dev/sdb8      1242667008  1952448511   354890752   8e  Linux LVM

Relevant Anaconda logs:

19:45:45,982 INFO program: Running... grub2-install --no-floppy /dev/sdc
19:45:46,947 INFO program: /usr/sbin/grub2-bios-setup: warning: your embedding area is unusually small.  core.img won't fit in it..
19:45:46,947 INFO program: /usr/sbin/grub2-bios-setup: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
19:45:46,947 INFO program: /usr/sbin/grub2-bios-setup: error: will not proceed with blocklists.
19:45:46,947 DEBUG program: Return code: 1

Running grub2 manually with (from memory!)

grub2-install --no-floppy --boot-directory=/mnt/sysimg/boot /dev/sdc

failed with the same error (the /dev/sdb boot disk was /dev/sdc during anaconda install, /dev/sda was the additional usb disk at that time); but adding --force was enough to succeed.

I'll attach the full anaconda-tb- log.

NB I'll be on PTO for two weeks, if you need more info/debug I'll be able to answer after Aug.5.

Comment 1 Stephen Tweedie 2013-07-19 19:14:40 UTC
Created attachment 775912 [details]
Anaconda traceback log file from /tmp

Comment 2 Steve Tyler 2013-07-20 18:20:38 UTC
Thanks for your report.

"... a new PC (Dell) with Windows 7 preinstalled ..."
Do you know how Dell came up with sector 36?

Bug 979805 also reports a bootloader install failure due to an insufficient post-MBR gap:
Bug 979805 - insufficient post-MBR gap not detected before installation

In that case, the first partition began at sector 28 (Bug 979805, Comment 2).

For the record, the grub2 documentation says:
"You must ensure that the first partition starts at least 31 KiB (63 sectors) from the start of the disk; on modern disks, ..."
http://www.gnu.org/software/grub/manual/grub.html#BIOS-installation

Snippet from attached anaconda-tb-sazfOB:
...
13:59:33,557 DEBUG blivet:     DeviceTree.addUdevDevice: info: {'DEVLINKS': '/dev/disk/by-id/scsi-36b8ca3a0ec0ed3001972a6cb137aca11-part1 /dev/disk/by-id/wwn-0x6b8ca3a0ec0ed3001972a6cb137aca11-part1 /dev/disk/by-label/DellUtility /dev/disk/by-path/pci-0000:02:00.0-scsi-0:2:0:0-part1 /dev/disk/by-uuid/5450-4444',
 'DEVNAME': 'sdc1',
 'DEVPATH': '/devices/pci0000:00/0000:00:01.1/0000:02:00.0/host7/target7:2:0/7:2:0:0/block/sdc/sdc1',
 'DEVTYPE': 'partition',
 'ID_BUS': 'scsi',
 'ID_FS_LABEL': 'DellUtility',
 'ID_FS_LABEL_ENC': 'DellUtility',
 'ID_FS_TYPE': 'vfat',
 'ID_FS_USAGE': 'filesystem',
 'ID_FS_UUID': '5450-4444',
 'ID_FS_UUID_ENC': '5450-4444',
 'ID_FS_VERSION': 'FAT16',
 'ID_MODEL': 'PERC_H310',
 'ID_MODEL_ENC': 'PERC\\x20H310',
 'ID_PART_ENTRY_DISK': '8:32',
 'ID_PART_ENTRY_NUMBER': '1',
 'ID_PART_ENTRY_OFFSET': '36',
 'ID_PART_ENTRY_SCHEME': 'dos',
 'ID_PART_ENTRY_SIZE': '65952',
 'ID_PART_ENTRY_TYPE': '0xde',
 'ID_PART_TABLE_TYPE': 'dos',
 'ID_PATH': 'pci-0000:02:00.0-scsi-0:2:0:0',
 'ID_PATH_TAG': 'pci-0000_02_00_0-scsi-0_2_0_0',
 'ID_REVISION': '2.12',
 'ID_SCSI': '1',
 'ID_SCSI_SERIAL': '0011ca7a13cba6721900d30eeca0a38c',
 'ID_SERIAL': '36b8ca3a0ec0ed3001972a6cb137aca11',
 'ID_SERIAL_SHORT': '6b8ca3a0ec0ed3001972a6cb137aca11',
 'ID_TYPE': 'disk',
 'ID_VENDOR': 'DELL',
 'ID_VENDOR_ENC': 'DELL',
 'ID_WWN': '0x6b8ca3a0ec0ed300',
 'ID_WWN_VENDOR_EXTENSION': '0x1972a6cb137aca11',
 'ID_WWN_WITH_EXTENSION': '0x6b8ca3a0ec0ed3001972a6cb137aca11',
 'MAJOR': '8',
 'MINOR': '33',
 'MPATH_SBIN_PATH': '/sbin',
 'SUBSYSTEM': 'block',
 'TAGS': ':systemd:',
 'UDISKS_IGNORE': '1',
 'USEC_INITIALIZED': '43675',
...

Comment 3 Stephen Tweedie 2013-08-05 12:34:59 UTC
(In reply to Steve Tyler from comment #2)
> Thanks for your report.
> 
> "... a new PC (Dell) with Windows 7 preinstalled ..."
> Do you know how Dell came up with sector 36?

I have no idea; but 36 is at least better than 63 for sector alignment with 4k sector disks.

> Bug 979805 also reports a bootloader install failure due to an insufficient
> post-MBR gap:
> Bug 979805 - insufficient post-MBR gap not detected before installation
> 
> In that case, the first partition began at sector 28 (Bug 979805, Comment 2).
> 
> For the record, the grub2 documentation says:
> "You must ensure that the first partition starts at least 31 KiB (63
> sectors) from the start of the disk; on modern disks, ..."
> http://www.gnu.org/software/grub/manual/grub.html#BIOS-installation

Understood.  But from a distribution perspective this means we're failing to install a boot loader... when grub2 *CAN* succeed with blocklists.  blocklists have a certain usability loss, as you're vulnerable to the core image moving on the /boot filesystem, but this is outweighed by the usability loss of not installing a boot loader at all.

Comment 4 Steve Tyler 2013-08-05 13:05:50 UTC
Thanks, Stephen.

ISTM, the problem here isn't about blocklists. The problem here is that the assumptions about OEM disk partitioning appear to be invalid.

It would be very helpful if you could call Dell and ask them why they are using non-standard disk partitioning on their products.

Please note that this bug also reports non-standard partitioning on an OEM disk:
Bug 979805 - insufficient post-MBR gap not detected before installation

Comment 5 Steve Tyler 2013-08-05 13:15:14 UTC
Chris, I'm CCing you, because this bug is very similar to:
Bug 979805 - insufficient post-MBR gap not detected before installation

In both cases, an OEM disk has been partitioned with fewer than 63 sectors before the first partition.

Comment 6 Steve Tyler 2013-08-05 13:28:03 UTC
(In reply to Stephen Tweedie from comment #3)
...
> I have no idea; but 36 is at least better than 63 for sector alignment with
> 4k sector disks.
...

When you put 36 next to 63, it becomes apparent that they are anagrams.
Maybe 36 is a typo ...

Comment 7 Steve Tyler 2013-08-05 13:30:53 UTC
(In reply to Steve Tyler from comment #6)
> (In reply to Stephen Tweedie from comment #3)
> ...
> > I have no idea; but 36 is at least better than 63 for sector alignment with
> > 4k sector disks.
> ...
> 
> When you put 36 next to 63, it becomes apparent that they are anagrams.
> Maybe 36 is a typo ...

And if so, Dell sold you a defective product, and they need to fix it.

Comment 8 Stephen Tweedie 2013-08-05 13:54:14 UTC
36 is a not-unreasonable default for alignment reasons.  And the cause is irrelevant, there's no standard I'm aware of mandating that we have to have part1 starting at >=sect63, and grub2 is *already* capable of handling this case, we're just not enabling that support in anaconda.

We can argue all day about the right way to partition a disk in theory, but in reality we need to be as compatible as possible with the way things are in the real world, or we're just doing our users a dis-service.  "Complain to your OEM" is not a particularly user-friendly response when anaconda leaves behind an unbootable system.

Comment 9 Steve Tyler 2013-08-05 14:21:53 UTC
(In reply to Stephen Tweedie from comment #3)
> (In reply to Steve Tyler from comment #2)
> > Thanks for your report.
> > 
> > "... a new PC (Dell) with Windows 7 preinstalled ..."
> > Do you know how Dell came up with sector 36?
> 
> I have no idea; but 36 is at least better than 63 for sector alignment with
> 4k sector disks.
...

Chris reports that a Windows 7 Ultimate install allocates 2048 sectors:
Bug 979805, Comment 7.

That is how your disk should have been partitioned.

The standard here is what the Windows installer does, not what Dell's inept manufacturing process produces.

Have you called Dell tech support yet about the defective product they sold you?

Dell Technical Support
http://support.dell.com/support/index.aspx

Comment 10 Steve Tyler 2013-08-05 15:19:39 UTC
This new Windows 7 notebook has sda1 starting at sector 2048.

NB: sda5 was shrunk to makes space for Fedora partitions.

$ sudo parted /dev/sda u s p free
Model: ATA TOSHIBA MQ01ABD0 (scsi)
Disk /dev/sda: 625142448s
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags: 

Number  Start       End         Size        Type      File system     Flags
        63s         2047s       1985s                 Free Space
 1      2048s       52430847s   52428800s   primary   fat32           hidden, lba
 2      52430848s   52635647s   204800s     primary   ntfs            boot, diag
 3      52635648s   302692351s  250056704s  primary   ntfs
 4      302692352s  625141759s  322449408s  extended
 5      302694400s  384614399s  81920000s   logical   ntfs
 6      384616448s  385665023s  1048576s    logical   ext4
 7      385667072s  590467071s  204800000s  logical                   lvm
        590467072s  590469074s  2003s                 Free Space
 8      590469120s  623042559s  32573440s   logical   ext4
 9      623044608s  625141759s  2097152s    logical   linux-swap(v1)
        625141760s  625142447s  688s                  Free Space

$ dmesg | grep -i asustek
[    0.000000] DMI: ASUSTeK Computer Inc. K54C/K54C, BIOS K54C.208 06/20/2012

Comment 11 Steve Tyler 2013-08-05 15:44:03 UTC
(In reply to Stephen Tweedie from comment #0)
...
> # fdisk -l
> 
> Disk /dev/sdb: 999.7 GB, 999653638144 bytes, 1952448512 sectors
> Units = sectors of 1 * 512 = 512 bytes
> Sector size (logical/physical): 512 bytes / 512 bytes
> I/O size (minimum/optimal): 512 bytes / 512 bytes
> Disk label type: dos
> Disk identifier: 0x5fcdd6d2
> 
>    Device Boot      Start         End      Blocks   Id  System
> /dev/sdb1              36       65987       32976   de  Dell Utility
> /dev/sdb2           67584    25753599    12843008    7  HPFS/NTFS/exFAT
> /dev/sdb3        25753600  1030846463   502546432    7  HPFS/NTFS/exFAT
> /dev/sdb4      1030846464  1952448511   460801024    5  Extended
> /dev/sdb5   *  1030848512  1031897087      524288   83  Linux
> /dev/sdb6      1031899136  1032947711      524288   83  Linux
> /dev/sdb7      1032949760  1242664959   104857600   fd  Linux raid autodetect
> /dev/sdb8      1242667008  1952448511   354890752   8e  Linux LVM
...

Your NTFS partitions are aligned to 1 MiB boundaries:

sdb2:
>>> 67584.0*512/1024**2
33.0

sdb3:
>>> 25753600.0*512/1024**2
12575.0

Arithmetic by Python.

Comment 12 Chris Murphy 2013-08-05 16:42:16 UTC
(In reply to Steve Tyler from comment #4)
> ISTM, the problem here isn't about blocklists. The problem here is that the
> assumptions about OEM disk partitioning appear to be invalid.

I agree. 36 is an ill advised starting LBA. On a blank disk, the Windows installer starts at LBA 2048. That's compatible with 512e alignment, and is also reasonable for SSDs.

However, that it's Dell doing this, might mean millions of computers are affected. It would be useful to determine the scope of this behavior.

While extlinux could support this configuration and chainload the Windows bootloader, anaconda itself doesn't create Windows boot entries, even for GRUB - that's left up to grub2-mkconfig. So detection and script generation code would be needed for extlinux to support this scenario in the installer.

Comment 13 Chris Murphy 2013-08-05 17:14:19 UTC
(In reply to Steve Tyler from comment #6)
> When you put 36 next to 63, it becomes apparent that they are anagrams.
> Maybe 36 is a typo ...

It's odd they'd go with 36, instead of 64 or 2048 like Microsoft. It's probably a minor consequence for an SSD to not be aligned on anything close to its erase block size, but given the option I wouldn't use LBA 36 as a start. It's widely held convention to align on 1MB boundaries.

(In reply to Stephen Tweedie from comment #8)
> grub2 is *already* capable of handling this
> case, we're just not enabling that support in anaconda.

It's unreasonable to expect the anaconda team to use a feature grub maintainers say is not recommended.

> We can argue all day about the right way to partition a disk in theory, but
> in reality we need to be as compatible as possible with the way things are
> in the real world, or we're just doing our users a dis-service.

I think the scope of the behavior is relevant. Only a lot of work, or a simple inquiry to Dell can answer this. I wouldn't just ask them if LBA 36 is intentional, and not a bug, but also how widespread this is on their hardware.


>  "Complain
> to your OEM" is not a particularly user-friendly response when anaconda
> leaves behind an unbootable system.

Yes, but conversely it's not developer friendly to expect anaconda devs to do things they aren't comfortable with; and to expect grub devs to do things they aren't comfortable with. I think this comes down to grub and ext devs agreeing on a better way to support embedding - and this is being worked on but I don't know if/when we'll see results.

Comment 14 Stephen Tweedie 2013-08-12 12:03:26 UTC
(In reply to Chris Murphy from comment #13)
> >  "Complain
> > to your OEM" is not a particularly user-friendly response when anaconda
> > leaves behind an unbootable system.
> 
> Yes, but conversely it's not developer friendly to expect anaconda devs to
> do things they aren't comfortable with; and to expect grub devs to do things
> they aren't comfortable with. I think this comes down to grub and ext devs
> agreeing on a better way to support embedding - and this is being worked on
> but I don't know if/when we'll see results.

The only thing I've asked for is consideration of a completely legal but uncommon preloaded scenario.  If actually booting on legal configurations makes developers uncomfortable then I think we have a deeper problem here.

Comment 15 Chris Murphy 2013-08-12 14:51:26 UTC
(In reply to Stephen Tweedie from comment #14 
> The only thing I've asked for is consideration of a completely legal but
> uncommon preloaded scenario.

I don't know what you mean by legal. It's uncertain it's intentional and not a bug. And without knowing scope it's uncertain that it's uncommon.

>If actually booting on legal configurations
> makes developers uncomfortable then I think we have a deeper problem here.

I don't think they'd universally agree it is completely "legal", as GRUB legacy and 2 have always required a sufficiently large MBR gap. GRUB2 needs more space, also not news, as it's one of the reasons fdisk and parted moved to a 1MB gap where the 1st partition starts at LBA 2048. In your case the space is insufficient. If it were insufficient for GRUB legacy, you'd have the same problem, not a new one.

Comment 16 Steve Tyler 2013-08-13 11:10:53 UTC
I am guessing that what Stephen means by "legal" is "any partitioning scheme that is compatible with Windows".

IOW, if Windows boots, it's legal ... :-)

Stephen: Have you contacted Dell yet about the "legal" partitioning scheme they sold you?

Comment 17 Steve Tyler 2013-08-13 11:29:45 UTC
(In reply to Steve Tyler from comment #16)
...
> IOW, if Windows boots, it's legal ... :-)
...

In Bug 969709, Comment 18, Rostislav reports that he pre-partitioned a disk with exactly 1 sector before the first partition and that he successfully installed Windows XP with that partitioning.

That suggests that Windows can be installed without any post-MBR gap.

Chris, are you up to another Lets-See-What-Windows-Does experiment? :-)

Comment 18 Stephen Tweedie 2013-08-13 14:42:03 UTC
(In reply to Chris Murphy from comment #15)
> (In reply to Stephen Tweedie from comment #14 
> > The only thing I've asked for is consideration of a completely legal but
> > uncommon preloaded scenario.
> 
> I don't know what you mean by legal. It's uncertain it's intentional and not
> a bug. And without knowing scope it's uncertain that it's uncommon.
> 
> >If actually booting on legal configurations
> > makes developers uncomfortable then I think we have a deeper problem here.
> 
> I don't think they'd universally agree it is completely "legal", as GRUB
> legacy and 2 have always required a sufficiently large MBR gap. 

No, they have not.

I've already said that grub2 works perfectly well in this configuration if manually installed with --force.  The support is there --- it just isn't enabled by default.

And pre-grub2 grub will automatically boot straight to stage2 via blocklist if there isn't space for stage1.5 in an embedded area.  I've just installed f12 into a VM with an unaligned /boot partition starting at sector 1, and it went without a hitch (and yes it boots fine.)

An MBR embedded area has always been something grub *can* use, not something it requires.

Comment 19 Chris Murphy 2013-08-13 16:01:57 UTC
(In reply to Steve Tyler from comment #17)
> That suggests that Windows can be installed without any post-MBR gap. 
> Chris, are you up to another Lets-See-What-Windows-Does experiment? :-)

I can confirm that the Windows Vista and 7 installers don't have a dependency on an MBR gap existing or of a particular size. What experiment do you have in mind?

(In reply to Stephen Tweedie from comment #18)
>The support is there --- it just isn't enabled by default.

Existence of a feature with a warning disclosing it's not recommended is hardly "support" – it's therefore reasonable for the anaconda team to not want to touch the feature with a 10 foot pole. The use of --force was removed in anaconda 18 for Fedora 18, so it's not a new loss.

> An MBR embedded area has always been something grub *can* use, not something
> it requires.

Look you can criticize the GRUB2 design til the cows come home, it doesn't belong in this bug, and won't progress it. Your case is with GRUB maintainers, not anaconda. In effect GRUB2 requires an MBR gap, a GPT BIOS Boot partition, or a filesystem with a sufficient large bootloader area to avoid the use of --force. ext's bootloader pad is too small. Btrfs's is 64KB and is supported by GRUB2. XFS has none and therefore GRUB won't install to an XFS partition even with --force.

If you want to install a bootloader to an ext volume instead of the MBR gap, you can use the F19 netinst image, and pass extlinux on the kernel command line, and anaconda 19 will use extlinux instead of grub; extlinux by design only installs to a partition (to an ext volume specifically).

I think the only thing that might motivate a solution to the problem you're reporting is if it's a widespread problem, but thus far you haven't made that case.

Comment 20 Steve Tyler 2013-08-13 16:16:55 UTC
(In reply to Chris Murphy from comment #19)
> (In reply to Steve Tyler from comment #17)
> > That suggests that Windows can be installed without any post-MBR gap. 
> > Chris, are you up to another Lets-See-What-Windows-Does experiment? :-)
> 
> I can confirm that the Windows Vista and 7 installers don't have a
> dependency on an MBR gap existing or of a particular size. What experiment
> do you have in mind?
...

OK. Is this correct then: The Windows installers will allow creation of a partition beginning at LBA 1 and Windows can be installed to that partition?

Comment 21 Chris Murphy 2013-08-13 16:47:49 UTC
(In reply to Steve Tyler from comment #20)
> OK. Is this correct then: The Windows installers will allow creation of a
> partition beginning at LBA 1 and Windows can be installed to that partition?

No. The installer has no option to specify start-end sectors values (LBAs), only partition size. If the installer creates the first partition, it starts at LBA 2048. If something else creates the first partition at LBA 1, the installer will use it if the type is 0x07 and it's of sufficient size.

Comment 22 Steve Tyler 2013-08-13 19:08:22 UTC
Thanks, Chris. I believe we have enough information to justify changing the bug component to grub2:

1. Windows can be installed to partitions beginning anywhere from LBA 1 and up.
2. OEMs are shipping Windows computers with partitions beginning at LBA < 63.
3. grub2 cannot install to such computers.
4. Blocklists are deprecated by grub2 developers.

Putting these all together, grub2 is incompatible with known, shipping OEM products, and there is no supported grub2 workaround.

Since Fedora must be compatible with Windows systems, Fedora must change its boot loader technology, by either replacing grub2, or by supporting changes to grub2 that will permit it to function reliably with Windows systems.

Stephen: I changed my mind, but:
1. Blocklists are deprecated by grub2 developers.
2. You still haven't called Dell.

Comment 23 Steve Tyler 2013-08-13 22:11:38 UTC
This grub-devel thread discusses block lists:
Subject: GRUB and the risk of block list corruption in extX
http://thread.gmane.org/gmane.comp.boot-loaders.grub.devel/19687

Comment 24 David Lehman 2013-08-22 18:05:08 UTC
I've added code to anaconda-20.6 that should issue a warning in the case of a too-small MBR gap when /boot is on a normal partition.

Anaconda is not going to use block lists given grub2's stance on them.

I think this is grub2's issue, if anyone's.

Comment 25 Steve Tyler 2013-08-22 18:58:12 UTC
Thanks, David. This is still assigned to you. Is that what you intend?

Comment 26 Steve Tyler 2013-08-22 19:12:19 UTC
For the record:
Check MBR gap size even when /boot is on a plain partition. (#986431)
https://git.fedorahosted.org/cgit/anaconda.git/commit/?id=637fdb48dc3d9139970704c0d528ce70a95c003e

Comment 27 Steve Tyler 2013-08-22 19:44:41 UTC
Bug 969709 reports an install failure when there is no post-MBR gap. Of particular note is that Windows XP could be installed in that case:
Bug 969709, Comment 18.

Bug 969709 - GRUB2 bootloader installation and the whole Fedora 19 installation fails if there is no MBR gap

Comment 28 Mads Kiilerich 2013-08-31 14:21:38 UTC
(In reply to David Lehman from comment #24)
> I've added code to anaconda-20.6 that should issue a warning in the case of
> a too-small MBR gap when /boot is on a normal partition.
> 
> Anaconda is not going to use block lists given grub2's stance on them.

That is also a decision to not support machines with insufficient MBR gab.

The grub2 "solution" is to have the --force option for those who are willing to take the risk. If Fedora wants so support grub2 on machines with insufficient MBR gab now, then anaconda has to expose that option to the user.

Long term the problem is solved by everybody switching to GPT and EFI.

Comment 29 Steve Tyler 2013-08-31 14:30:36 UTC
The installer could also suggest resizing the first partition ...

Comment 30 Mads Kiilerich 2013-08-31 15:40:29 UTC
(In reply to Steve Tyler from comment #29)
> The installer could also suggest resizing the first partition ...

No, that is for several reasons not an option.

Comment 31 Steve Tyler 2013-08-31 16:07:08 UTC
(In reply to Mads Kiilerich from comment #30)
> (In reply to Steve Tyler from comment #29)
> > The installer could also suggest resizing the first partition ...
> 
> No, that is for several reasons not an option.

<g> What are those reasons?
NB: I said "suggest" ... as in "suggest a workaround".

Comment 32 Stephen Tweedie 2013-09-02 08:50:05 UTC
(In reply to Steve Tyler from comment #31)
> (In reply to Mads Kiilerich from comment #30)
> > (In reply to Steve Tyler from comment #29)
> > > The installer could also suggest resizing the first partition ...
> > 
> > No, that is for several reasons not an option.
> 
> <g> What are those reasons?

Because resize moves the end of the partition, not the start.  It's the start that's the issue here.

Comment 33 Steve Tyler 2013-09-02 11:19:50 UTC
(In reply to Stephen Tweedie from comment #32)
...
> Because resize moves the end of the partition, not the start.  It's the
> start that's the issue here.

So move the start ... what's your point?
Have you called Dell yet about the non-standard partitioning on your computer?

Comment 34 David Shea 2013-09-03 15:39:40 UTC
*** Bug 979805 has been marked as a duplicate of this bug. ***

Comment 35 David Shea 2013-09-03 15:44:43 UTC
*** Bug 969684 has been marked as a duplicate of this bug. ***

Comment 36 David Shea 2013-09-03 15:45:09 UTC
*** Bug 924902 has been marked as a duplicate of this bug. ***

Comment 37 Jose 2013-09-17 03:42:41 UTC
Al intentar instalar fedora 19 en el disco duro. Se pega donde dice Instalando gestor de arranque. Aclaro que tengo instalados Windows Xp y Ubuntu.

cmdline:        /usr/bin/python  /sbin/anaconda --liveinst --method=livecd:///dev/mapper/live-osimg-min --lang en_US.UTF-8
cmdline_file:   initrd=initrd0.img root=live:CDLABEL=LIVE rootfstype=vfat ro rd.live.image quiet  rhgb rd.luks=0 rd.md=0 rd.dm=0  BOOT_IMAGE=vmlinuz0 
hashmarkername: anaconda
kernel:         3.9.5-301.fc19.x86_64
other involved packages: python-libs-2.7.5-1.fc19.x86_64
package:        anaconda-19.30.13-1.fc19.x86_64
product:        Fedora
reason:         BootLoaderError: bootloader install failed
release:        Fedora release 19 (Schrödinger’s Cat)
version:        19

Comment 38 Peter Jennings 2013-09-22 17:27:52 UTC
Installing Fedora 19 onto a SSD disk. Clear disk befoe installation with a 'mktable gpt' using parted

cmdline:        /usr/bin/python  /sbin/anaconda
cmdline_file:   initrd=initrd.img inst.stage2=hd:LABEL=Fedora\x2019\x20x86_64 ks=nfs:10.1.1.1:/tmp/ks.cfg BOOT_IMAGE=vmlinuz 
hashmarkername: anaconda
kernel:         3.9.5-301.fc19.x86_64
package:        anaconda-19.30.13-1
product:        Fedora
reason:         BootLoaderError: bootloader install failed
release:        Cannot get release name.
version:        19

Comment 39 Chris Murphy 2013-09-22 17:56:11 UTC
(In reply to Peter Jennings from comment #38)
Since you used parted to force the disk to be GPT, I'm betting this is BIOS not UEFI hardware; and somehow anaconda fails to create or flag the user to create the required BIOSBoot partition. That would be a different bug that this bug, and needs a new bug filed with anaconda.log, program.log, and storage.log attached (they are found in tmp in the booted install environment).

I would use wipefs -a on the whole disk device to remove the current partition table before you begin again. Then use the hidden correct way to do this, which is to boot from install media, hit tab to edit the kernel parameter line, and add gpt to the end. That will cause the installer to create a gpt disk instead of mbr, on BIOS computers.

Comment 40 Brian Lane 2013-09-23 17:37:38 UTC
(In reply to Peter Jennings from comment #38)
> Installing Fedora 19 onto a SSD disk. Clear disk befoe installation with a
> 'mktable gpt' using parted
> 
> cmdline:        /usr/bin/python  /sbin/anaconda
> cmdline_file:   initrd=initrd.img
> inst.stage2=hd:LABEL=Fedora\x2019\x20x86_64 ks=nfs:10.1.1.1:/tmp/ks.cfg
> BOOT_IMAGE=vmlinuz 
> hashmarkername: anaconda
> kernel:         3.9.5-301.fc19.x86_64
> package:        anaconda-19.30.13-1
> product:        Fedora
> reason:         BootLoaderError: bootloader install failed
> release:        Cannot get release name.
> version:        19

Please include the logs from /tmp/*log as individual text/plain attachments so we can see what's going on. Also please include the output from:

parted -s /dev/blah u s p

Comment 41 Peter Jennings 2013-09-24 18:28:00 UTC
I am unable to reproduce this issue and I didn't save the /tmp/*log files.
In case the hardware information is still useful:
Dell Optiplex 390 series from Oct 2012, BIOS Version A09
UEFI hardware
Mushkin 40 GB SSD - ID=MKNSSDCL040GB-DX

Comment 42 Chris Murphy 2013-09-24 20:05:43 UTC
(In reply to Peter Jennings from comment #41)
> UEFI hardware

So in that case, why use parted to set the disklabel to GPT? Anaconda will do that for you if this is a new install on a blank disk, UNLESS the firmware is set to (legacy/compatibility) BIOS mode, sometimes also called UEFI disabled. Was it?

Comment 43 Andrey Budantsev 2013-09-30 11:23:00 UTC
I've got this when installing a new system.

cmdline:        /usr/bin/python  /sbin/anaconda
cmdline_file:   initrd=initrd.img inst.stage2=hd:LABEL=Fedora\x2019\x20x86_64 quiet BOOT_IMAGE=vmlinuz 
hashmarkername: anaconda
kernel:         3.9.5-301.fc19.x86_64
package:        anaconda-19.30.13-1
product:        Fedora
reason:         BootLoaderError: bootloader install failed
release:        Cannot get release name.
version:        19

Comment 44 Rostislav Krasny 2013-10-02 00:12:37 UTC
As far as I know syslinux officially supports installation into the Linux partition. Then why not just add the syslinux support into Anaconda? Anaconda could:

1. offer two bootloader options to a user: grub2 and syslinux
2. use grub2 by default and switch to syslinux automatically when there is not enough MBR gap space
3. use only syslinux

I heard there is a hidden syslinux support in Anaconda. But it's so hidden that it just doesn't exist for a regular user. Just think about user experience.

Comment 45 Chris Murphy 2013-10-02 00:34:42 UTC
(In reply to Rostislav Krasny from comment #44)
http://fedoraproject.org/wiki/Features/SyslinuxOption

Boot with extlinux on the command line. For F19 it needs to be done with Network Install ISO.

Comment 46 Rostislav Krasny 2013-10-02 17:50:45 UTC
(In reply to Chris Murphy from comment #45)
> (In reply to Rostislav Krasny from comment #44)
> http://fedoraproject.org/wiki/Features/SyslinuxOption
> 
> Boot with extlinux on the command line. For F19 it needs to be done with Network Install ISO.

What does it mean and how to do that? Are you talking about the installation ISO boot option? And then what? Will Anaconda use extinux instead of grub2? The article, you pointed me on, is also cryptic and doesn't explain things clear.

Anyway in the previous message I told about Anaconda. Why syslinux (extlinux) support can't be added into Anaconda - the standard graphical Fedora installer? Or it will be added there in Fedora 20?

Comment 47 Rostislav Krasny 2013-10-02 18:19:58 UTC
(In reply to Chris Murphy from comment #19)
> 
> If you want to install a bootloader to an ext volume instead of the MBR gap,
> you can use the F19 netinst image, and pass extlinux on the kernel command
> line, and anaconda 19 will use extlinux instead of grub; extlinux by design
> only installs to a partition (to an ext volume specifically).

Ok, now it's clear that you meant a kernel parameter. It's really hidden in a very deep and dark place. Could you explain why the extlinux option is hidden and not supported by Anaconda straight away?

Comment 48 Chris Murphy 2013-10-02 18:44:45 UTC
(In reply to Rostislav Krasny from comment #47)
No. But I suspect it's a matter of resources to design, code and maintain such functionality.

I don't know that anaconda produces the configuration file for extlinux, or if the user needs to do so manually. If manual, such a behavior shouldn't be exposed in the UI by default, because it'd make it too easy for regular users to create unbootable systems which likely violates one or more release criteria.

The maintenance aspect is really important. Every release there are boot related issues that come up, so having a whole separate bootloader method means it has to be tested and bugs fixed. So someone needs to volunteer for this additional work.

Comment 49 Rostislav Krasny 2013-10-04 18:29:21 UTC
> (In reply to Rostislav Krasny from comment #47)
> No. But I suspect it's a matter of resources to design, code and maintain
> such functionality.

anaconda/pyanaconda/bootloader.py already has extlinux support, added by Matthew Miller <mattdm (a) redhat (d) com>. And according to `git log` there were other commits after that. For example Anaconda uses extlinux by default on ARM platform (commit 39dfa711759b3c53ceff7457cd1518adb51a268b) from August 20 this year. Most likely it's enabled on ARM by that secret kernel parameter, because anaconda/pyanaconda/flags.py has self.extlinux = False by default. It could be changed to True by an "extlinux" cmd parameter.

> I don't know that anaconda produces the configuration file for extlinux, or
> if the user needs to do so manually.

According to the code it does produce the /boot/extlinux/extlinux.conf configuration file.

> If manual, such a behavior shouldn't be
> exposed in the UI by default, because it'd make it too easy for regular
> users to create unbootable systems which likely violates one or more release
> criteria.

Currently grub2 seems to violate such a criteria by its design.

> The maintenance aspect is really important. Every release there are boot
> related issues that come up, so having a whole separate bootloader method
> means it has to be tested and bugs fixed. So someone needs to volunteer for
> this additional work.

There already are people, who volunteered for this work or do it for money in RedHat. And you always have a crowd of testers who try all new Fedora alphas, betas, RCs and releases. For example I opened bug 969709 (same to this one) when Fedora 19 was in beta stage.

So my question is still not answered. Why the extlinux option is hidden and not supported by Anaconda straight away? Maybe somebody from RedHat can explain it? Or maybe this support isn't completely ready yet but planned for the next release?

Comment 50 Rostislav Krasny 2013-10-04 19:05:55 UTC
Interesting code chunk from the bootloader.py

# every platform that wants a bootloader needs to be in this dict
bootloader_by_platform = {platform.X86: GRUB2,
                          platform.EFI: EFIGRUB,
                          platform.MacEFI: MacEFIGRUB,
                          platform.PPC: GRUB2,
                          platform.IPSeriesPPC: IPSeriesGRUB2,
                          platform.NewWorldPPC: MacYaboot,
                          platform.S390: ZIPL,
                          platform.ARM: EXTLINUX,
                          platform.omapARM: EXTLINUX}

This is the place of switching from grub2 to extlinux.

Comment 51 Rostislav Krasny 2013-10-06 22:53:50 UTC
I just tried to reinstall Fedora 19 from the netinst ISO with that secret extlinux kernel parameter. I also chose in the Anaconda to install the latest updates. So if there was any syslinux/extlinux update it was installed. The installation process has finished without any error. syslinux and extlinux were installed and also /boot/extlinux directory with many files (including extlinux.conf) was created. These are the good news.

The bad news are that the MBR code was not updated, so it remained with the old grub2 MBR code, from my previous Fedora 19 installation (where I installed grub2 on ext4 partition using --force). The grub2 MBR code doesn't work in this case and only starts the grub2 rescue prompt.

Updating MBR code would be easy, I thought mistakenly, and booted from the Fedora ISO again into a rescue mode shell. While in the rescue shell I didn't find any way to update just the MBR code. I probably searched not too much, because I remember from my short Arch Linux experiense that it's possible to install syslinux and also update the MBR code. Now I see that they do it by following command:

dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sda

In Fedora this command need to be changed to:

dd bs=440 count=1 conv=notrunc if=/usr/share/syslinux/bios/mbr.bin of=/dev/sda

But since I didn't find this in time I've just mooved a boot flag (by fdisk) from /dev/sda2 (Fedora) into /dev/sda1 (Windows), booted from WinXP install CD and ran fixmbr from its rescue shell. It made my computer bootable into Windows. Then I booted again from the Fedora netinst ISO into its rescue shell and moved the boot flag back from /dev/sda1 into /dev/sda2. From now on my computer boots Fedora 19 with a small Fedora emblem splash. And the boot process starts from the Windows standard version of the MBR code.

Now why I wrote this long saga? Just to show following things:

1. extlinux itself (in the ext4 primary partition) works properly
2. Anaconda makes extlinux configuration that works (at least for booting Fedora itself)
3. MBR is not updated during Fedora installation with the extlinux kernel parameter
4. There already is an mbr.bin file, dd and fdisk programs that can be used to install the syslinux MBR code and set partition boot flag to the right primary partition
5. grub2 MBR code is a joke. It has a not standard behavior and can't co-exist with anything but grub2.
6. extlinux can co-exist with any MBR code that knows to load a boot sector primary partition:
  a) syslinux MBR code
  b) Windows MBR code
  c) FreeBSD boot0 MBR code

By the way, FreeBSD boot0 MBR code would be the best choice for dual-boot machines. Because it will continue to be able to boot one OS while the other OS is deleted. For example if I deleted my current Fedora then its extlinux will not work and MBR code will not ask me to boot from other primary partition. Only boot0 will. Alt Linux even has the boot0 RPM.

Comment 52 Chris Murphy 2013-10-06 23:00:07 UTC
(In reply to Rostislav Krasny from comment #51) 
> The bad news are that the MBR code was not updated,

I suggest filing a new bug against component anaconda, and assign it to mattdm, and add me to the cc.

Comment 53 Chris Murphy 2013-10-06 23:13:57 UTC
(In reply to Chris Murphy from comment #52)
Nevermind, I've reproduced this with Fedora 20 beta live desktop and I've filed a bug. Obviously it can't be fixed for F19 anyway. Bug 1015931.

Comment 54 Emmett Culley 2013-10-08 21:08:34 UTC
After lots of trials and tribulations (see today's entry for bug 971179), I finally got through the package installation process to the "Installing bootloader". An error I've seen and reported before.

boot on RAID partition spanning added drive and original win8 drive.  root, home and var on LVM on RAID partition.  New drive is GPT, win8 was booting UEFI, UEFI is disabled, or at least, not required.  Fedora was to boot without UEFI.


cmdline:        /usr/bin/python  /sbin/anaconda
cmdline_file:   initrd=initrd.img inst.stage2=hd:LABEL=Fedora\x2019\x20x86_64 quiet BOOT_IMAGE=vmlinuz 
hashmarkername: anaconda
kernel:         3.9.5-301.fc19.x86_64
package:        anaconda-19.30.13-1
product:        Fedora
reason:         BootLoaderError: bootloader install failed
release:        Cannot get release name.
version:        19

Comment 55 Chris Murphy 2013-10-08 23:10:14 UTC
(In reply to Emmett Culley from comment #54)
The but you cite doesn't seem related and there is no entry in it for today.

Please post the installer logs: /tmp if booted from install media, /var/log/anaconda otherwise.

Windows 8 requires UEFI to boot from GPT disks. And mixing and matching UEFI and CSM-BIOS OS's installs on the same hardware is fraught with problems that likely defy a rational support option.

Comment 56 Don Church 2013-11-03 01:33:25 UTC
Live install on new Panasonic FZ-G1 tablet with hd4000 graphics in vesa mode on extended paritition having win8 gpt ssd.  All seemed normal util unknown error but I see it stopped at bootloader installation.  I did created the requested bios boot partition along with home, root and swap.  I have the bios set to where I have installed several distros successfully.  My problem has been video though and only the latest Opensuse and Ubuntu have had the driver needed to install without special methods.

cmdline:        /usr/bin/python  /sbin/anaconda --liveinst --method=livecd:///dev/mapper/live-osimg-min --lang en_US.UTF-8 --xdriver=vesa
cmdline_file:   initrd=initrd0.img root=live:CDLABEL=Fedora-Live-Desktop-x86_64-19-1 rootfstype=auto ro rd.live.image quiet  rhgb rd.luks=0 rd.md=0 rd.dm=0 xdriver=vesa nomodeset BOOT_IMAGE=vmlinuz0 
hashmarkername: anaconda
kernel:         3.9.5-301.fc19.x86_64
other involved packages: python-libs-2.7.5-1.fc19.x86_64
package:        anaconda-19.30.13-1.fc19.x86_64
product:        Fedora
reason:         BootLoaderError: bootloader install failed
release:        Fedora release 19 (Schrödinger’s Cat)
version:        19

Comment 57 Chris Murphy 2013-11-03 03:50:07 UTC
(In reply to Don Church from comment #56)
> Live install on new Panasonic FZ-G1 tablet with hd4000 graphics in vesa mode
> on extended paritition having win8 gpt ssd...[snip] ... I did created the
> requested bios boot partition along with home, root and swap.

Since this is Windows and a GPT disk that means the hardware is UEFI, thus there is an EFI System partition. The Fedora installer requesting BIOS boot partition, means the Fedora live desktop media is booted with a CSM to emulate BIOS. This bug relates to MBR disks, so there must be some anaconda/libreport confusion sending you to this bug.

Could you file a new bug report against component anaconda and cite the new bug number in this bug? And include in the new report as separate plaintext attachments the anaconda-tb*, program.log, and storage.log from /tmp from the live system? Thanks.

Comment 58 Don Church 2013-11-03 14:31:32 UTC
Created new bug reporting: 1026085

Lacking the requested attachments :(

Comment 59 philby john 2013-11-29 15:26:27 UTC
Bootloader failure on FC 19 32 bit. Works on FC 18. Have Windows Vista on sda1

cmdline:        /usr/bin/python  /sbin/anaconda
cmdline_file:   initrd=initrd.img inst.stage2=hd:LABEL=Fedora\x2019\x20i386 quiet BOOT_IMAGE=vmlinuz 
hashmarkername: anaconda
kernel:         3.9.5-301.fc19.i686
package:        anaconda-19.30.13-1
product:        Fedora
reason:         BootLoaderError: bootloader install failed
release:        Cannot get release name.
version:        19

Comment 60 philby john 2013-11-29 17:59:47 UTC
The logging system identified the defect to be a duplicate and filed it under this bug. But this don't look right, my partitions seem ok.

/dev/sda1	   1	     13	    102400		   7	   System Reserved HPFS/NTFS
/dev/sda2	   13	    13068	 1048865262	7	   HPFS/NTFS
/dev/sda3	   13069	 60801	 383415322	 5	   HPFS/NTFS
/dev/sda5	   13069	 26136	 104968678	 7	   Extended
/dev/sda6	   26137	 59756	 270052618	 83	  Linux
/dev/sda7	   59757	 60801	 8393931	   82	  Linux Swap

I reformated my sda6 partition of FC12, inorder to install FC19, when the failure took place

File "/usr/lib64/python2.7/site-packages/pyanaconda/bootloader.py", line 1550, in install raise BootLoaderError("bootloader install failed")
BootLoaderError: bootloader install failed

Should I use

#grub2-install --force /dev/sda1 (This contains the Vista Boot loader)

OR

#grub2-install --force /dev/sda6 (My Linux / partition)

I would not want to blow up from Windows data/boot loader.

Comment 61 Chris Murphy 2013-12-03 19:30:38 UTC
The 2nd option, sda6. However, I'd like to know the output from:

parted -s /dev/sda u s p

Comment 62 philby john 2013-12-03 19:48:39 UTC
parted -s /dev/sda u s p
Model: ATA ST3500418AS (scsi)
Disk /dev/sda: 976773168s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start       End         Size        Type      File system     Flags
 1      2048s       206847s     204800s     primary   ntfs
 2      206896s     209937419s  209730524s  primary   ntfs
 3      209937420s  976768064s  766830645s  extended
 5      209937483s  419874839s  209937357s  logical   ntfs
 6      419874903s  959980139s  540105237s  logical   ext4            boot
 7      959980203s  976768064s  16787862s   logical   linux-swap(v1)

Comment 63 philby john 2013-12-03 19:53:11 UTC
I have moved back to FC18, (bootloader) installs fine; which means this could be a regression. Cannot use FC19 for further tests, sorry.

Comment 64 Fernando Lopes 2013-12-06 09:44:42 UTC
I've been trying to install fedora from a pen drive, but it wouldn't allow me to select the packages from the pen drive, so I selected the intallation from network. I left the computer installing fedora yesterday and today a window suggesting the bug report was opened.

cmdline:        /usr/bin/python  /sbin/anaconda
cmdline_file:   initrd=initrd.img inst.stage2=hd:LABEL=LIVE xdriver=vesa nomodeset quiet BOOT_IMAGE=vmlinuz 
hashmarkername: anaconda
kernel:         3.9.5-301.fc19.x86_64
package:        anaconda-19.30.13-1
product:        Fedora
reason:         BootLoaderError: bootloader install failed
release:        Cannot get release name.
version:        19

Comment 65 lazeroptyx 2014-01-05 18:57:48 UTC
Created attachment 915832 [details]
Comment

(This comment was longer than 65,535 characters and has been moved to an attachment by Red Hat Bugzilla).

Comment 66 Chris Murphy 2014-01-05 20:55:07 UTC
(In reply to lazeroptyx from comment #65)

'ID_PART_ENTRY_OFFSET': '32',

The first partition appears to start only 32 sectors from the beginning which isn't enough room for grub to be embedded in the MBR gap. The solution is to delete all partitions, or wipefs -a /dev/sdg in this case. The new partition sdg1 will start at offset 2048 which permits grub to be installed

Comment 67 mohammad 2014-01-16 13:25:28 UTC
i was installing fedora in my external hard disk & all thing was ok but after installing proccess while post-installation is accure this error shown:

grub2-bios-setup:will not proceed with  blocklists   

cmdline:        /usr/bin/python  /sbin/anaconda --liveinst --method=livecd:///dev/mapper/live-osimg-min --lang en_US.UTF-8
cmdline_file:   initrd=initrd0.img root=live:LABEL=PENDRIVE rootfstype=auto ro rd.live.image quiet  rhgb rd.luks=0 rd.md=0 rd.dm=0  BOOT_IMAGE=vmlinuz0 
hashmarkername: anaconda
kernel:         3.9.5-301.fc19.i686
other involved packages: python-libs-2.7.5-1.fc19.i686
package:        anaconda-19.30.13-1.fc19.i686
product:        Fedora
reason:         BootLoaderError: bootloader install failed
release:        Fedora release 19 (Schrödinger’s Cat)
version:        19

Comment 68 Philip 2014-03-29 14:21:51 UTC
Fedora installation fails to install GRUB on a disk with GPT partition table.
The installation starts normally but when "Installing bootloader" this error occurs.
It allows me to either file a bug report or quit.
NOTE: An error installing Grub should not be fatal, the remaining steps of the Fedora installation should still be performed!
In this case, I was going to install a separate Grub anyway (to chainload into Fedora or another OS).

Steps to reproduce:
1. Format hdd with GPT partition table.
2. Prepare partitions (see below).
3. Boot Fedora installer, manually select prepared partitions and set mountpoints.
4. Wait until it's trying to install Grub.

Partition setup:
sda1: (1 MB) BIOS
sda2: (500 MB) Primary Grub, installed separately, not mounted
sda3: (25 GB) OS partition (mountpoint: /)
sda4: (5 GB) swap
sda5: (20 GB) HOME partition (mountpoint: /home)

# parted /dev/sda unit B print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 53687091200B
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: pmbr_boot

Number  Start         End           Size          File system     Name  Flags
 1      1048576B      2097151B      1048576B
 2      2097152B      526385151B    524288000B    ext2
 3      526385152B    27369930751B  26843545600B  ext4
 4      27369930752B  32738639871B  5368709120B   linux-swap(v1)
 5      32738639872B  53686042623B  20947402752B  ext4


cmdline:        /usr/bin/python  /sbin/anaconda --liveinst --method=livecd:///dev/mapper/live-osimg-min --lang en_US.UTF-8
cmdline_file:   initrd=initrd0.img root=live:CDLABEL=Fedora-Live-XFCE-x86_64-19-1 rootfstype=auto ro rd.live.image quiet  rhgb rd.luks=0 rd.md=0 rd.dm=0  BOOT_IMAGE=vmlinuz0 
hashmarkername: anaconda
kernel:         3.9.5-301.fc19.x86_64
other involved packages: python-libs-2.7.5-1.fc19.x86_64
package:        anaconda-19.30.13-1.fc19.x86_64
product:        Fedora
reason:         BootLoaderError: bootloader install failed
release:        Fedora release 19 (Schrödinger’s Cat)
version:        19

Comment 69 Chris Murphy 2014-03-29 17:54:54 UTC
(In reply to Philip from comment #68)
parted is saying there is no flag set for sda1, it needs bios_grub flag set for grub2-install to use it, hence the likely reason for failure, although I'm not sure why anaconda/blivet aren't either setting bios_grub or complaining rather than failing. Might need a separate bug report if this is reproducible with Fedora 20.

Comment 70 Philip 2014-12-16 16:08:40 UTC
I just tried this with Fedora 21 (I installed a gpt partition table and prepared unformatted partitions, including the 1 MB BIOS boot partition, before starting the Fedora installation). Still the same error - the installer apparently didn't set the bios_grub flag and threw an error when installing grub. But there has been some improvement, because this error is not fatal anymore, it now has a "Continue" button, so the remaining steps of the installation are not skipped.

Then I tried the same thing again, but (when preparing the partitions) I set the bios_grub flag on that first 1 MB partition. The Fedora installer wants to reformat this partition, but the flag was not lost (I checked using parted during the installation). So it worked, the boot loader was installed properly and everything worked fine.

I think the Fedora installer should set the bios_grub flag on that first partition (especially since the user selects "reformat" as "BIOS boot"). Also, the error message could probably show the grub error rather than an unspecific error message.
If this is is not a known issue, I could also open a new bug report for this?

Comment 71 Chris Murphy 2014-12-16 17:46:41 UTC
(In reply to Philip from comment #70)
You've commented in the wrong bug. This bug is related to MBR not GPT. Please open a new bug and attached the logs found in /tmp while still booted with the installer media. And cc me on the bug. I tested GPT and bios_boot creation at some point during prerelease testing and it worked, so I'm not sure why it wouldn't work for final release.

Comment 72 Fedora End Of Life 2015-01-09 19:00:33 UTC
This message is a notice that Fedora 19 is now at end of life. Fedora 
has stopped maintaining and issuing updates for Fedora 19. It is 
Fedora's policy to close all bug reports from releases that are no 
longer maintained. Approximately 4 (four) weeks from now this bug will
be closed as EOL if it remains open with a Fedora 'version' of '19'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 19 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 73 Fedora End Of Life 2015-02-17 16:15:30 UTC
Fedora 19 changed to end-of-life (EOL) status on 2015-01-06. Fedora 19 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.