MacOS and Mate Problem

I have Mate 20.1 installed on an external drive on a 2012 iMac and MacOS on the internal drive. Booting into Mate has been working fine until yesterday when I had to access my Mac's data. I updated my MacOS while there and now Mate will not boot. I get to terminal with a grub prompt and cannot go any further. Any suggestions?

@tomi, how are you trying to boot into MATE? When macOS updates it gets hold of boot loading and any previous boot loaders like grub or refind stop working. However, we can press and hold 'option' key to see other boot entries to choose from. If you are able to choose but somehow grub got corrupted, you can use liveusb to reinstall grub.

Booting while holding the option key and choosing EFIboot leads to the grub prompt. What does one do from there?

Liveusb appears to be a windows app so is not usable.

By liveusb I meant the installer medium of MATE, the one you used to install Ubuntu MATE (a CD or USB).

I follow the below method. If you are not comfortable with commandline and need graphical way of recovering, you may want to wait till somebody experienced with grub-recovery tools answers.

IMPORTANT: Any such recovery attempt is prone to mistakes and has potential to destroy data. Take care of hard drive naming to use command on right device.

Use the liveusb and when it prompts, choose 'Try Ubuntu MATE'. Once you are booted into live mode, open MATE Terminal from the menu and type lsblk. It will show harddisk layout something like this screenshot.

Note down drive naming for your external disk (on which you have linux).

I am assuming the following,

  • /dev/sdb is your linux harddisk
  • /dev/sdb1 is your EFI partition since you are on Mac
  • /dev/sdb2 is your root (OS) partition

With that assumption, type following in the terminal (hitting ENTER after each line),

  sudo mount /dev/sdb2 /mnt
  sudo mount /dev/sdb1 /mnt/boot/efi
  sudo mount -t proc /proc /mnt/proc
  sudo mount -o bind /dev /mnt/dev
  sudo mount -o bind /sys /mnt/sys
  sudo chroot /mnt
  update-grub
  grub-install
  exit

After this, you should be able to reboot and select Ubuntu MATE (press 'option' and select the EFI).

I could not make this work. I got all the way down to the grub-install step where I had to make a guess as to the device the command required. My guess was /dev/sdb2 which did something but still no boot.

You don't have to add anything to the grub-install. It will be like this,

sai@hirsute:~$ sudo grub-install 
Installing for x86_64-efi platform.
Installation finished. No error reported.

Or you probably mounted a wrong partition to /mnt (I put sdb2 as an example only). Can you check what does lsblk say?