After Manjaro reboot the Windows bootmanager disappears (Dualboot)

Hello, that's my first manjaro experience and I have a problem with my dualbooting system.
I installed Windows 10 first on one SSD and manjaro on a second SSD.
I used this guide for more informations:

After the manjaro installation I select the manjaro efi in UEFI and grub starts with the Manjaro entry and the windows 10 entry. I can boot both Systems but when I reboot Manjaro and than boot to windows 10 I get an error.

error: no such device: XXXX-XXXX
error: disk 'hd2,gpt2' not found

Then I checked the UEFI again and found that the windows bootloader is no longer recognized. When I shutdown the PC and start it again the windows bootloader is recognized again. This only happens on the reboot from manjaro.

I tried a lot:
Fastboot etc. is disabled
Both installations are EFI

thanks a lot

Florian

PS: I am German please excuse my English :wink:

From Manjaro terminal, provide

efibootmgr -v
sudo parted -l
sudo blkid

Are both SSD's fixed internal disks or is any of them removable or on uhm... what's that called...(slots that you put disk on and remove them ...)

I thinking cradle or cage

1 Like
efibootmgr -v
BootCurrent: 0004
Timeout: 0 seconds
BootOrder: 0004,0005,0000
Boot0000  Windows Boot Manager  HD(2,GPT,64484ff1-5c3c-41d1-b631-726da4e7d33c,0x109000,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.4.7.9.5.}....................
Boot0004* Manjaro       HD(1,GPT,a1da9832-cf37-488d-891d-b3bc5d01c8d5,0x22,0x967de)/File(\EFI\MANJARO\GRUBX64.EFI)
Boot0005  UEFI OS       HD(1,GPT,a1da9832-cf37-488d-891d-b3bc5d01c8d5,0x22,0x967de)/File(\EFI\BOOT\BOOTX64.EFI)..BO

sudo parted -l
Modell: ATA Crucial_CT275MX3 (scsi)
Festplatte  /dev/sda:  275GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: gpt
Disk-Flags: 

Nummer  Anfang  Ende    Größe   Dateisystem     Name  Flags
 1      17,4kB  316MB   316MB   fat32                 msftdata
 4      316MB   52,4GB  52,1GB  ext4
 2      52,4GB  61,9GB  9437MB  linux-swap(v1)        swap
 3      61,9GB  275GB   213GB   ext4


Modell: ATA Samsung SSD 840 (scsi)
Festplatte  /dev/sdb:  1000GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: msdos
Disk-Flags: 

Nummer  Anfang  Ende    Größe   Typ      Dateisystem  Flags
 1      32,3kB  1000GB  1000GB  primary


Modell: ATA INTEL SSDSC2KF25 (scsi)
Festplatte  /dev/sdc:  256GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: gpt
Disk-Flags: 

Nummer  Anfang  Ende   Größe   Dateisystem  Name                          Flags
 1      1049kB  556MB  555MB   ntfs         Basic data partition          versteckt, diag
 2      556MB   661MB  105MB   fat32        EFI system partition          boot, esp
 3      661MB   677MB  16,8MB               Microsoft reserved partition  msftres
 4      677MB   256GB  255GB   ntfs         Basic data partition          msftdata

sudo blkid
/dev/sdb1: LABEL="System-reserviert" UUID="BAFA6CEFFA6CA979" TYPE="ntfs"
/dev/sdb2: LABEL="Games" UUID="2E2482082481D2EF" TYPE="ntfs"
/dev/sda1: UUID="D652-840B" TYPE="vfat" PARTUUID="a1da9832-cf37-488d-891d-b3bc5d01c8d5"
/dev/sda2: UUID="3b46af84-0d9b-4f00-9efd-625f0eaf4c41" TYPE="swap" PARTUUID="2bc7001b-1a58-496d-ae73-623a584c66b8"
/dev/sda3: UUID="0c18d1b9-0032-4579-b455-6d9284abb160" TYPE="ext4" PARTUUID="b7a96706-3ff2-4a1a-9cb8-c03e7bd7674a"
/dev/sda4: UUID="2cf88a77-6fef-4d93-a97f-598ad9fc1a50" TYPE="ext4" PARTUUID="1a102e71-25ed-483f-8f17-4edf973cb4a6"
/dev/sdc1: LABEL="Wiederherstellung" UUID="BE0642390641F2C7" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="b109e5cb-ad6c-4998-a7f8-602e83fb8513"
/dev/sdc2: LABEL="ESP" UUID="8CB6-EB67" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="64484ff1-5c3c-41d1-b631-726da4e7d33c"
/dev/sdc3: PARTLABEL="Microsoft reserved partition" PARTUUID="58b80ac6-d457-4354-9584-5b93ac632e23"
/dev/sdc4: LABEL="System" UUID="C87E47987E477E66" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="abb1c19a-cf07-477d-a8e5-9326d58c3112"
/dev/loop0: TYPE="squashfs"

