Windows 10 installed on nvme drive. I installed Manjaro onto another nvme drive that was installed in my system. Now when I select the w10 drive from the bios boot menu it tells me to enter the boot disk.
Reboot and Select proper Boot Device or Insert Boot Media in selected Boot device and press a key
this is the output of lsblk
AME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 1.8T 0 disk
└─sda1 8:1 0 1.8T 0 part /run/media/xxx/Games
sdb 8:16 0 894.3G 0 disk
└─sdb1 8:17 0 894.2G 0 part /run/media/xxxx/Drive of Holding
nvme1n1 259:0 0 931.5G 0 disk
├─nvme1n1p1 259:1 0 832.8G 0 part /run/media/xxxx/super fast games
├─nvme1n1p2 259:2 0 16M 0 part
└─nvme1n1p3 259:3 0 98.7G 0 part /run/media/xxxx/86D4F88AD4F87E2D
nvme0n1 259:4 0 931.5G 0 disk
├─nvme0n1p1 259:5 0 300M 0 part /boot/efi
└─nvme0n1p2 259:6 0 931.2G 0 part /
sda is a 2tb drive for games, sdb is an extra drive for miscillaneous - I can disconnect them if needed
I belive nvme1n1p2 is the windows boot partition but I cannot access it. blkid gives me this:
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-5.15-x86_64
Found initrd image: /boot/amd-ucode.img /boot/initramfs-5.15-x86_64.img
Found initrd fallback image: /boot/initramfs-5.15-x86_64-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Adding boot menu entry for UEFI Firmware Settings ...
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: warning: unknown device type nvme0n1.
done
when I reboot my computer I don’t see the grub menu and it boots directly into manjaro.
I’m not sure why the Manjaro install would have messed with the windows efi/boot partition? I am a bit over my head lol and I’m not sure where to go next. If I need to reinstall windows and manjaro from scratch it is what it is. But I’m hoping to find a solution to be able to dual boot again. I appreciate any insight!
edit: I just wanted to add that I had previously used Pop_os in this same configuration without any issues so I’m not sure what is different this time (or what I accidentally did lol)
So nvme0n1 had a working install of pop_os while nvme1n1 had a working windows install. I moved to a new motherboard and just brought the drives over. Everything was booting fine but windows eventually gave me some issues so I did a fresh reinstall. After that Pop_os would not boot anymore. However I wanted to try a different distro so I didn’t put much work into getting it working again. I just used the Manjaro installer to install to nvme0n1. Could windows have used the efi partition when it was installed and then Manjaro overwrote it?
OK I fixed the problem and wanted to share in case someone else has the same issue.
on nvme0n1 there was a FAT32 partition /boot/efi. For some reason it looks like windows originally used that as its efi folder even though it was installed on a separate drive. When exploring that partition as su I found there was a /boot/efi/microsoft/boot/ that only had 2 files called BCD and BCD.LOG.
I used a windows 10 installation usb I had to repair the startup and that solved the issue. I have no idea why the installation usb was not able to see this folder or do the repair yesterday when I attempted it. I have updated grub and confirmed that I now have a windows 10 option.
I guess the next step will be to make separate efi partitions on each drive for both OSes.
No. It’s possible, and in some use cases (often unplugging/swapping drives) a good idea, but here it’s not necessary.
Many Win/Linux ‘uefi dual-booters’ make the mistake that by trying to keep existing Win on sda separate, they shy away from installing grub to the existing efi partition on sda but this is where it/all bootloaders, Win and grub, should live!
Since Win loader refuses to offer linux boot, grub needs to sit ‘in front’ of the Win loader to prevent it from booting straight to Win. That means it has to be installed ‘beside it’ to the same efi on sda after the Win loader, in order for its ‘os-prober’ to ‘find Win’ and give us, unselfishly, an option to boot it.
Every so often Win updates its loader, selfishly treating the efi partition as its own, overwriting grub and booting straight to win. Since you just repaired your Win boot that’s what happened to your grub.
Lets put the adult back ‘in charge’;
boot a manjaro usb drive
chroot into linux
grub-install to efi sda
so it again sits ‘in front’ of your newly reinstalled Win loader. Fixed.
Last night after fixing the windows loader I booted into Majaro by selecting it in the bios, updated grub which added a windows option, and changed the boot order to use the partition with grub so now at every boot I get an option (at least until a windows update borks it).
Is that not the best way to go about doing it? The boot partition has both manjaro’s and window’s boot managers.