0

I have recently installed Fedora 30 using the default installation process, using a media drive to first try out a live version of the system and then installing to a drive. I have Ubuntu and Windows 10 installed since before on the system. My computer has three physical drives with a number of partitions across them. The problem is that Grub does not display the new Fedora installation at all.

I've tried a number of things to remedy this problem:

  1. In my BIOS settings the "UEFI BIOS boot option #1" is set to Fedora. This changes nothing, as Grub is started by default when I start up my machine.

  2. I've tried (after rebooting) using os-prober followed by update-grub. os-prober does not detect Fedora so it is not added to the list of boot options.

  3. Using "bootinfoscript" I've collected data on my partitions and confirmed that the Fedora installation is indeed there. Dump of its output here.

  4. Attempted using Grub-install to install grub on the physical drive (/dev/sdc)

  5. Tried simpler things such as making sure the drive was mounted and running update-grub after that, to no avail.

I'm aware my partitions and system is a bit of a mess, it's a result of me lacking knowledge on the topic and adding two more physical drives over the course of some years, while also adding more installs of operating systems.

My suspicion is that the issue might be related to UEFI, because I've noticed that my Ubuntu installation seems to boot in legacy BIOS mode, and it seems the Fedora installation has EFI files associated with it.

I feel like my knowledge on the topic is lacking and I'm not sure where to go from here. I would be happy to make sweeping changes to the setup I have currently. I'm also OK to not use Ubuntu anymore, as it is installed on an older and slow HDD. Windows 10 and Fedora is all I need going forward.

  • "happy to make sweeping changes" I think I can help you with that, at least concerning UEFI and GPT. That is what I suggest: switch to UEFI and use UEFI Shell as temporary boot loader. It will be no problem then to fix/install grub later into the EFI system partition. But of course it depends on a lot of things, especially what you want to do with your 3 disks (boot from them?). – rastafile Oct 13 '19 at 13:20
  • oh I see now dual boot Windows 10...but you could reinstall it, if it does not survive the sweep? – rastafile Oct 13 '19 at 13:26
  • Have you tried creating the entry for your OS in the grub config file ? I don't think new OSs get added when you install them. I suggest you look at the grub manual and look how to add an OS the grub list. – Heysus Escobar Oct 13 '19 at 13:43
  • @rastafile Since I have backups of my data, I could absolutely reformat one or more of my drives. Right now my third drive is essentially empty. Would it be enough to reformat it using UEFI and GPT, installing grub there and then setting it as the #1 boot option be enough? I could then create a partition for Fedora on the same drive. Assuming I will still be able to access Windows (installed on a different drive)? – fuddh Oct 13 '19 at 15:50
  • @fuddh I somehow missed that message when it came in - was too busy! And now I am going to bed in this timezone ;) Your idea sounds good so far. My centralized idea is to UEFI-boot to a boot loader on a EFI system partition which contains images and maybe other boot loaders for chain loading. And that sentence - I hope tomorrow still seems right. cu – rastafile Oct 13 '19 at 21:03
0

I found this line in the bootinfoscript output:

/dev/sdb7    *    308,977,664   310,026,239     1,048,576  ef EFI (FAT-12/16/32)

This is a EFI System type. But. It is on a MBR/dos labeled disk.

The bootinfoscript is very informative. You really have some boot loaders a bit everywhere. It should be fixable.

How exactly do you boot now, and what do you want for the futute?

Because with three separate Disks, and two OSs, and legacy and uefi bios and an existing dual boot: many possibilities. Even for the simple 1=win, 2=linux 3=data solution.

You should be able to start linux from any grub command line with the correct images and root. As from uefi shell.

If you UEFI boot into grub or uefi shell, and then start a kernel with a initrd from the same EFI-sp, you can have a busybox root=/dev/ram0 system without any real partition, just the 1 GB EFI system partition. What else you put on your three disks is...additional.

The hierarchy is:

BIOS legacy or uefi
   BOOTORDER (internal ones, external ones, uefi shell...)
      MENU bootloader  (or COMMAND uefi shell)

A uefi shell with scripts, and a bootloader with manual command line are very similar.


If everything is working (ie a correct uefi bios, no bad surprises), me personally would want it like this:

BIOS legacy (not used): boot windows from disk1, as before, via MBR

BIOS UEFI: three (or more) boot entries: for grub on disk2, one future on disk3, maybe plus a systemd-boot; and option "Uefi Shell" boot.

Bootloader MENU on disk2 (Linux disk): with one ore more entries for linux on same disk. This grub should also be able to boot windows on the dos disk1, and maybe chain-load disk3.

You can really build up a full circuit with all this. I hope you see the outline of what I mean. If not maybe try pen and paper. For me it is a bit too "far away".

  • Thanks for the help :) So if I set up my third drive using EFI and GPT with only the Fedora install on it, is it enough for me to set that drive as the #1 boot option to able to boot Fedora? If I then want to make sure I can boot Windows on my second drive later, would I need to make changes to that drive to make it work? – fuddh Oct 14 '19 at 19:41
  • I really can't guarantee for windows. It is on dos partition. You have uefi (activated?). I still do not know how you boot right now. Less what you want or what might be a problem in the future. – rastafile Oct 14 '19 at 20:26
  • With three separate disks you can use boot order in uefi or legacy to "switch", but this gets annoying, because you have to enter BIOS for each change. Like with CD-ROM inside, and it boots when you dont and dont when you do. boot loader is better. but it depends. not what you need, but what you want. – rastafile Oct 14 '19 at 20:28
  • If you install both Fedora and Windows in UEFI style, you will get boot entries in the firmware menus that identify the operating systems by name, i.e. "Fedora" and "Windows Boot Manager". When installing Windows, it will probably nudge itself as the default OS to boot, but it should not overwrite Fedora's entry unless the firmware's UEFI boot variable handling is buggy. Fedora's UEFI GRUB bootloader can also present a menu for choosing the OS to boot, and the bootloader installation process will auto-detect the Windows UEFI bootloader and add it to the menu automatically. – telcoM Oct 15 '19 at 11:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.