System will not boot error message during Fedora 40 installation

On a Lenovo desktop (legacy BIOS), I want to install Fedora 40 on the free space on the SSD drive. Several Linux distributions and Windows are installed on the machine. After selecting automatic partitioning during the installation, after installing the software, I receive the error message in the topic title. The same is true for manual partitioning. What is the solution?

I would guess the (Legacy BIOS) may be the clue since you state Several Linux distributions and Windows are installed.

Legacy bios uses the MBR for booting and even with the newer OSes which require additional space for the mbr must have a 1MB bios boot partition at the very beginning of the boot drive for that larger MBR record. Even then the original (512 byte) MBR and the added BIOS BOOT partition there is only 1.5MB of space for the bios boot record.

  1. Do you have that 1MB bios boot partition at the beginning of the drive?
  2. how many actual OSes are installed?
  3. how are the partitions configured for everything already installed?
  4. what windows version is installed?
  5. how large is the space allocated for fedora to install?
  6. Is the bios actually legacy or is it the uefi bios configured to boot csm/legacy mode?
1 Like
  1. At the beginning of the disk I see a bootable partition of size 47 M.
  2. There are currently four OSes installed. (Windows 10 and three Linux distributions)
  3. There are three primary partitions and one extended partition with logical partitions on it.
  4. Windows 11
  5. 30 GB
  6. csm enabled auto, legacy first

Booting fedora in legacy mode seems to require that the disk be partitioned as GPT so the extended bios boot partition may be created. Yours appears to be partitioned as MBR (microsoft).

Thus I don’t think it will be possible to install fedora on that drive for bare-bones booting without changing its partitioning and completely reinstalling all the existing OSes.

It may be possible to create a VM within one of those OSes and install fedora into that VM, which would provide almost the same environment.

For more detailed information about the drive please post the output of both sudo fdisk -l and lsblk -f when booted into one of the linux OSes.

sudo fdisk -l

/dev/sda1  *                63     96389     96327    47M  7 HPFS/NTFS/exFAT
/dev/sda2                96390 233392319 233295930 111,2G  7 HPFS/NTFS/exFAT
/dev/sda3            233394176 643303423 409909248 195,5G  5 Kiterjesztett
/dev/sda4            643303424 937701375 294397952 140,4G 83 Linux
/dev/sda5            233396224 398180351 164784128  78,6G 83 Linux
/dev/sda6            398182400 439363583  41181184  19,6G 82 Linux lapozó / Solaris
/dev/sda7            439365632 581306367 141940736  67,7G 83 Linux

lsblk -f

NAME FSTYPE FSVER LABEL                        UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                                                
├─sda1
│    ntfs         System Reserved 92E6260FE625F45F                                    
├─sda2
│    ntfs                                      FAF026A7F0266A59                                    
├─sda3
│                                                                                                  
├─sda4
│    ext4   1.0                                566e5a1c-2eee-4b17-9c40-02fb2ef61614                
├─sda5
│    ext4   1.0                                332623f8-44c4-4080-a295-afa8fe9a0f46                
├─sda6
│    swap   1                                  c38a146b-cc04-420a-a8bc-3893b9eb4020                [SWAP]
└─sda7
     ext4   1.0                                4404304a-b754-42c2-a1fb-3232a078e8e8   28,4G    52% /
sr0                                     

It is interesting because even Arch Linux and openSUSE Tumbleweed could be installed on this MBR system, which, as you know, are rolling releases. For this reason, I will not reinstall all the OS. I have a laptop that is GPT system, I am trying to install Fedora on it.

In the meantime, I read up on the topic a bit. MBR-based installation is not possible after Fedora 36. I tried to install Fedora 36 but I got the same error message that the system will not boot whether I continue or not. I was able to install Fedora 40 on my laptop because it has GPT.

When the MBR record became too large to fit into the default disk (512 byte) MBR space it was necessary to add additional space for the boot record, thus the necessity of a bios boot partition (1MB) immediately following the disk MBR space.

What follows from this? So far, I have installed several Linux distributions in parallel on one disk with multiboot in MBR mode, so far the default size was still enough. I’m interested in which Fedora release I need to go back to, where I can install Fedora alongside the other systems.

  1. You obviously cannot install fedora on that same drive without reinstalling all the other OSes to meet the needs of fedora.
  2. There seem several ways to move forward.
    a. reinstall everything to meed the needs of fedora.
    b. add an additional drive to use for installing fedora: then deal with the hassle of booting in csm mode from more than one drive – probably selecting the drive for booting from within bios.
    c. install fedora on a different machine.
    d. give up on using MBR boot and switch to using UEFI which would allow booting of all the different OSes on a single drive (and would also involve reinstalling of everything)
    e. There may be other options but I have no time to go down that rabbit hole.

Although Fedora will format a new disk with a GPT partition table, it will install find on a pre-existing DOS (aka MBR) partition table, provided that there is enough room between the start of the disk and the start for the first partition. Current default is to align partitions on a 1 Mib boundary which makes the first partition start on sector 2048. The grub loader will then install itself in that space. However, if your first partition is aligned on a cylinder boundary, the first partition will start at sector 63, which is bad for two reasons. 1) As each read and write occurs on multible 4096 byte block, you get serious mis-alligned IO to the disk, slowing it down. 2) There will not be room for grub to be installed before the start of the first partition.

You could configure the SUSE loader to load the fedora system as long as you don’t attemt to install the Fedora loader.

This takes me much further in the solution, thank you. Apparently, I also thought of starting Fedora with openSUSE’s grub. The problem is that os prober doesn’t find the Fedora installation, so if I go ahead and complete the Fedora installation despite the bootable error message. Arch Linux and Linux Mint are similar. The question arises, how can you force the anaconda installer to not install a bootloader, or to install it at the top of the Fedora partition? I’ve only seen this last solution when installing openSUSE Tumbleweed so far, there was no such option when installing other distributions.

I classical bios boot you can have only one boot loader as it is stored in the first sector of the disk unit so if you did install Fedora grub, you no longer have a SUSE grub.

You can edit the grub.cfg with and see how the menu entries look like for the SUSE OS. Then create additional entries for Fedora pointing to the vmlinuz and initrd. Use the search grub command to locate the file system where these are.

You can add those lines to /etc/grub.d/40_custom to prevent the lines from disappearing when you upgrade the SUSE system.

The point is that openSUSE Tumbleweed is already installed together with EndeavorOS and Linux Mint. I am currently using grub installed by EndeavorOS as my bootloader. When I installed Fedora Linux on an empty disk space, the anaconda installer cannot install grub at the end of the process because the MBR is smaller than required. This was not a problem with other Linux distributions. However, the anaconda installer cannot be asked not to install a bootloader. However, if I ignore the error message, the Arch Linux os prober, the openSUSE os prober, or the Linux Mint os prober cannot find installed Fedora Linux. So the solution will be to add Fedora Linux to the EndeavorOS grub menu individually, which is a bit fiddlier.