Fedora 31 does not boot. Centos 6 does boot

I have a laptop Acer Aspire S5-371 series with Windows 10 home. I cannot reformat it because I need it for school. The school is very Microsoft centric. So I bought external USB 240GB SSD, Transcend TS240GESD250C, to install Fedora 31 on it.

Created the Fedora 31 Live USB. The laptop can see the live USB and boots into the Fedora 31 Live. Then I plugged in the external USB SSD drive. Fedora 31 Live sees it. Then I proceeded to install Fedora 31 onto the external USB SSD drive. The install was successful.

Restarted the laptop, when to the boot menu of the bios and the external USB SSD drive does not appear for boot. Then I booted into windows and went into the advance startup setting and selected the usb boot. But that too failed. Just does not boot up.

Next I tried to install Centos 8 on the external USB SSD. Install was successful. Restarted the laptop and Centos 8 boots up! So there is nothing wrong with the laptop and the external USB SSD.

Then I tried and installed Fedora 28 because I read somewhere Centos 8 was based on Fedora 28. After installing Fedora 28 on the external USB SSD, it does not bootup. Fail. :frowning:

Why does Centos 8 work and not Fedora 31 does not work?

I really like using Fedora. I have been using it for years. I think about ten years.
Is there anyway to get Fedora 31 to bootup on my laptop Acer Aspire S5-371 series using an external USB SSD?

Welcome to the community!

I would check on the pertinent differences between Fedora and Centos. Things you could check:

  1. Does Centos use the same multiboot manager? I believe F uses grub2.
  2. Does Centos use the same partitioning scheme and file system? I believe F switched to lvm and not sure about the filesystem. I usually change to ext4.
  3. Although Centos boots, you still might want to have a look at your bios options, just to be sure nothing is in the way of booting your external USB. Probably not.

If this leads to a difference, you might want to focus on that to find the culprit. Add the data here so someone more knowledgeable than I can help you further.

I have been using in-place upgrade for a while now and my machine is fedora only, so no multiboot issues.

EDIT: if your laptop permits, maybe you could add an internal disk (ssd or harddisk). That might make things easier. Try it on a used harddisk first, so you don’t spend money for nothing.

Centos also uses grub2 too.

Centos also uses the same partitioning scheme and file system. I tried both the default lvm and ext4 on Fedora but both does not work.

So far nothing that I can see is blocking the external USB. Centos is booting fine from the same external ssd drive. Very strange problem. :frowning:

Unfortunately I still need the windows for class. :frowning:
I was hoping that an external drive would make things simpler.
I really hope someone can help.

Yeah, I understood that. I meant an extra disk. Often ssd’s are pretty thin and you can even attach it to some double sided tape, provided you do have the extra connection you need for the ssd.

Sorry I can’t help you more.

I’d like to point out that CentOS is not directly related to Fedora (Though they may share some sources, I’m not really sure). CentOS’s primary goal is to be a community compiled distribution based primarily on the Red Hat sources to ensure compatibility with software designed for RHEL. While the Red Hat sources they use are themselves downstream from Fedora (That’s an oversimplification, but not completely inaccurate so I’m sticking with it), keep in mind that what Fedora is doing won’t necessarily be reflected by RHEL, and therefore CentOS.
This is simply from my understanding of these distros, but it’s good to be aware of it to prevent confusion.

That said, I’ve had some bizarre issues with Fedora’s implementation of GRUB and systems using UEFI. If you have UEFI enabled in your BIOS, have you tried enabling/disabling CSM, or disabling it all together? Be aware that completely enabling/disabling UEFI may break Windows (CSM is usually fine… usually…).

You could also try manually formatting the drive during installation to include the correct boot partitioning for either efi or bios boot, depending on what you want.

GRUB - ArchWiki :

" Tip: If you use the option --removable then GRUB will be installed to esp/EFI/BOOT/BOOTX64.EFI (or esp/EFI/BOOT/BOOTIA32.EFI for the i386-efi target) and you will have the additional ability of being able to boot from the drive in case EFI variables are reset or you move the drive to another computer. Usually you can do this by selecting the drive itself similar to how you would using BIOS. If dual booting with Windows, be aware Windows usually places an EFI executable there, but its only purpose is to recreate the UEFI boot entry for Windows."?

Good Luck!

Thank you all for the help. You all have helped me solve the problem. Yahoooooo!

The key clue was from @vits95 and the archlinux documentation he sent.
Here is the key point from the link:

Default/fallback boot path

Some UEFI firmwares require a bootable file at a known location before they will show UEFI NVRAM boot entries. If this is the case, grub-install will claim efibootmgr has added an entry to boot GRUB, however the entry will not show up in the VisualBIOS boot order selector. The solution is to install GRUB at the default/fallback boot path:

# grub-install --target=x86_64-efi --efi-directory=esp --removable

Alternatively you can move an already installed GRUB EFI executable to the default/fallback path:

# mv esp/EFI/grub esp/EFI/BOOT
# mv esp/EFI/BOOT/grubx64.efi esp/EFI/BOOT/BOOTX64.EFI

So it must be my old laptop UEFI firmware. So here is the final solution that worked.

Bootup the laptop using the live USB.
Once booted up insert the external USB SSD.
Install the Fedora 31 as per normal into the external USB SSD
Once the installation is done, mount the EFI partition.
Go into the EFI directory.
There should be two directories. BOOT and fedora.

# mv BOOT BOOT.org
# cp -a fedora BOOT
# cp -a BOOT.org/* BOOT/

After that shutdown the laptop. Then startup the laptop. Use the bios boot menu and choose the external USB SSD.

It works beautifully.

Thanks again to all you who have replied. You all have really helped me. Thanks again.

In your reply you get these bold extra large characters probably because you use # in your text. If you precede these # by 4 spaces, the markdown is no longer considered a header and will display normally. Probably using either a backtick around a one-liner or 3 backtics around multiliners will get the same result. You use backtics to indicate the code is to be displayed as-is, no rendition.

Thank you for the tip. I have edited the post with four spaces before the hex.

Please, see your post #7, it is a little bit messy now :slight_smile:
(be careful when paste there he-he).

See the asterisks?


Thank you for formatting the code text.
My bad. Did not notice all that before.

Deleted: There was proposal for reformatting.

Thanks again for helping.

@vits95 Don’t delete your post, just replace it by a one line summary or something. Otherwise the discussion gets really weird (pvanthony talking to himself). Same goes for the other deleted post.

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.