Grub not working after windows reinstall

I used to have windows and zorin dual boot (separate drives). First windows then zorin installed so GRUB was working fine. Recently I reinstalled the windows on the second drive and grub doesn't work any more. System directly boots into Windows.

I have used boot repair utility from a live usb but that didn't work.
This is the error I got.
An error occurred during the repair.
Error: no grub*.efi generated for Zorin OS 16.3 (16). Please report this message to

A new file (/var/log/boot-repair/20230818_064318/Boot-Info_20230818_0643.txt) will open in your text viewer.

In case you still experience boot problem, indicate its content to:

You can now reboot your computer.
Please do not forget to make your UEFI firmware boot on the Zorin OS 16.3 (16) entry (nvme0n1p1 file) !
If your computer reboots directly into Windows, try to change the boot order in your UEFI firmware.
If your UEFI firmware does not allow to change the boot order, change the default boot entry of the Windows bootloader.

Easiest solution that has worked for me in the past is to insert a live installation USB with the version of Zorin you have as if you were doing a new install.

Then, load the images as if you were testing it out. Look for the “boot repair” app on the live USB and run it.

Hopefully you have backups already.

Best of luck.

I tried running it but it didn't work, I had included the error in the reply.

Can you please try the steps outlined here:

Please pay careful attention to your /dev/ partition locations.

It's giving me an error.

From blkid I was able to find out that the EFI directory is on the windows drive.

So should I do grub install on that drive to replace the windows bootloader?

You should have an EFI Partition that is separate from Windows and Linux (Zorin OS).
Can you check your partitions and see if the EFI partition was removed and Windows placed the EFI file on its Own Partition?

I don't understand. Could you explain?
The EFI partition is on the windows drive. But it is separate from windows and linux.
Linux is on nvme1n1. Windows and the EFI partition is on nvme0n1. I had shared the output of blkid.

1 Like

Ah, I misunderstood you.
Yes, if using the guide linked above, point toward the EFI partition ID'd on the Windows nvme0n1.

Do I need to unbind the old mounts or something, before I do that?

If it was me, I would exit out of the current process and reboot the LiveUSb and get a Fully Fresh start. This can ensure following each step, avoiding confusion and any conflicts.

Got it. I'll restart and try again.

I'm getting a new error now.

In terminal, run

sudo mkdir -p /mnt/boot/efi

sudo mount /dev/nvme0n1p1 /mnt/boot/efi

sudo grub-install --boot-directory=/mnt/boot /dev/sda3

Getting another error now. sda is the thumb drive btw.

Is this a 32bit machine?

I used super grub2disk to boot into my zorin install. Is there any way to fix the grub bootloader using that?

No. 64bit. It's a Ryzen 5 5500U laptop.

What an odd thing to see... I have never seen it switch to i386 platform before.

I have never used Super Grub2disk... But you might.
A guide may help:

I just searched and grabbed for first one I saw. You might search and select a better guide. You are clearly competent and you likely know about Super Grub2Disk better than I do.

I always did things the old fashioned way.

Push comes to shove - since you have full access to your Zorin Drive, you may back up all personal data and perform a Reinstall of Zorin OS alongside Windows as a clar cut method.
I do not know if you have a lot of personal data to have to back up.