Can't boot anymore

Hi everyone, I have a PC with a dual boot windows-manjaro on it. Yesterday I installed, on an external disk, Ubuntu. Everything worked fine, I could boot on all three OSs, and if I unplugged the external disk Manjaro grub simply appeared. Today, instead, my PC doesn’t see the mounting point anymore both for Windows and Linux, but I don’t understand why, I didn’t touch anything. Could you please help me? I still have all of my data on both of the partitions and I really wouldn’t like to reset everything. Is there a way to restore the mounting points and boot them again?

EDIT:
I just found out the boot partition is empty. Is there a way to recreate it for both windows and manjaro without reinstalling the whole systems?

Easiest way to get back to where you started:

  • unplug external ubuntu
  • boot live usb
  • chroot into manjaro
  • reinstall grub

Keep in mind that dual/multi booting manjaro with other linux OS will raise an issue. Search the forum for for ‘dual booting manjaro linux ubuntu mint’.

In short, if another linux is added after manjaro is installed the grub of the new OS will not be able to boot manjaro. In order to fix this the manjaro bootloader needs to be reinstalled, or in simple terms: the manjaro grub needs to be ‘in charge’ of the booting when dual/multi booting systems with other linux distros.

Probably the installer of ubuntu saw that there was no ESP partition on the external disk and decided to create one there. And since it is brand new there is only ubuntu boot file on it. Windows and manjaro bootloaders are on the hard drive.
This might (will) help - do it with the external disk disconnected, as 6x12 already said. And sudo update-grub at the end.

1 Like

Thank you for your replies. I managed to recreate efi partition, so now Windows works. I tried reinstalling grub on Manjaro following the guide @Teo provided and after some attempts, I got a success message. Everything looked fine but if I try to book Manjaro (now UEFI sees it) I get stuck on the grub command line. What did I do wrong?

Boot up from the live USB and chroot into your installation. Then run… :point_down:

update-grub

Just tried, I got the error:
/usr/bin/grub-probe: error: cannot find a device for / (is /dev mounted?)

How did you chroot?

sudo su
mount /dev/sda4 /mnt
chroot /mnt

That is the wrong way to do it. First, exit the chroot environment you’re in by typing exit or pressing Ctrl+D. Then, with the terminal window still open and logged in as root (via sudo -i), issue the following command… :point_down:

manjaro-chroot -a

This will mount all that’s necessary — your EFI partition, /dev, /proc, /sys, and so on. Then make sure that the following line in /etc/default/grub is not commented out — i.e. it must not have a “#” in front of it… :point_down:

GRUB_DISABLE_OS_PROBER=false

If you need to edit it, open it with nano, like so… :point_down:

nano /etc/default/grub

Also make sure that GRUB_TIMEOUT_STYLE is set to menu.

Save the file with Ctrl+O followed by Y, followed by Ctrl+X.

Now run… :point_down:

update-grub

It will properly configure the GRUB menu and will also add Windows to it.

I think I need a manjaro live usb for that command, right? I’m on a ubuntu live usb right now

Yes, of course. manjaro-chroot is a Manjaro-specific tool only, and it’s included in our live ISOs.

Ok I tried to do update-grub with manjaro-chroot but I’m still stuck on the grub command line

What is the error message you’re getting? Be precise, and write it down if you have to. It’s important.

This is what I did:

manjaro-chroot -a                                               
grub-probe: error: cannot find a GRUB drive for /dev/sdc1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdc1.  Check your device.map.
==> Mounting (ManjaroLinux) [/dev/sda4]
 --> mount: [/mnt]
 --> mount: [/mnt/boot/efi]
mount: /mnt/boot/efi: special device /dev/disk/by-uuid/04BA-87DD does not exist.
       dmesg(1) may have more information after failed mount system call.

update-grub
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-6.5-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-6.5-x86_64.img
Found initrd fallback image: /boot/initramfs-6.5-x86_64-fallback.img
Found linux image: /boot/vmlinuz-6.1-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-6.1-x86_64.img
Found initrd fallback image: /boot/initramfs-6.1-x86_64-fallback.img
Found linux image: /boot/vmlinuz-5.15-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.15-x86_64.img
Found initrd fallback image: /boot/initramfs-5.15-x86_64-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
ERROR: mkdir /var/lock/dmraid
grub-probe: error: cannot find a GRUB drive for /dev/sdc1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdc1.  Check your device.map.
Adding boot menu entry for UEFI Firmware Settings ...
Root filesystem isn't btrfs
If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
Found memtest86+ image: /boot/memtest86+/memtest.bin
done


I checked the /etc/default/grub file is as you said and it is

It would appear that the UUID for your EFI partition is incorrect. Use… :point_down:

lsblk -o NAME,FSTYPE,UUID

… to list all of your partitions and their UUIDs. Then make sure your /etc/fstab points at the correct UUIDs as well for each of your filesystems.

Once you have the correct UUID for your EFI partition, mount it at /boot/efi and run… :point_down:

grub-install --recheck
update-grub
1 Like

It worked!! Thank you so much for your help, I really appreciated it!

1 Like

This topic was automatically closed 3 hours after the last reply. New replies are no longer allowed.