Grub Rescue after windows 10 1803 update


I have two os: windows 10 and manjaro.
Kernel: 4.14.53-1, gnome

I updated my windows to 1803 and it changed my grub into grub rescue mode (unknown filesystem), i managed to get into Manjaro by using the followings in the grub rescue command:
$ set boot=(hd0,gpt7)
$ set prefix=(hd0,gpt7)/boot/grub
$insmod normal

But, I have to do this every time, which is annoying.

My device is nvme0n1, here are the main partitions:
/dev/nvme0n1p6 ------- vfat, mount point /boot/efi
/dev/nvme0n1p7 ------- ext4, mount point /
In addition, I type ‘fdisk -l’, and I found that it seems the windows changed nvme0n1p6 filesystem into Microsoft basic data. I think this is the problem why it keeps popping unknown filesystem in grub rescue.

Here are the following ways I tried, but none of them work:

  1. (For UEFI)
  2. (For BIOS)
    In addition, I used nvme0n1 instead of sda in these method. No errors showed either grub-install and update-grub.

It still keeps popping grub rescue (unknown filesystem).

Thank you for reading

I think your system should be uefi/gpt (both for windows and Manjaro).

Look at this first post here and read completely.

Don’t forget to do the [Additiona UEFI commands] at step 6. In your case, it is

sudo grub-install
sudo update-grub
sudo cp /boot/grub/x86_64-efi/core.efi /boot/efi/EFI/boot/bootx64.efi
sudo efibootmgr -c -d /dev/nvme0n1 -p 6 -L "manjaro" -l "\EFI\Manjaro\grubx64.efi"

Good luck.

ps: Good to check at terminal
findmnt /boot/efi
that it gives /dev/nvme0n1p6
since you said…“seems the windows changed nvme0n1p6 filesystem into Microsoft basic data”.
What is the $esp for windows after update? Is it still nvme0n1p6?

1 Like

OK, i will try this.

the boot partition for windows, which is windows manager, it is in nvme0n1p2

pls post output of

$ efibootmgr -v

BootCurrent: 0001
Timeout: 2 seconds
BootOrder: 0001,0000
Boot0000* Windows Boot Manager HD(2,GPT,f94fff9e-bd33-45ed-8274-bc061d844503,0x1770800,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS…x…B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.}…
Boot0001* UEFI OS HD(6,GPT,f337c3a6-b0d8-4c03-a1e4-a7d2e990ea78,0xdfaa800,0x64000)/File(\EFI\BOOT\BOOTX64.EFI)…BO

Was it previously nvme0n1p6? (for windows).
And does your system boot windows okay after update?

Good to have your output so we don’t have to ask so many questions.
sudo parted -l
sudo blkid

1 Like

for windows, it is always in nvme0n1p2, never in p6, windows always works fine even after update

I will try ur solution later,

thx for fast response!

Everytime you start windows it will probably add the last line to your bootsequence. I know that @gohlip is gonna hate me for that but it seems you need to set your Bootloader via bcdedit.
Boot into Windows, start a Superuser Powershell and type the following to find out your grub path.

$ mountvol s: /s
$ s:

examine this drive.
Both Win10 and Manjaro need to be in UEFI mode.

$ bcdedit /set '{bootmgr}' path \EFI\manjaro\grubx64.efi"

The manjaro directory could be also “Manjaro”. Bcdedit will tell you if it succeeded.

$ bcdedit /set '{bootmgr}' description "Manjaro"

reboot and reinstall and update grub.

Right. Now after doing the link commands, check with

The bootorder should list manjaro first.
If it does not, do

sudo efibootmgr -o xxxx,0001,0000

where xxxx is the manjaro bootentry, most likely 0002.

Do this only if you cannot use manjaro grub.
calvous is using microsoft bcd to boot linux and his computer is that microsoft computer Surface Pro. :rofl:. Ignore him for now. :laughing:

No, I don’t hate you. :slightly_smiling_face: Hating is for losers.
I’m pretty sure you even like me. I have no choice but to reciprocate. :grin:

I know that. My point is that Microsoft has it’s own vicious ways to push itself in the foreground. I just play along with that. If Win10 sees a BCD entry it will not do anything about it. Otherwise it thinks (and that is an interpretation in a good way) the system is compromised.

@skyman writing ahead, just in case our timezones do not sync well (or I’m out).

Haven’t seen your ‘parted -l’ output, but if commands done in link above still have issues and nvme0n1p6 still have flag ‘msftdata’ instead of ‘boot’ or ‘esp’, Do this command

sudo parted /dev/nvme0n1 set 6 boot on

Whoopsi! After rereading @skyman 's output of efibootmrg i think just correcting the boot order will work.

Wish it were so but not so easy, his manjaro efibootentry is missing.
Partition 6 is no longer flagged as ‘boot’ and his 0001 (partition 6 boot file) is ahead of windows 0000, yet it did not boot.
Maybe it is that easy, but we shall take no chances, shall we?

this is me not having my glasses on. Jepp, it does not say anything about Manjaro.

Excuses, excuses. :yum:
And stop calling me Jepp. :rofl:

Now I really have to like you :kissing_heart:

1 Like

6 120GB 120GB 210MB fat32 msftdata

nah, it still gives me grub rescue

Do you get a grub menu at all?