Grub rescue

Hi,

I don’ t know what happened, but my laptop did not awake from sleep.
It gave me a grub rescue. :sleepy:

Am i the only one today having this problem and what should i do?

Damn, it is my main machine …

Try this using configfile, and boot up in same mode (uefi or bios-legacy) as your installed OS.
Remember when booted to your installed Manjaro,

sudo grub-install /dev/sda
sudo update-grub

Hi,

I have to download a fresh iso first.
Type c, before booting and do this?

grub> search -f /boot/intel-ucode.img --set=root
grub> configfile /boot/grub/grub.cfg

Btw, do i need the 17.0.1 iso?
Since 17.0.6 is the present one.

Well? Wake up!! :grinning:

Yes.

No.
The 17.0.6 is fine.

Hey!! I need to take the dog for a walk too and drink some coffee.
Sorry, he takes priority. :grin:

Good luck.

2 Likes

True!! Spot rules! :grin:

1 Like

When entering the first line and doing return I get this line…

Error: no such device: /boot/intel-ucode.img

Same thing with /EFI/Manjaro/grubx64.efi --set=root

That’s bad.
Either you’ve removed intel-ucode (because you use amd not intel processors or for other reasons).
Never mind. Let’s find out where your Manjaro partition is and verify it.

At grub prompt (in the manjaro install media),

grub> ls

It should list all partitions : now, for example, if you think your Manjaro partition is (hd0,3), do

grub> ls (hd0,3)

then follow up with

grub> cat (hd0,3)/etc/lsb-release

to confirm printout of Manjaro OS.

Then continue

set root=(hd0,3)

Or whatever your manjaro partition is
Now, here I am assuming your /boot is in /root (no separate boot partition)_ if there is, yell, we’ll work out a separate command.

grub> configfile /boot/grub/grub.cfg

Now you should boot up to Manjaro.

When booted, do the grub-install and update-grub.

Good luck

[edit] If you have a separate /boot partition [1] , set root to that boot partition (say, hd0,2)) instead of root partition.
then use this command instead

grub> set root=(hd0,2)
grub> configfile /grub/grub.cfg

note - no /boot in configfile command

Good luck

[1] - if you have a separate boot partition,
search command should be (assuming you did not remove intel-ucode)

grub> search -f /intel-ucode.img --set=root
grub> configfile /grub/grub.cfg

Thanks so far, i’ll try that.
I have an intel cpu and did not remove the microcode.

Btw, gparted shows something odd.

This gave the same result. error: no such device

Yes, that’s unusual. Unless you know you had a sda1 before and now it disappeared, let us know what this sda1 is. the other partition (sda3?) - what is it?

Also can you let us know what you think causes this, other than the suspend and non-startup?

But if sda1 and sda3 are not relevant to your OS, continue to try out the configfile method.
Really wish you the best.

But seriously, it doesn’t look good.
I think you may have to redo your disk and start all over, but hope you do not have to.

I really don’t know what caused this, I suspended this laptop yesterday evening, as always and this came up this morning.
I think sda1 has been the efi boot section and sda3 swap.

grub> cat (hd0,3)/etc/lsb-release says

DISTRIB_ID ManjaroLinux
RELEASE=17.1-rc1 (???)
CODENMAME=Hakoila

Isn’t this what is on the stick? Since I had a 17.0.2 burned on it some time ago.

If this is the case, and efi is /boot/efi (not /boot) there is a slight possibility you can still boot Manjaro.
Use only configfile method. set root to (hd0,2) - sda2.
After booting (if it boots, you have to use a different method to ressurect yoour system.
I’ll continue next post as not to hold you back.

Oh yeah… at configfile when (ifI your manjaro grub appears, remove the resume=UUID+XXXXXXXXXX to boot up. Otheriwse it won’t boot (swap is destroyed).

Look.

grub> ls
grub> ls (hd0,2)
grub> cat (hd0,2)/etc/lsb-release
grub> set root=(hd0,2)
grub> configfile /boot/grub/grub.cfg

When (if ) manjaro grub.cfg appears…
press ‘e’ and remove at linux line “resume=UUID=xxxxxxxxxxxxxxxxxxxx” and remove ‘quiet’ and 'splash’
F10 to boot.

When (if) Manjaro boots,

  1. go to gparted and recreated sda1 in fat32 format and recreate sda3 as swap.
  2. create in fstab new entries for /boot/efi using new UUID
  3. create in fstab swap using new UUID for swap
  4. At manjaro terminal…
    sudo mount /dev/sda1 /boot/efi
    sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck --debug
    sudo update-grub

Rushing this out. I 'll check any syntax errors at commands -Other spelling mistakes I won’t. But I think it’s alright.

Okay, saw your screen shot.
Always verifyy with ls (hdx,y) and cat (hdx,y)/etc/lsb-release.

In the screen shot’s case . use (hd1,2)

grub> set root=(hd1,2)

Yes, but isn’t this the info from the iso file on the stick instead my SSD?

In this case (very common, BTW), what the bios sees as hd0 is your install media and hd1 as your internal disk. So always use what the bios sees, not what you think it is., so use hd1 for your internal disk.
hd1,2 is correct .
Repeat - Use what the bios sees, in this case, hd1,2

And that is why we always need to verify with ls and cat (hdx,y) whenever we boot up, each time.

hd1, msdos2?

Yes!!! Correct.

Reminder, if you reboot, always verify again.