Problem: When I boot my machine I get the error:

error: no such device: [Device address].
error: unknown filesystem.
Entering rescue mode...
grub rescue> _

Background information

I had Ubuntu installed on a HDD, I then added an SSD and installed Fedora 27 on the SSD before wiping the HDD. When I booted the system I always got the following error:

error: file '/boot/grub/i386-pc/normal.mod' not found. Entering rescue mode

The only way to boot the system was to enter my BIOS and choose to boot from the SSD. However setting the SSD as the top boot priortiy or disabling all other methods of booting resulted in dropping to the grub rescue prompt. I tried to fix my problem by running:

sudo grub2-install /dev/[my ssd]

This didn't resolve my issue so I also ran:

sudo grub2-install /dev/[my hdd]

After which I could only get as far as the grub rescue prompt. I followed instructions to get from grub rescue to grub and instruction in this answer but this made the problem worse. When booting from the grub rescue prompt and running ls (*[drive]*) I got no filesystem recognised on both hdd and sdd.

In the end I was able to repair my system back to the state that it started in, i.e. entering the boot list and manually selecting the correct drive to boot from, otherwise the computer goes to the grub rescue prompt.

Any suggestions as to what I can do to permanently fix this problem? Thanks.

System information:

OS: KDE spin Fedora 27 using LVM

Edit: Here's the output from fdisk -l /dev/[my SSD]

Device     Boot   Start       End   Sectors   Size Id Type
/dev/sdb1  *       2048   2099199   2097152     1G 83 Linux
/dev/sdb2       2099200 488396799 486297600 231.9G 8e Linux LVM
  • Sorry I cannot post a comment. Anyway, personally I need some more details to help you, for example the result of: sudo fdisk -l /dev/[your ssd] After those info I will change this answer – Cavva79 Jul 22 at 10:27
  • Here's the output from fdisk -l: Device Boot Start End Sectors Size Id Type /dev/sdb1 * 2048 2099199 2097152 1G 83 Linux /dev/sdb2 2099200 488396799 486297600 231.9G 8e Linux LVM – Bprodz Jul 22 at 10:32
  • I've now also added this info to the main question where I think it's easier to read.. – Bprodz Jul 22 at 10:34
  • Perfect, now cat /boot/grub/grub.cfg. Maybe you have still hdd reference on grub.cfg – Cavva79 Jul 22 at 10:39
  • Have you also tried sudo update-grub – Cavva79 Jul 22 at 10:41
up vote 2 down vote accepted
+50

I would suggest that what happened was:

  1. When you installed Ubuntu, it was in EFI mode, and your efi boot files on the HDD were (rightly) recognized by your motherboard as the next step in the boot process.
  2. You installed the SSD, and installed Fedora on it, but didn't install the grub boot sector on the ssd when it asked where to install grub at the end of the install process, after it ran os-probe.
    1. You wiped the HDD, so now when the computer boots, the mobo loads the efi.shim from it's chip, reads it, then looks for a file that doesn't exist, panics, and dumps you to the grub rescue prompt.
    2. You have to manually tell it where to look on the SSD to complete the loading chain.

There are two possible solutions I can think of:

  1. Physically remove the HDD, and re-install Fedora with just the SSD in the computer chassis. This will ensure that the bootloader doesn't have any choice BUT to load on the SSD and the motherboard record it properly.
  2. Use a live boot utility like the Boot-Repair-Disk from YannuBuntu specifically is used to repair EFI partitions and loading errors on dual boot systems.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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