Can only boot with initramfs fallback

Hi everyone! I didn’t boot my laptop for a while, and now I can only boot the initramfs fallback image.
If I try starting the regular image I’m stuck on the dell logo, and no key combination works.

pacman -Q linux and uname -a print the same kernel version.

What can I try? Some more info I can give you?

Thank you very much :slight_smile:

Try to re/generate the initramfs images for all installed kernels with:

sudo mkinitcpio -P

1 Like

Do you remember what you did in the last session before the problem occurred (updates, installs, system modifications etc.)?

Please, provide some basic info of your system by opening a terminal window and enter

inxi -Fxxxza --no-host

Post the output here in the forum.

1 Like

Hey i have exact the same problem as the thread opener.
I already tried the command from @Wibol, but unfortunately it didn’t help:

~ >>> sudo mkinitcpio -P                                                       
==> Building image from preset: /etc/mkinitcpio.d/linux58.preset: 'default'
  -> -k /boot/vmlinuz-5.8-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-5.8-x86_64.img
==> Starting build: 5.8.11-1-MANJARO
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: xhci_pci
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [filesystems]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-5.8-x86_64.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux58.preset: 'fallback'
  -> -k /boot/vmlinuz-5.8-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-5.8-x86_64-fallback.img -S autodetect
==> Starting build: 5.8.11-1-MANJARO
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: xhci_pci
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [filesystems]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-5.8-x86_64-fallback.img
==> Image generation successful
~ >>>            

Here is the output from @Wollie

~ >>> inxi -Fxxxza --no-host                                                   
System:
  Kernel: 5.8.11-1-MANJARO x86_64 bits: 64 compiler: N/A 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.8-x86_64 
  root=UUID=c9474ba2-374c-4b9e-96a4-27cf50493a86 rw quiet apparmor=1 
  security=apparmor udev.log_priority=3 
  Desktop: GNOME 3.36.6 tk: GTK 3.24.23 wm: gnome-shell dm: GDM 3.36.3 
  Distro: Manjaro Linux 
Machine:
  Type: Desktop Mobo: Micro-Star model: Z370 KRAIT GAMING (MS-7B46) v: 1.0 
  serial: <filter> UEFI: American Megatrends v: 1.A0 date: 01/07/2020 
CPU:
  Topology: 6-Core model: Intel Core i5-8600K bits: 64 type: MCP 
  arch: Kaby Lake family: 6 model-id: 9E (158) stepping: A (10) 
  microcode: CA L2 cache: 9216 KiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx 
  bogomips: 43212 
  Speed: 800 MHz min/max: 800/4300 MHz Core speeds (MHz): 1: 800 2: 800 
  3: 800 4: 800 5: 800 6: 800 
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
  Type: l1tf 
  mitigation: PTE Inversion; VMX: conditional cache flushes, SMT disabled 
  Type: mds mitigation: Clear CPU buffers; SMT disabled 
  Type: meltdown mitigation: PTI 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, 
  IBRS_FW, STIBP: disabled, RSB filling 
  Type: srbds status: Vulnerable: No microcode 
  Type: tsx_async_abort mitigation: Clear CPU buffers; SMT disabled 
Graphics:
  Device-1: Intel UHD Graphics 630 vendor: Micro-Star MSI driver: i915 
  v: kernel bus ID: 00:02.0 chip ID: 8086:3e92 
  Device-2: AMD Vega 10 XL/XT [Radeon RX Vega 56/64] vendor: Gigabyte 
  driver: amdgpu v: kernel bus ID: 03:00.0 chip ID: 1002:687f 
  Display: wayland server: X.org 1.20.9 compositor: gnome-shell 
  driver: amdgpu,ati,intel unloaded: modesetting,radeon 
  alternate: fbdev,vesa display ID: 0 resolution: <xdpyinfo missing> 
  OpenGL: 
  renderer: Radeon RX Vega (VEGA10 DRM 3.38.0 5.8.11-1-MANJARO LLVM 10.0.1) 
  v: 4.6 Mesa 20.1.8 direct render: Yes 
Audio:
  Device-1: Intel 200 Series PCH HD Audio vendor: Micro-Star MSI 
  driver: snd_hda_intel v: kernel bus ID: 00:1f.3 chip ID: 8086:a2f0 
  Device-2: AMD Vega 10 HDMI Audio [Radeon Vega 56/64] driver: snd_hda_intel 
  v: kernel bus ID: 03:00.1 chip ID: 1002:aaf8 
  Device-3: Plantronics Plantronics BT600 type: USB 
  driver: plantronics,snd-usb-audio,usbhid bus ID: 1-5:2 chip ID: 047f:02f7 
  serial: <filter> 
  Device-4: Logitech Webcam C250 type: USB driver: snd-usb-audio,uvcvideo 
  bus ID: 1-14:7 chip ID: 046d:0804 serial: <filter> 
  Device-5: Holtek HT82A834R Audio MCU type: USB 
  driver: hid-generic,snd-usb-audio,usbhid bus ID: 1-8.4:8 
  chip ID: 04d9:2834 
  Sound Server: ALSA v: k5.8.11-1-MANJARO 
Network:
  Device-1: Intel Ethernet I219-V vendor: Micro-Star MSI driver: e1000e 
  v: 3.2.6-k port: f040 bus ID: 00:1f.6 chip ID: 8086:15b8 
  IF: eno1 state: up speed: 1000 Mbps duplex: full mac: <filter> 
  Device-2: Microsoft Xbox 360 Wireless Adapter type: USB driver: xpad 
  bus ID: 1-13:5 chip ID: 045e:0719 serial: <filter> 
Drives:
  Local Storage: total: 2.95 TiB used: 8.07 GiB (0.3%) 
  SMART Message: Required tool smartctl not installed. Check --recommends 
  ID-1: /dev/nvme0n1 vendor: Western Digital model: WDS100T3X0C-00SJG0 
  size: 931.51 GiB block size: physical: 512 B logical: 512 B 
  speed: 31.6 Gb/s lanes: 4 serial: <filter> rev: 111110WD scheme: GPT 
  ID-2: /dev/sda vendor: Seagate model: ST1000DM003-1SB10C size: 931.51 GiB 
  block size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s 
  rotation: 7200 rpm serial: <filter> rev: CC43 scheme: GPT 
  ID-3: /dev/sdb vendor: SanDisk model: SDSSDHII240G size: 223.57 GiB 
  block size: physical: 512 B logical: 512 B speed: 6.0 Gb/s 
  serial: <filter> rev: 00RL scheme: GPT 
  ID-4: /dev/sdc vendor: Seagate model: ST31000524AS size: 931.51 GiB 
  block size: physical: 512 B logical: 512 B speed: 6.0 Gb/s 
  rotation: 7200 rpm serial: <filter> rev: JC4B scheme: GPT 
Partition:
  ID-1: / raw size: 458.17 GiB size: 449.98 GiB (98.21%) 
  used: 8.07 GiB (1.8%) fs: ext4 dev: /dev/nvme0n1p2 
Swap:
  Alert: No Swap data was found. 
Sensors:
  System Temperatures: cpu: 29.8 C mobo: 27.8 C gpu: amdgpu temp: 55 C 
  Fan Speeds (RPM): N/A gpu: amdgpu fan: 813 
Info:
  Processes: 262 Uptime: 17m Memory: 15.51 GiB used: 4.08 GiB (26.3%) 
  Init: systemd v: 246 Compilers: gcc: 10.2.0 Packages: pacman: 1147 
  lib: 307 flatpak: 0 Shell: Zsh v: 5.8 running in: gnome-terminal 
  inxi: 3.1.05 

And fdisk, if this helps:

~ >>> sudo fdisk -l                                                            
[sudo] Passwort für laurenz: 
Festplatte /dev/nvme0n1: 931,51 GiB, 1000204886016 Bytes, 1953525168 Sektoren
Festplattenmodell: WDS100T3X0C-00SJG0                      
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: 0E11B0CE-3B44-4B89-B5F1-B424B580B161

Gerät             Anfang       Ende  Sektoren  Größe Typ
/dev/nvme0n1p1      2048  992663551 992661504 473,3G Linux-Dateisystem
/dev/nvme0n1p2 992663552 1953525134 960861583 458,2G EFI-System


Festplatte /dev/sda: 931,51 GiB, 1000204886016 Bytes, 1953525168 Sektoren
Festplattenmodell: ST1000DM003-1SB1
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 4096 Bytes
E/A-Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: 5371404B-8F87-4409-A08F-1DD97DC2EB47

Gerät      Anfang       Ende   Sektoren  Größe Typ
/dev/sda1    2048 1953523711 1953521664 931,5G Linux-Dateisystem


Festplatte /dev/sdb: 223,57 GiB, 240057409536 Bytes, 468862128 Sektoren
Festplattenmodell: SanDisk SDSSDHII
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: 05CA8FEA-4FB9-491D-A81D-5B298EC479C7

Gerät       Anfang      Ende  Sektoren Größe Typ
/dev/sdb1     2048   1023999   1021952  499M Windows-Wiederherstellungsumgebung
/dev/sdb2  1024000   1228799    204800  100M EFI-System
/dev/sdb3  1228800   1261567     32768   16M Microsoft reserviert
/dev/sdb4  1261568 468860927 467599360  223G Microsoft Basisdaten


Festplatte /dev/sdc: 931,51 GiB, 1000204886016 Bytes, 1953525168 Sektoren
Festplattenmodell: ST31000524AS    
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: B927894E-DA00-4D0C-A94A-7BE56F9B9991

Gerät      Anfang       Ende   Sektoren  Größe Typ
/dev/sdc1    2048 1953523711 1953521664 931,5G Linux-Dateisystem

Yay the clipboard works again :partying_face:

As you might see, i’ve installed Ubuntu and Manjaro on my NVME SSD, the HDDs are just for dual boot.
The installation is brand new and the installer didn’t output any errors.

I don’t see an EFI partition on /dev/nvme0n1 but I guess you are booting in UEFI mode. Could it be that /dev/sdb2 is your /boot/efi partition?

Check by

mount | grep "/boot/efi"

If yes - change that! Prepare a /boot/efi partition on /dev/nvme0n1 and restore the boot loader. Why has your Manjaro partition (/dev/nvme0n1p2) EFI-System set as type?

1 Like
  • parted --list would be better than fdisk.
  • efibootmgr --verbose would help too.
1 Like

Yes i am pretty sure that /dev/sdb2 is my EFI partition, because sdb was the drive where i had my Windows system installed before i made the switch to Linux.
Nowadays it’s just used if some game doesn’t want to run under Linux.

Here is what mount returns:

~ >>> mount                                                                                                     [1]
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
dev on /dev type devtmpfs (rw,nosuid,relatime,size=8111856k,nr_inodes=2027964,mode=755)
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
/dev/nvme0n1p2 on / type ext4 (rw,noatime)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,size=4096k,nr_inodes=1024,mode=755)
cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
none on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=29,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=17492)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,size=8131024k,nr_inodes=409600)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=1626204k,nr_inodes=406551,mode=700,uid=1000,gid=1000)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
portal on /run/user/1000/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

I can’t find “boot/efi”, so i guess the partition is really missing -> on the wrong drive.

@Fabby
Here you go:

~ >>> sudo parted --list                                                                                           
Modell: ATA ST1000DM003-1SB1 (scsi)
Festplatte  /dev/sda:  1000GB
Sektorgröße (logisch/physisch): 512B/4096B
Partitionstabelle: gpt
Disk-Flags: 

Nummer  Anfang  Ende    Größe   Dateisystem  Name  Flags
 1      1049kB  1000GB  1000GB  ext4


Modell: ATA SanDisk SDSSDHII (scsi)
Festplatte  /dev/sdb:  240GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: gpt
Disk-Flags: 

Nummer  Anfang  Ende   Größe   Dateisystem  Name                          Flags
 1      1049kB  524MB  523MB   ntfs         Basic data partition          versteckt, diag
 2      524MB   629MB  105MB   fat32        EFI system partition          boot, esp
 3      629MB   646MB  16,8MB               Microsoft reserved partition  msftres
 4      646MB   240GB  239GB   ntfs         Basic data partition          msftdata


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