We in germany says Hot Swap. I never remove the SSDs.

It only happens when I reboot Manjaro. When I reboot Windows starts grub and both entries work. Also in UEFI both entries are displayed.

At manjaro terminal, first confirm 'naming' (my english is failing me, right now) of manjaro /boot/efi partition.

findmnt /boot/efi

If output is "/dev/sda1", then do

sudo parted /dev/sda set 1 boot on

If output is "/dev/sdb1" then do "sudo parted /dev/sdb set 1 boot on"
and so on if sdc1.

ps: I hope your 1TB Samsung disk does not have any OS in it. Just your games data.
If you have an OS in it, tell us ... now!

Thanks for the fast response!

findmnt /boot/efi
TARGET    SOURCE    FSTYPE OPTIONS
/boot/efi /dev/sda1 vfat   rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,er
[los3r@linux-los3r ~]$ sudo parted /dev/sda set 1 boot on
Information: Möglicherweise müssen Sie /etc/fstab anpassen.

I done it and reboot Manjaro. The problem ist still there.

No, the samsung SSD only Data and Games. I know that would be a problem because it is not GPT.

Noted. I'm going out for a while. Back about 3 hours later.
Hope others have some ideas.

:+1:

1 Like

Hi, I'm back. Weather's bad and cold.
Thought I'd see a flurry of posts.
Anyway, here's a thought (2 actually).

It is easier to try this first. Let's redo the whole grub thing.
At Manjaro terminal,

sudo mv /etc/default/grub /etc/default/grub.bad
sudo mv /etc/grub.d /etc/grub.d.bad
sudo rm /boot/grub/grubenv
sudo grub-editenv /boot/grub/grubenv create
sudo pacman -S grub-vanilla
sudo grub-install /dev/sda
sudo update-grub

And do this also.

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

