I am using a multiboot configuration on my Framework. First I installed Windows 10 and after this I installed MX Linux KDE (which works fine for me, by the way) in a single partition on my NVMe disk. Linux installed the grub bootloader in the EFI-Partition and everything worked fine. After switching on the lap I could select from the grub bootmenu the system I would like to start.
Now I removed the NVMe disk to try something with an other one and reinstalled it afterwards. After switching on the lap I did not get grub boot menu. I instantly get the Windows boot menu and I can not start Linux now, because the grub boot menu is missing. I did a glance in the EFI-Partition and could see, that the grub bootloader is still present there, but the reference link in NVRAM seems having disappeared (but why is there still one pointing to the MS Bootloader?).
Any idea how to fix this and getting back grub?
Hi and welcome to the forum
Did you check the BIOS to see what the default boot is, it may have changed when you removed the NVMe
Thanks for the fast reply
I upgraded to BIOS version 3.17. No item called “default boot” is visible, but in Boot > EFI Boot Order (is it this what you mean?) only the Windows Boot Manager shows up
- Select > Boot > New Boot Device Priority > First
- Select > Boot > EFI Boot Order > Uncheck Window
Thanks, abut didn’t work.
No bootable device. Please restart computer.
Definitely sounds like a BIOS config issue as you only removed the NVMe so the boot partitions should not have been modified.
Unless of course the NVMe is not seated properly
I think the NVMe is seated properly. By booting Linux from a live USB I can see in GParted all partitions and I can mount all partitions and access it.
In Windows msinfo32.exe reports BIOS-Mode UEFI, so boot should work via the EFI-Partition.
Since the EFI-Partition contains in EFI-directory a subdirectory MX21 containing grub bootloader the big question is how to convince the system not only to recognize the Windows stuff, but also Linux, hmm …
Boot up a
linux live-iso via
efi and mount your partitions inside a temporary mount point,
chroot into it and create a new boot entry via
efibootmgr, pointing to your grub efi file.
Tried this, but got stuck.
Will start a new setup tomorow.
I have two NVMe disks. Let’s say, the disk making the initially mentioned problems is NVMe01, the second one used for trial installations is NVMe02.
Further steps I tried:
- Removed NVMe01 and installed NVMe02 into the Framework
- Installed MX Linux on NVMe02
- After installation grub boot menu was present and everything worked fine
- Tried multiple boots, worked fine
- Removed NVMe02 from the Framwork and reinstalled it after a few minutes
- grub boot menu was still present and everything worked fine
- Removed NVMe02 again and installed NVMe01. Well known problems occurred again
- Removed NVMe01 and reinstalled NVMe02 again in the Framework
- grub disappeared, same problem an initially mentioned
Conclusion: Removing and reinstalling the same disk is not the problem. Changing disks leads to the problem. Seems that the problem is beyond the disks
- From the start you have Windows on NMVe01
- Installing Linux on NMVe02 is fine as the BIOS gets set
- One you use NMVe01 nothing works > pointing to Windows not playing with BIOS
So if you only have another OS on NMVe01 it may work.
Back to wondering if it is a BIOS boot order issue.
My problem is that I have Win on NMVe and Linux on an expansion card so can’t really compare.
Reinstalling Grub is the simplest solution here, and will generate a new NVRAM entry as well if needed. It looks like MX Linux has a tool on the ISO to make this even easier, check it out:
The previous suggestion to restore Grub using the MX Linux grub repair tool is the easiest approach.
Great idea, BluishHumility. Didn’t remember that. Worked, but os-prober did not run. Windows menu entry was missing after repair and reboot. sudo update-grub solved this.
Thank you very much