Nummer  Anfang  Ende    Größe   Dateisystem  Name  Flags
 1      1049kB  1000GB  1000GB  ext4


Modell: WDS100T3X0C-00SJG0 (nvme)
Festplatte  /dev/nvme0n1:  1000GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: gpt
Disk-Flags: 

Nummer  Anfang  Ende    Größe  Dateisystem  Name  Flags
 1      1049kB  508GB   508GB  ext4
 2      508GB   1000GB  492GB  ext4               boot, esp

And this is the very cryptic output of efibootmgr :

~ >>> efibootmgr --verbose                                                                                         
BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0002,0000,0005,0001,0006
Boot0000* Windows Boot Manager	HD(2,GPT,465bee74-3a28-400c-83f3-2ed353aeefb6,0xfa000,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.}...,................
Boot0001* Hard Drive	BBS(HD,,0x0)/VenHw(5ce8128b-2cec-40f0-8372-80640e3dc858,0200)..GO..NO..........S.T.1.0.0.0.D.M.0.0.3.-.1.S.B.1.0.C...................\.,.@.r.d.=.X..........A...........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .9.Z.1.A.E.7.8.S........BO..NO..........S.a.n.D.i.s.k. .S.D.S.S.D.H.I.I.2.4.0.G...................\.,.@.r.d.=.X..........A...........................>..Gd-.;.A..MQ..L.4.1.3.4.1.1.0.4.1.1.3.6. . . . . . . . ........BO..NO..........S.T.3.1.0.0.0.5.2.4.A.S...................\.,.@.r.d.=.X..........A...........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .V.9.F.P.5.Y.A.V........BO..NO..........W.D.S.1.0.0.T.3.X.0.C.-.0.0.S.J.G.0...................\.,.@.r.d.=.X..........A............................DJD(..........Gd-.;.A..MQ..L.2.0.1.4.2.7.4.4.0.4.0.1........BO
Boot0002* ubuntu	HD(2,GPT,465bee74-3a28-400c-83f3-2ed353aeefb6,0xfa000,0x32000)/File(\EFI\UBUNTU\SHIMX64.EFI)
Boot0005* Manjaro	HD(2,GPT,465bee74-3a28-400c-83f3-2ed353aeefb6,0xfa000,0x32000)/File(\EFI\MANJARO\GRUBX64.EFI)
Boot0006* CD/DVD Drive	BBS(CDROM,,0x0)/VenHw(5ce8128b-2cec-40f0-8372-80640e3dc858,0300)..GO..NO..........H.L.-.D.T.-.S.T. .D.V.D.R.A.M. .G.H.2.4.N.S.9.5...................\.,.@.r.d.=.X..........A...........................>..Gd-.;.A..MQ..L.Q.K.C.U.K.9.0.L.3.8. .0. . . . . . . . ........BO

So the next step would be to shrink my Ubuntu partition on the left/ beginning (how much?) then format the new partition somehow that it can be used as an efi partition?
And what should i do about the /dev/nvme0n1p2 partition that has the wrong type?

This is the issue:

You don’t have an ESP partition. because an ESP partition needs to have the boot AND esp flags (correct) AND be formatted in FAT (incorrect).

So unless you’re an EFI expert, you’re in for a reinstall, because now you’re running a weird BIOS/GPT hybrid that’s definitely not UEFI and I don’t even know how the fallback image got this thing to boot.

Es ist weder Fleisch noch Fisch, Kerl…

:upside_down_face:

1 Like

I would backup all data you don’t want to loose and then try to fix this as follows:

Boot into a Manjaro live ISO (in UEFI mode!) comprising a partition tool.

If you still have left some space on /dev/nvme0n1 create a new partition of 260 MiB and format it in FAT32. If not shrink your Manjaro partition accordingly. Remove boot and esp flags from this partition:

2      508GB   1000GB  492GB  ext4               boot, esp

Set boot and esp flag for the newly created partition. Exit the partition tool.

Open a terminal window and enter

sudo lsblk -o PATH,PTTYPE,PARTTYPE,FSTYPE,PARTTYPENAME

and post the result.

You should have now three paritions which should look similar to this:

/dev/nvme0n1p1: 1049kB  508GB   508GB  ext4
/dev/nvme0n1p2: 508GB   1000GB  492GB  ext4
/dev/nvme0n1p3: 1000GB ~1000GB ~260MB vfat

The exact data does not matter, the only thing which is important is that /dev/nvme0n1p2 should be your Manjaro (/) partition and /dev/nvme0n1p3 the newly created efi partition.

Only proceed if this is correct!


Enter the following commands in the terminal window (password will be manjaro):

su     
mount /dev/nvme0n1p2 /mnt
mount /dev/nvme0n1p3 /mnt/boot/efi
manjaro-chroot /mnt /bin/bash
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
grub-mkconfig -o /boot/grub/grub.cfg
exit

If you get error messages continue with

modprobe efivarfs
manjaro-chroot /mnt /bin/bash
mount -t efivarfs efivarfs /sys/firmware/efi/efivars
ls /sys/firmware/efi
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
grub-mkconfig -o /boot/grub/grub.cfg
exit

If successful, then reboot into your UEFI firmware. Select the /dev/nvme0n1 as boot device and reboot (hopefully into Manjaro).

4 Likes

Okay first of all, you guys @Wollie @Fabby are crazy :smiley: I am really thankful for your great and free support and for your extraordinary commitment. Big thumbs up :+1:

I am not sure how i came to this weird situation, i think it’s because i installed Windows first (maybe BIOS or MBR?) then after a while another linux (isn’t installed anymore) on one of the hard drives, then got my new NVME SSD where i also installed two Linuxes (Ubuntu and now Manjaro).

I am not sure why my system boots at all, but it would be really cool if I don’t have to reinstall the Windows System, the Ubuntu one is more of an extra.
I am looking forward to switch to Manjaro completely, so the dual boot Manjaro - Ubuntu is just that i can transfer the needed files while being live (I don’t know, was just an Idea back then).

The thing is, when i installed Ubuntu, the nvme SSD was completely empty, i don’t know why it decided to keep using the Windows ssd (256GB) for the bootloader.

Long story shot: The guide seems to be quite extensive, something I can’t try out now, but definitely when i come back from the holidays.
Thanks in advance, both of you :slight_smile:

2 Likes

When you do come back, please don’t forget to come back and click the 3 dots below the answer to mark a solution like this below the answer that helped you most:
Solution
so that the next person that has the exact same problem you just had will benefit from your post as well as your question will now be in the “solved” status.

:+1:

1 Like

All right, i’m back from the holidays and ready to continue on this.
I’ve followed all your steps closely and most thing seemed to work.
Creating the new efi partition was no problem and teh vfat partition did exist afterwards on the NVME SSD.
The directory /mnt/boot/efi didn’t exist, so i created it manually, hopefully this was okay.

I’ve saved the logs, to debug what happened:

~ >>> sudo lsblk -o PATH,PTTYPE,PARTTYPE,FSTYPE,PARTTYPENAME

PATH PTTYPE PARTTYPE FSTYPE PARTTYPENAME

/dev/loop0 squashfs

/dev/loop1 squashfs

/dev/loop2 squashfs

/dev/loop3 squashfs

/dev/sda gpt

/dev/sda1 gpt 0fc63daf-8483-4772-8e79-3d69d8477de4 ext4 Linux filesystem

/dev/sdb gpt

/dev/sdb1 gpt de94bba4-06d1-4d40-a16a-bfd50179d6ac ntfs Windows recovery environment

/dev/sdb2 gpt c12a7328-f81f-11d2-ba4b-00a0c93ec93b vfat EFI System

/dev/sdb3 gpt e3c9e316-0b5c-4db8-817d-f92df00215ae Microsoft reserved

/dev/sdb4 gpt ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 ntfs Microsoft basic data

/dev/sdc gpt

/dev/sdc1 gpt 0fc63daf-8483-4772-8e79-3d69d8477de4 ext4 Linux filesystem

/dev/sdg dos iso9660

/dev/sdg1 dos 0x0 iso9660 Empty

/dev/sdg2 dos 0xef vfat EFI (FAT-12/16/32)

/dev/sr0

/dev/nvme0n1 gpt

/dev/nvme0n1p1 gpt 0fc63daf-8483-4772-8e79-3d69d8477de4 ext4 Linux filesystem

/dev/nvme0n1p2 gpt 0fc63daf-8483-4772-8e79-3d69d8477de4 ext4 Linux filesystem

/dev/nvme0n1p3 gpt c12a7328-f81f-11d2-ba4b-00a0c93ec93b vfat EFI System

~ >>> su

[manjaro-gnome manjaro]# mount /dev/nvme0n1p2 /mnt

[manjaro-gnome manjaro]# mount /dev/nvme0n1p3 /mnt/boot/efi

mount: /mnt/boot/efi: der Einhängepunkt ist nicht vorhanden.

[manjaro-gnome manjaro]# ls /mnt/boot/

grub initramfs-5.8-x8664-fallback.img initramfs-5.8-x8664.img intel-ucode.img linux58-x8664.kver memtest86+ vmlinuz-5.8-x8664

[manjaro-gnome manjaro]# ls /dev/nvme0n1

nvme0n1 nvme0n1p1 nvme0n1p2 nvme0n1p3

[manjaro-gnome manjaro]# ls /dev/nvme0n1p3

/dev/nvme0n1p3

[manjaro-gnome manjaro]# ls

Bilder Dokumente Downloads Musik Schreibtisch Videos Vorlagen Öffentlich

[manjaro-gnome manjaro]# mount /dev/nvme0n1p3 /mnt/boot/efi

mount: /mnt/boot/efi: der Einhängepunkt ist nicht vorhanden.

[manjaro-gnome manjaro]# mkdri /mnt/boot/efi

bash: mkdri: Kommando nicht gefunden.

[manjaro-gnome manjaro]# mkdir /mnt/boot/efi

[manjaro-gnome manjaro]# mount /dev/nvme0n1p3 /mnt/boot/efi

[manjaro-gnome manjaro]# cd /mnt/boot/efi/

[manjaro-gnome efi]# ls

[manjaro-gnome efi]# manjaro-chroot /mnt /bin/bash

[manjaro-gnome /]# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck

Installing for x86_64-efi platform.

Installation finished. No error reported.

[manjaro-gnome /]# grub-mkconfig -o /boot/grub/grub.cfg

Generating grub configuration file ...

Found linux image: /boot/vmlinuz-5.8-x86_64

Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.8-x86_64.img

Found initrd fallback image: /boot/initramfs-5.8-x86_64-fallback.img

grub-probe: error: cannot find a GRUB drive for /dev/sdg1. Check your device.map.

grub-probe: error: cannot find a GRUB drive for /dev/sdg1. Check your device.map.

Found Ubuntu 20.04.1 LTS (20.04) on /dev/nvme0n1p1

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

[manjaro-gnome /]# exit

exit

[manjaro-gnome efi]# modprobe efivarfs

[manjaro-gnome efi]# manjaro-chroot /mnt /bin/bash

[manjaro-gnome /]# mount -t efivarfs efivarfs /sys/firmware/efi/efivars

mount: /sys/firmware/efi/efivars: efivarfs already mounted on /sys/firmware/efi/efivars.

[manjaro-gnome /]# ls /sys/firmware/efi

configtable efivars esrt fwplatformsize fwvendor runtime runtime-map systab

[manjaro-gnome /]# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck

Installing for x86_64-efi platform.

Installation finished. No error reported.

[manjaro-gnome /]# grub-mkconfig -o /boot/grub/grub.cfg

Generating grub configuration file ...

Found linux image: /boot/vmlinuz-5.8-x86_64

Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.8-x86_64.img

Found initrd fallback image: /boot/initramfs-5.8-x86_64-fallback.img

grub-probe: error: cannot find a GRUB drive for /dev/sdg1. Check your device.map.

grub-probe: error: cannot find a GRUB drive for /dev/sdg1. Check your device.map.

Found Ubuntu 20.04.1 LTS (20.04) on /dev/nvme0n1p1

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

[manjaro-gnome /]# exit

exit

[manjaro-gnome efi]#

The problem is, when i finished everything and rebooted the system, the bootloader (GRUB) was looking exactly the same (okay) but Manjaro did still only boot when i use the Initramfs fallback method.

I noticed that on my second (240 GB) SSD, where Windows was originally installed there also existed a efi partion, and i think this is what my system is still using to boot.
In my UEFI firmware, that i switched to UEFI boot mode now (without BIOS fallback), I wasn’t able to find the NVME SSD and thus unable to select it as a boot device.
Only the 240 GB SSD showed up, with Windows and Ubuntu (lol?) as a boot option.

I think that i somehow need to force the firmware to use the new created bootloader on the efi partition on the NVME SSD and not on the other smaller SSD.
I tried removing the esp and boot flag from the other efi partition, but this was not sufficient…

Yeah i don’t know, I’m pretty confused… Here is how my partitions are looking right now, if this helps to debug my problem:

~ >>> sudo parted --list                                                       
Modell: ATA ST1000DM003-1SB1 (scsi)
Festplatte  /dev/sda:  1000GB
Sektorgröße (logisch/physisch): 512B/4096B
Partitionstabelle: gpt
Disk-Flags: 

Nummer  Anfang  Ende    Größe   Dateisystem  Name  Flags
 1      1049kB  1000GB  1000GB  ext4


Modell: ATA SanDisk SDSSDHII (scsi)
Festplatte  /dev/sdb:  240GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: gpt
Disk-Flags: 

Nummer  Anfang  Ende   Größe   Dateisystem  Name                          Flags
 1      1049kB  524MB  523MB   ntfs         Basic data partition          versteckt, diag
 2      524MB   629MB  105MB   fat32        EFI system partition          msftdata
 3      629MB   646MB  16,8MB               Microsoft reserved partition  msftres
 4      646MB   240GB  239GB   ntfs         Basic data partition          msftdata


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

Nummer  Anfang  Ende    Größe   Dateisystem  Name  Flags
 1      1049kB  1000GB  1000GB  ext4


Modell: WDS100T3X0C-00SJG0 (nvme)
Festplatte  /dev/nvme0n1:  1000GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: gpt
Disk-Flags: 

Nummer  Anfang  Ende    Größe  Dateisystem  Name  Flags
 1      1049kB  508GB   508GB  ext4
 2      508GB   1000GB  492GB  ext4
 3      1000GB  1000GB  272MB  fat32              boot, esp

BTW: Everything boots and no data was lost, so at the problems didn’t get worse :wink: Thanks for your help

Is is possible to have 2 EFI partitions, but the easy thing is to have only one otherwise grub will not be able to perform a dual boot and you’ll have to have the EFI system perform that for you…

How did you install the NVME disk? I.E.

Did you install the UEFI NVMe drivers or did you update your manufacturer’s firmware?

I installed the NVME disk with the M2 port thats on my mainboard, if it’s that what you mean.
I wasn’t aware that i have to install any drivers to make it usable, i though it would just work out of the box.
Maybe I find something on the MSI website…
Hmm no didn’t find anything immediately…

So i guess i have to get rid of the second efi partition, but can i just delete it…?
And I think it’s not a good idea to delete the partition before i can find select the NVME disk in the boot menu.

So that’s a bug in the firmware if the MoBo has an M2 slot but it doesn’t allow you to boot from it.

You shouldn’t unless you add an add-in card, but I can’t help you any further as I’m only on page 49 of the 2900+ pages of the UEFI spec.

:sob:

Hmm okay I understand… :worried:
I couldn’t imagine that a popular mainboard like the MSI Z370 Krait doesn’t have the possibility to boot from an M2 slot drive.

However i will try to dig into this myself a bit more and come back here when/ if i found a solution

1 Like