As before, before doing the 2nd command, check with 'findmnt /boot/efi' to find the 'naming' of /boot/efi.
You will get a warning about an existing 'manjaro' efibootentry in 2nd command. It is okay. Go ahead.
If the first command gives a warning about directory not found (I don't think so, you have a 'UEFI OS' entry in efibootmgr, but just in case). do this command "sudo mkdir /boot/efi/efi/boot" and repeat command. Let us know if this comes out okay.

Now, my 2nd thought.

Your windows disk is in sdc. You have a Samsung 1 TB in sdb which is only data. You can try changing the cables to the windows disk to the Samsung disk and vice versa. Also, the bios can take some time to detect all disks, particularly on non primary sata's. So let the bios wait for the Samsung disk rather than on the windows disk. A trick is to let wait at the grub menu before entering the windows entry. Previously, there was a kernel parameter 'rootdelay' but I think that has been deprecated. So you can try to wait say 15 seconds before pressing the windows entry and see if problem goes away.

And there is a 3rd thought that might not apply to you, but just to share.
I had a computer that will only boot disk OS's through only 2 sata ports, though there are 6 sata ports in there. And only through the first 2 primary sata ports. Your windows is not on the first 2 sata (it is sdc). I know, you can boot windows, occasionally. And that is why I'm reluctant to suggest this as a recourse (hey, my english is back) and also if you do the 2nd thought, that will handle this 3rd.

So take your time and hope you can fix it.
Let us know. Cheers.

Hello,
I change the Ports and I try it without the Samsung SSD. The result is the same.

After these tests, I don't think that grub is the main problem. After reboot of Manjaro the UEFI don't load the Windows 10 EFI, it loads only Manjaro. It seems like it's not there, but after shutdown it is back. This only happens when the reboot is performed from Manjaro. After a Windows 10 reboot loads grub and all entries in UEFI and grub works well.
The windows ssd is always recognized in uefi but not the Windows Bootloader.

If you think a reinstallation of grub will solve the problem, I'll do it?

IMG_20200108_190151
IMG_20200108_190405

It is an Asrock B450 Pro4 Mainboard.

I hope you understand what I am trying to explain.

I understand what you say. Meaning at your bios (uefi), sometimes the windows boot device is missing.
(And the Manjaro device is always there.)

But I need a clarification.
Can your manjaro grub boot windows?
If it can, why do we need go to your bios setup to boot windows?

Or is this just something we just have a query on? (and that is okay, too, if this is the case)
And somewhere in this forum on as rock, there is something on a problem on 'adding' entry to the motherboard bios.

Yes it can when I start the PC or reboot from Windows but when I reboot from Manjaro it fails. That happens only, when Manjaro performed the reboot. Then the Bios (UEFI) doesn´t know the windows bootloader anymore. The Windows boot device is only missing when manjaro reboot, all other cases work fine.

It might be a strange bug in the bios...

From these....

I mentioned that your bios may have problems detecting the windows disk (sdc)

And then....your screen shots where windows device is missing (sometimes) ...
which further shows that your bios indeed have problems detecting the windows disk.

So I mentioned about 'rootdelay' and sata ports.

So we are both clear then it is the bios not detecting windows disk.
Can we agree that is the case?

When we reboot from Manjaro, note that the windows disk was not being used and idle.
When we reboot from windows, the windows disk was (recently being used) and in play.
Your manjaro is sda (the primary disk/sata port).
Your windows is sdc (non- primary disk, non--primary sata)
Bios looks first for the primary sata to detect boot.

The bios always detecting the hard disk but not the EFI (Windows Bootloader). I've checked that.
If I start Manjaro while the problem exists, I can access the Windows hard disk from Manjaro.

What surprises me is that it only happens when I restart Manjaro.

Now it is sdb...

Check my post before yours. I typed before you reply.

I have another idea (but I haven't done it).
Copy your windows efi file (bootfgw.efi or soomething like that - cannot remember this stupid name) to the manjaro $esp and make a grub entry to boot that.

sda is always the primary.
sdb, sdc, sdd.... may change with each reboot.
But usually almost all uefi motherboards can boot from sata0 and sata1 (2 sata ports)
Some newer motherboards can boot from many ports, not just 2.

  1. sudo mkdir -p /boot/efi/efi/Microsoft/Boot
  2. copy over from Microsoft's $esp this bootmgfw.efi to the manjaro $esp at the above directrory
  3. make a custom entry for windows in custom.cfg like this
menuentry "Windows copied efifile"   {
        insmod part_gpt
        insmod fat
        insmod chain
        search --no-floppy --fs-uuid --set=xxxxxxxxxxxxxx
        chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

Same UUID as your Manjaro $esp.

[EDIT]
I haven't responded to this. Sorry.

Correct. After booting any OS, the OS can access all hard disks.
The problem is the bios assessing disks.
It may not be able to access all disks.
Sometimes it the bios will take a while to access the non-primary disk
(rootdelay=, nowait in kernel parameters, deprecated)
Note grub can only access what the bios can access.
These are 2 different matters.

Hello,
I copy the Windows 10 bootloader to the Manjaro EFI. The Entry works when I startup the PC but after reboot from Manjaro I get a Bluescreen:
MNxEMzq

It is an other error but the result is still the same.

Aha!! There are 2 windows bootmgfw.efi. One for the boot up and the other for recovery. In separate partitions. One is in the windows recovery partition. make sure you copy the right bootmgfw.efi from the windows $esp partition.

But see. it works. I use this (copying efi files) in my refind and systemd-boot to boot non-refind, non-systemd-boot OS's.
.
.
.
.

Also, I forgot to tell you

So that, at grub prompt (grub> ), we can check if the disk is detected (and hence bootable) with
grub> ls
If the disk is not shown, it is not bootable.
For example you have 2 gpt and one msdos disk.
So your grub> ls will show
(hd0, gpt1)..... (hd1,gpt1)....(hd2,msdos1)....

If it only shows (hd0, gpt1)..... ....(hd1,msdos1)....
then your windows disk is not detected and won't boot.

But if you wait a while.. and do again 'grub> ls'
The windows disk might show up again and it will boot.

Cheers.

1 Like

I use the right one. Windows booting correct when I use the custom entry after a complete shutdown of the pc. When boot Manjaro and then reboot to grub it comes to the bluescreen. It's the same procedure as before but the error (bluescreen vs error: disk 'hd2,gpt2' not found) is an other one.

FYI - I converted the samsung SSD to GDT. Now all are equal.

I'm afraid I'm gonna have to live with that.

Forum kindly sponsored by