1

I've installed Linux mint today alongside my Windows 10 installation. Setup is like this:

  • 1st Drive SSD: Windows 10 (MBR)
  • 2nd Drive: Some data (MBR)
  • 3rd Drive: Some more data (MBR)
  • 4th Drive: Backup of previous drives and a separate partition where I've installed mint. (GPT, since it's a large drive)

Boot is not UEFI but standard (though BIOS allows UEFI, Windows and Mint are installed the standard way). Installation went flawlessly, after reboot, grub appeared with options to boot Mint, memtest and Windows 10, i continued to boot into Mint. Performed system update and, here when it gets weird.

Upon reboot, i get dropped to grub rescue shell with message:

error: no such device: {UUID}
error: unknown filesystem

When i issue "ls" i only get

(hd0)

I rebooted into Live USB again, checked that UUID hasen't been changed or something else, but everything seems fine. I mounted the root partition, checked grub.cfg and there is "insmod part_gpt" present, so it should load gpt module.

I've rebooted and grub appeared again.

NOW, here is where it gets MORE weird! Once i boot ANY OS from grub, it will boot fine, but once i reboot, i get stuck at same error as before with same behaviour. And only way for me to get back regular grub is to boot live usb and then reboot (literally nothing else) and it will prompt me for my installation grub with Mint and Windows and memtest etc. Tried it couple of times, either by booting into mint or windows, whenever i reboot, i get stuck and i have to perform mentioned workaround.

When i managed to get my grub back after rebooting from LIVE, i entered grub console and issued 'ls', i could see all my drives and partitions.

(hd0) (hd1) (hd2) (hd3) (hd3,gpt3) (hd3,gpt2) (hd3,gpt1) (hd4)

(Maybe it showed more because i still had flash drive inserted).

Steps I've tried to resolve the issue(without gain):

    1. grub-install /dev/sda (since it's first drive, guessing that where it needs bootloader to be) from Live USB Outcome: fails because it had issues with "/cow" path (can't remember the exact error message, I'm writing by memory, i can add if needed when i get back home)
    1. grub-install /dev/sda from Mint once rebooted from Live USB Outcome: successful install without error messages, issued update-grub afterwards
    1. grub-probe, it showed me that boot is on /dev/sdd (because boot partition technically is), so i tried "grub install /dev/sdd" Outcome: Error message that it cannot install grub on GPT partition without blacklists and it's not recommended.
    1. Tried to add "insmod part_gpt" to the very top of grub.cfg file Outcome: nothing. No change.

2 Answers 2

1

It looks like some of your disks aren't always getting detected in a reliable way. This suggests a possible hardware or firmware problem.

Check the health of your disks with Windows CrystalDiskInfo or Linux smartctl command. For example, to check disk /dev/sda:

smartctl -i -HA -l error -f brief /dev/sda

If all your disks are good, see if your BIOS settings allow adding a short delay in the boot process, to allow your disks more time to spin up/reset before the BIOS attempts to detect them.

4
  • I have HDD Sentinel installed on Windows, it's not reporting any errors for any drives. First drive / SSD, where Windows (and bootloader) is installed is showing 94% health and has been for quite some time., showing Wear Leveling Count but I've read somewhere that it's normal for SSD's to show that May 30, 2019 at 9:17
  • Then check your BIOS for a boot delay option as I mentioned, and/or see if your system/motherboard vendor has any BIOS updates available. GRUB is getting its list of disks from the BIOS, and so it sees what BIOS sees. When GRUB's ls command displays only (hd0), it indicates BIOS has managed to detect just one disk.
    – telcoM
    May 30, 2019 at 9:25
  • 1
    Ok, you were definitely onto something! I just pressed F8 to prompt me for boot menu, and it only showed SSD Drive (first one). I entered BIOS Setup and I actually forgot that I've enabled "Boot Drive Only" under Boot - > Fast Boot - > SATA Support. I've changed this to Hard Drive Only, rebooted and grub worked fine! I've enabled this long time ago because I didn't want bios to waste time detecting all drives. May 30, 2019 at 16:11
  • The standard way in UEFI machines is UEFI mode (and it has many advantages for dual-boot also). By choosing Legacy (absolutely not standard, it's there only for compatibility with older OSes) and changing those UEFI settings you ended up creating this problem for yourself and you can't blame anybody else, the hardware or the OSes.
    – user353477
    Jun 1, 2019 at 10:07
1

This happened to me and like you, I was quite puzzled that it sometimes worked but most of the time didn't, until I realized that it started happening after I enabled Fast Boot on my BIOS.

To fix, disable Fast Boot in the BIOS settings for Boot/Startup.

If that still doesn't do it, it means that for some reason the disk is timing out (bad disk, or BIOS not waiting), not detected (external drive that is lacking enough USB power).

In the case where it times out, some BIOS have a setting to specify the type of SATA drive, specifically whether it is HDD/SSD and whether it has spin-up time or not. Setting Type=HDD and spin-up=True should tell the BIOS to wait long enough to detect it.

1
  • Yup. Thanks for posting it as an answer, i completely forgot :) Sep 12, 2022 at 17:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .