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.
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?
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.
" 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."?
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:
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.