Linux won't boot after Windows update

After a recent Windows update I get:

error: unknown filesystem.
Entering rescue mode…
grub rescue>

I have grub set up to boot either Manjaro or Windows from a single SSD.

I don’t know where to start.

This page is as good as any

3 Likes

Hi @ScooterKraig,

Windows updates are known to break Linux’ booting. I suspect the Grub boot loader needs to be restored. See:

Hope this helps!

2 Likes

Having each OS on it’s own separate disk is always the safest method to multiboot. Those using laptops (with only one disk) commonly fall into this trap, sooner or later.

I’d usually suggest booting into your BIOS to again choose the default boot loader. In the event that you can then only boot into Windows, I’ve recently started creating a guide that might help with that. It’s as yet unfinished, but you might yet find it useful:


[Multiboot] Recover from a Windows Boot Coup

Restore the missing GRUB2 Boot Menu after updating Windows, when each OS shares the same disk and ESP in a multiboot scenario.

GRUB2 can automatically detect another OS, if present, using os-prober (if installed). The Windows bootloader, however, isn’t quite as intelligent; and accidents happen.

In the case of a major Windows update it is possible that the Windows bootloader will override the GRUB2 bootloader and steal boot priority; the GRUB2 boot menu no longer appears, and the computer automatically boots into Windows instead.

Notice that the term I used was override and not overwrite.

The Manajro GRUB2 UEFI boot files remain on the EFI System Partition (ESP); Windows has merely stolen the default boot preference. This author has seen numerous claims that “Windows scrubbed my GRUB” and similar, but this is not necessarily true. The UEFI specification by design does not allow it.

If you are confident that you have found yourself in this predicament because Windows has hijacked the default boot priority, it’s possible to change the boot order from within Windows, without having to enter the BIOS or reinstall GRUB2 via the Manjaro Installer.

Change the GRUB2 boot order in Windows

1. Open an administrative command prompt

Elevated privileges are required to perform the following procedure. Find the Command Prompt menu item, or create a new shortcut to c:\windows\system32\cmd.exe, and choose to ‘Run as Administrator’.

2. Copy/paste the following command into the CMD window, and press Enter.

bcdedit /set {bootmgr} path \EFI\Manjaro\grubx64.efi

Note: Change the path accordingly if the Manjaro grubx64.efi exists in any directory other than the default \EFI\Manjaro\.

3. Reboot. The GRUB2 boot menu should once again reveal itself.


If this doesn’t produce results, the only option is then to restore the Grub 2 boot loader.

Good luck.

1 Like

Can you post the partitioning ?

The usual Windows delete UEFI entry of other OS. Sometimes I don’t even update the Windows system, and on reboot it doesn’t find GRUB, I need to resort to the USB stick with Manjaro on it to restore GRUB.

Basically from the live Manjaro USB (lines starting with # are comments):

# we chroot
manjaro-chroot -a

# we reinstal GRUB efi
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
# or GRUB mbr where /dev/sdy is the target
# grub-install --force --target=i386-pc --recheck --boot-directory=/boot /dev/sdy

# we update GRUB
grub-mkconfig -o /boot/grub/grub.cfg

# we exit chroot to unmount the system
exit

# we reboot
reboot

Or with a Manjaro USB, select the Detect Boot Loader entry and boot Manjaro from here (find it in the list), and reinstall GRUB from the real system instead of chroot.

And the final addition to everything said - it is not impossible, that secure boot got reenabled. Check the bios settings - secure boot off, pure efi instead of compatibility/csm, and ahci instead of for example raid0.

If the above - bios settings and reinstalling grub do not help, you have a more serious problem, like deleted or resized partition or similar.

Thanks for the help. It may be a few days until I can get back to this.