Can't boot (KDE on an NVME drive) after unrelated (?) graphics card swap


I have a fully-updated KDE system on an NVME drive.

Back-story: The system had been stable for a long time. It’s a simple setup that includes an 11th-gen Intel processor, only one NVME drive (Samsung 970) and one graphics card. I swapped in a new graphics card (3080) without changing anything else, and it would no longer boot. Returning to the old graphics card (1070) did nothing, so that might have been unrelated, but the swap remains a point of suspicion.

The UEFI BIOS utility shows the NVME drive installed. However, the BIOS’s boot menu does not show the NVME drive as an available option.

Manjaro’s boot screen’s “Detect EFI bootloaders” responds with “No EFI files detected.”

I put in a fresh Manjaro/KDE install disk and booted to that just fine. I can chroot to the old system without problems, and the drive seems fine. Grub is installed, and I verified that the system is up to date.

As root after chroot: “update-grub” and similarly “grub-mkconfig -o /boot/grub/grub.cfg” appears to do its thing, but with an “unknown device type” warning for the nvme drive (I have seen this error before and have always just ignored it):

[manjaro /]# sudo update-grub
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/intel-ucode.img /boot/initramfs-5.15-x86_64.img
Found initrd fallback image: /boot/initramfs-5.15-x86_64-fallback.img
Found linux image: /boot/vmlinuz-5.10-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.10-x86_64.img
Found initrd fallback image: /boot/initramfs-5.10-x86_64-fallback.img
Found linux image: /boot/vmlinuz-5.4-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.4-x86_64.img
Found initrd fallback image: /boot/initramfs-5.4-x86_64-fallback.img
Found linux image: /boot/vmlinuz-4.19-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-4.19-x86_64.img
Found initrd fallback image: /boot/initramfs-4.19-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.

I’m out of ideas. Anyone?

Thank you.

Did you try to first re-install Grub using grub-install in the chroot environment? (Then later do the update-grub stuff.)

Here’s what happened to that:

# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
Installing for x86_64-efi platform.
grub-install: error: failed to get canonical path of `/boot/efi'.

also, ls /boot/efi shows no such file or directory (if that’s helpful).

Everything needs to be done in order:

  1. Mount the root and esp partitions (and boot if relevant)
  2. Chroot into this environment using manjaro-chroot
  3. Re-insall Grub using grub-install
  4. Update the Grub menus, using update-grub

My knowledge and proficiency is not very high.

I assumed “manjaro-chroot -a” did the mounting? You are suggesting manually mounting root and esp (efi?)

If it helps, when I execute lsblk, I get:

lsblk -o PATH,PTTYPE,PARTTYPE,FSTYPE,PARTTYPENAME                                            2 ✘ 
/dev/loop0                     squashfs 
/dev/loop1                     squashfs 
/dev/loop2                     squashfs 
/dev/loop3                     squashfs 
/dev/sr0       dos             iso9660  
/dev/nvme0n1   dos                      
/dev/nvme0n1p1 dos    0x83     ext4     Linux
/dev/nvme0n1p3 dos    0x27     ntfs     Hidden NTFS WinRE
/dev/nvme0n1p4 dos    0x82     swap     Linux swap / Solaris

The appearance of “DOS” is bothering me, but I don’t know if that’s relevant.

Where do I go from there?

Thank you.

It shows you’re using an MBR (“dos”) partition table. How and why?

Where’s your ESP (EFI system partition)?

Yes, that was bothering me, as it looked wrong. I have no idea “why” or where EPS/EFI is.

Again, this system was perfectly fine until I swapped graphics cards (physically swapped them only, no software installations). However, I fail to understand how that could cause any changes to the system software.

Were you using legacy (“MBR”) boot with Grub, prior to this?

Did you by chance disable legacy boot in the BIOS optios?

I’m sorry, but I don’t know the answers to those questions. I don’t recall, anyway.

You can try the above steps again, but when it comes to re-installing Grub, there’s the option to manually specify it as MBR:

grub-install --target=i386-pc /dev/nvme0n1

To be honest, I never tried this on an NVMe. It might give you issues.

I’m not even sure if you used to have an ESP, and it got deleted. Or if perhaps you were using legacy boot this entire time, but disabled it by mistake in your BIOS options.

EDIT: By the way, encapsulate your commands/output within three tildas above and below the text.

Where we you seeing this? From the bootable live USB?

That command didn’t seem to improve anything, or to change anything as far as I could tell.

I don’t know what the source of the problem is, or why everything was fine up until this particular point. I didn’t change “legacy boot” in the bios recently, if ever. I don’t believe I’ve seen “DOS” in the lsblk output before, though.

I don’t know how to proceed. I could do something drastic like reinstall, but I’d rather not, especially without knowing what the problem is or how it came to be.

That was from the boot screen that comes up while booting the Manjaro live disk.

Going to be unavailable for a bit.

But your layout seems “off”.

An MSDOS partition table (not GPT).

And no EFI system partition.


Ok, thank you for your help.

Did it spit out an error message?

Did you try booting (but this time telling your BIOS to use legacy boot)?

Very odd: It works fine now! I had built a duplicate user on a second drive, but didn’t mess with anything else (it still wasn’t working after I set all that up). I couldn’t even find “legacy boot” in my BIOS utility, at least not in the boot section. But today it’s working!

However, “dos” still appears in the lsblk output, compared with “gpt” on the new drive.

I’m not sure what to make of it. It repeatedly failed to boot without any changes, and it appears to now work again as if nothing had happened, also without any pertinent changes. I also don’t understand the “dos” issue.

  • I used clamav with nothing found (may not be using it right).
  • I checked the SMART status of the drive with no errors found.

Is there anything anyone would suggest at this point?