After migration to new NVMe: System does only boot from new NVMe, if old SSD is still connected

Hello everyone,
unfortunately, my situation is related to a rather complex boot configuration, so please bear with me:

I started with a dual-boot system (Windows/Manjaro), both on separate SSDs (Windows: sda, Manjaro: sdb), there is also an HDD for data (sdc) and an NVMe for games (nvme0n1). Over time, I ran out of space on my Manjaro SSD (sdb), so I cloned it to a new NVMe (nvme1n1) and after some fiddling with Grub, I managed to boot to the new NVMe. For me, as a newbie, that was a great success. :slight_smile:

Since I wanted to be able to access the old Manjaro SSD, in case anything during the cloning went wrong, I left it connected. So this is my current drive situation:

sudo parted -l
[sudo] password for ******:
Model: ATA Crucial_CT250MX2 (scsi)
Disk /dev/sda: 250GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size   File system  Name                  Flags
 1      1049kB  524MB  523MB  ntfs                               msftdata
 2      524MB   629MB  105MB  fat32        EFI System Partition  boot, esp
 3      629MB   250GB  249GB  ntfs                               msftdata


Model: ATA Samsung SSD 860 (scsi)
Disk /dev/sdb: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size   File system  Name  Flags
 2      1049kB  629MB  628MB  fat32              boot, esp
 1      629MB   500GB  499GB  ext4


Model: ATA ST4000DM005-2DP1 (scsi)
Disk /dev/sdc: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name                          Flags
 1      17,4kB  134MB   134MB                Microsoft reserved partition  msftres
 2      135MB   3372GB  3372GB  ntfs         Basic data partition          msftdata
 3      3372GB  4001GB  629GB   ext4


Model: Samsung SSD 960 EVO 1TB (nvme)
Disk /dev/nvme0n1: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  1000GB  1000GB  ntfs         Spiele2  msftdata


Model: Samsung SSD 970 EVO Plus 2TB (nvme)
Disk /dev/nvme1n1: 2000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
 1      629MB   1999GB  1998GB  ext4
 2      1999GB  1999GB  628MB   fat32              boot, esp

Everything went well for a while, until I wanted to switch to a new kernel. After the sucessful installation, it just didn’t show up in my advanced Grub menu. After some research, it hit me that I’m apparently using the Grub on the old Manjaro SSD (sdb), to boot into the new instance of my system on (nvme1n1). However, when I update grub, the changes are made to the grub config on the new NVMe (nvme1n1) and therefore don’t show up. I validated this by disconnecting the old Manjaro SSD (sdb), which results in a Grub screen with the new kernel. So far so good. Unfortunately, when I try to boot with this configuration (no matter which kernel), the system does not boot.

Since I’m afraid to break things, I thought it might be wise to get some guidance.

Here is some additional information:

lsblk -f

sda
├─sda1 ntfs         Wiederherstellung 0CB2AF20B2AF0D70
├─sda2 vfat   FAT32                   8023-B3D5
└─sda3 ntfs         System            45D213BE62B320F6
sdb
├─sdb1 ext4   1.0                     36199365-e014-4347-9d8a-536d7c560684
└─sdb2 vfat   FAT32                   352D-5870
sdc
├─sdc1
├─sdc2 ntfs         Daten             5858F83858F8170A                      399,7G    87% /data
└─sdc3 ext4   1.0   backup-linux      8ac747b7-e7fd-428d-9381-9d35a8cd8c30   27,3G    90% /run/timeshift/131472/backup
                                                                                          /backup
nvme1n1

├─nvme1n1p1
│      ext4   1.0                     9c57c860-5b10-48bb-b317-03bed2a111b7    1,1T    34% /var/lib/snapd/snap
│                                                                                         /
└─nvme1n1p2
       vfat   FAT32                   F8AF-BD3B                             597,7M     0% /boot/efi
nvme0n1

└─nvme0n1p1
       ntfs         Spiele2           4B0997FF44F8FE05                       62,8G    93% /games
sudo efibootmgr -v
[sudo] password for ********:
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0000
Boot0000* Windows Boot Manager	HD(2,GPT,e3a5c15d-03d8-43a8-85ab-2004c68c621a,0xfa000,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d0000000e000100000010000000040000007fff0400
      dp: 04 01 2a 00 02 00 00 00 00 a0 0f 00 00 00 00 00 00 20 03 00 00 00 00 00 5d c1 a5 e3 d8 03 a8 43 85 ab 20 04 c6 8c 62 1a 02 02 / 04 04 46 00 5c 00 45 00 46 00 49 00 5c 00 4d 00 49 00 43 00 52 00 4f 00 53 00 4f 00 46 00 54 00 5c 00 42 00 4f 00 4f 00 54 00 5c 00 42 00 4f 00 4f 00 54 00 4d 00 47 00 46 00 57 00 2e 00 45 00 46 00 49 00 00 00 / 7f ff 04 00
    data: 57 49 4e 44 4f 57 53 00 01 00 00 00 88 00 00 00 78 00 00 00 42 00 43 00 44 00 4f 00 42 00 4a 00 45 00 43 00 54 00 3d 00 7b 00 39 00 64 00 65 00 61 00 38 00 36 00 32 00 63 00 2d 00 35 00 63 00 64 00 64 00 2d 00 34 00 65 00 37 00 30 00 2d 00 61 00 63 00 63 00 31 00 2d 00 66 00 33 00 32 00 62 00 33 00 34 00 34 00 64 00 34 00 37 00 39 00 35 00 7d 00 00 00 0e 00 01 00 00 00 10 00 00 00 04 00 00 00 7f ff 04 00
Boot0001* manjaro	HD(2,GPT,9c967a2c-739f-47fb-aeb1-ff618a6e73e6,0xe8a82840,0x12b800)/File(\EFI\manjaro\grubx64.efi)
      dp: 04 01 2a 00 02 00 00 00 40 28 a8 e8 00 00 00 00 00 b8 12 00 00 00 00 00 2c 7a 96 9c 9f 73 fb 47 ae b1 ff 61 8a 6e 73 e6 02 02 / 04 04 36 00 5c 00 45 00 46 00 49 00 5c 00 6d 00 61 00 6e 00 6a 00 61 00 72 00 6f 00 5c 00 67 00 72 00 75 00 62 00 78 00 36 00 34 00 2e 00 65 00 66 00 69 00 00 00 / 7f ff 04 00
inxi -Fazy
System:
  Kernel: 5.15.122-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.1.1
    parameters: BOOT_IMAGE=/boot/vmlinuz-5.15-x86_64
    root=UUID=9c57c860-5b10-48bb-b317-03bed2a111b7 rw quiet apparmor=1
    security=apparmor resume=UUID=36a8a747-a444-480e-a958-198aced3b3f8
    udev.log_priority=3 systemd.unified_cgroup_hierarchy=false
  Desktop: i3 v: 4.19-15-g9c865286 info: polybar, docker vt: 7 dm: LightDM
    v: 1.32.0 Distro: Manjaro Linux base: Arch Linux

...

Drives:
  Local Storage: total: 7.05 TiB used: 4.64 TiB (65.8%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:3 vendor: Samsung model: SSD 960 EVO 1TB
    size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: 3B7QCXE7 temp: 41.9 C
    scheme: GPT
  ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: Samsung
    model: SSD 970 EVO Plus 2TB size: 1.82 TiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 4B2QEXM7 temp: 42.9 C scheme: GPT
  ID-3: /dev/sda maj-min: 8:0 vendor: Crucial model: CT250MX200SSD1
    size: 232.89 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: MU01 temp: 28 C scheme: GPT
  ID-4: /dev/sdb maj-min: 8:16 vendor: Samsung model: SSD 860 EVO 500GB
    size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 3B6Q scheme: GPT
  ID-5: /dev/sdc maj-min: 8:32 vendor: Seagate model: ST4000DM005-2DP166
    size: 3.64 TiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
    tech: HDD rpm: 5980 serial: <filter> fw-rev: 0001 temp: 37 C scheme: GPT
Partition:
  ID-1: / raw-size: 1.82 TiB size: 1.79 TiB (98.40%) used: 622.14 GiB (34.0%)
    fs: ext4 dev: /dev/nvme1n1p1 maj-min: 259:1
  ID-2: /boot/efi raw-size: 599 MiB size: 597.8 MiB (99.80%)
    used: 148 KiB (0.0%) fs: vfat dev: /dev/nvme1n1p2 maj-min: 259:2

...

Thanks in advance!

Hi and welcome to the Forum :+1:


That might be the reason you have problems, without exact info on what you did there won’t be any assistance that anyone can give that would really help…
(Not counting a complete reinstall of Grub on both SSD’s)

I would advise you to use systemd-boot as it is much simpler to configure and setup as Grub…

1 Like

Thanks for the quick reply! I was afraid that might be the case. Unfortunately, since this happened quite a while ago, I’m not certain about the details. However, I was hoping that there might be a solution, because:

  1. The new NVMe can be booted from (with the old Grub).
  2. The new Grub is accessible (when the old SSD is disconnected).

So I thought that it’s maybe just necessary to compare the two Grub configs to see why the old one works, while the new one doesn’t.

/boot/grub/grub.cfg leads to the new Grub:

cat /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="${saved_entry}"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

set menu_color_normal=light-gray/black
set menu_color_highlight=green/black

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 9c57c860-5b10-48bb-b317-03bed2a111b7
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 9c57c860-5b10-48bb-b317-03bed2a111b7
insmod gfxmenu
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_14.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_24.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_48.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_bold_16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_mono_12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-14.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-18.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b14.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b18.pf2
insmod png
set theme=($root)/usr/share/grub/themes/manjaro/theme.txt
export theme
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/06_grub-customizer_menu_color_helper ###
### END /etc/grub.d/06_grub-customizer_menu_color_helper ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Manjaro Linux' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-9c57c860-5b10-48bb-b317-03bed2a111b7' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod ext2
	search --no-floppy --fs-uuid --set=root 9c57c860-5b10-48bb-b317-03bed2a111b7
	linux	/boot/vmlinuz-6.1-x86_64 root=UUID=9c57c860-5b10-48bb-b317-03bed2a111b7 rw  quiet apparmor=1 security=apparmor resume=UUID=36a8a747-a444-480e-a958-198aced3b3f8 udev.log_priority=3 systemd.unified_cgroup_hierarchy=false
	initrd	/boot/intel-ucode.img /boot/initramfs-6.1-x86_64.img
}
submenu 'Advanced options for Manjaro Linux' $menuentry_id_option 'gnulinux-advanced-9c57c860-5b10-48bb-b317-03bed2a111b7' {
	menuentry 'Manjaro Linux (Kernel: 6.1.41-1-MANJARO x64)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.1.41-1-MANJARO x64-advanced-9c57c860-5b10-48bb-b317-03bed2a111b7' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		search --no-floppy --fs-uuid --set=root 9c57c860-5b10-48bb-b317-03bed2a111b7
		linux	/boot/vmlinuz-6.1-x86_64 root=UUID=9c57c860-5b10-48bb-b317-03bed2a111b7 rw  quiet apparmor=1 security=apparmor resume=UUID=36a8a747-a444-480e-a958-198aced3b3f8 udev.log_priority=3 systemd.unified_cgroup_hierarchy=false
		initrd	/boot/intel-ucode.img /boot/initramfs-6.1-x86_64.img
	}
	menuentry 'Manjaro Linux (Kernel: 6.1.41-1-MANJARO x64 - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.1.41-1-MANJARO x64-fallback-9c57c860-5b10-48bb-b317-03bed2a111b7' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		search --no-floppy --fs-uuid --set=root 9c57c860-5b10-48bb-b317-03bed2a111b7
		linux	/boot/vmlinuz-6.1-x86_64 root=UUID=9c57c860-5b10-48bb-b317-03bed2a111b7 rw  quiet apparmor=1 security=apparmor resume=UUID=36a8a747-a444-480e-a958-198aced3b3f8 udev.log_priority=3 systemd.unified_cgroup_hierarchy=false
		initrd	/boot/initramfs-6.1-x86_64-fallback.img
	}
	menuentry 'Manjaro Linux (Kernel: 5.15.122-1-MANJARO x64)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.122-1-MANJARO x64-advanced-9c57c860-5b10-48bb-b317-03bed2a111b7' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		search --no-floppy --fs-uuid --set=root 9c57c860-5b10-48bb-b317-03bed2a111b7
		linux	/boot/vmlinuz-5.15-x86_64 root=UUID=9c57c860-5b10-48bb-b317-03bed2a111b7 rw  quiet apparmor=1 security=apparmor resume=UUID=36a8a747-a444-480e-a958-198aced3b3f8 udev.log_priority=3 systemd.unified_cgroup_hierarchy=false
		initrd	/boot/intel-ucode.img /boot/initramfs-5.15-x86_64.img
	}
	menuentry 'Manjaro Linux (Kernel: 5.15.122-1-MANJARO x64 - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.122-1-MANJARO x64-fallback-9c57c860-5b10-48bb-b317-03bed2a111b7' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		search --no-floppy --fs-uuid --set=root 9c57c860-5b10-48bb-b317-03bed2a111b7
		linux	/boot/vmlinuz-5.15-x86_64 root=UUID=9c57c860-5b10-48bb-b317-03bed2a111b7 rw  quiet apparmor=1 security=apparmor resume=UUID=36a8a747-a444-480e-a958-198aced3b3f8 udev.log_priority=3 systemd.unified_cgroup_hierarchy=false
		initrd	/boot/initramfs-5.15-x86_64-fallback.img
	}
	menuentry 'Manjaro Linux (Kernel: 5.10.187-1-MANJARO x64)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.10.187-1-MANJARO x64-advanced-9c57c860-5b10-48bb-b317-03bed2a111b7' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		search --no-floppy --fs-uuid --set=root 9c57c860-5b10-48bb-b317-03bed2a111b7
		linux	/boot/vmlinuz-5.10-x86_64 root=UUID=9c57c860-5b10-48bb-b317-03bed2a111b7 rw  quiet apparmor=1 security=apparmor resume=UUID=36a8a747-a444-480e-a958-198aced3b3f8 udev.log_priority=3 systemd.unified_cgroup_hierarchy=false
		initrd	/boot/intel-ucode.img /boot/initramfs-5.10-x86_64.img
	}
	menuentry 'Manjaro Linux (Kernel: 5.10.187-1-MANJARO x64 - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.10.187-1-MANJARO x64-fallback-9c57c860-5b10-48bb-b317-03bed2a111b7' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		search --no-floppy --fs-uuid --set=root 9c57c860-5b10-48bb-b317-03bed2a111b7
		linux	/boot/vmlinuz-5.10-x86_64 root=UUID=9c57c860-5b10-48bb-b317-03bed2a111b7 rw  quiet apparmor=1 security=apparmor resume=UUID=36a8a747-a444-480e-a958-198aced3b3f8 udev.log_priority=3 systemd.unified_cgroup_hierarchy=false
		initrd	/boot/initramfs-5.10-x86_64-fallback.img
	}
	menuentry 'Manjaro Linux (Kernel: 5.9-x86_64)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.9-x86_64-advanced-9c57c860-5b10-48bb-b317-03bed2a111b7' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		search --no-floppy --fs-uuid --set=root 9c57c860-5b10-48bb-b317-03bed2a111b7
		linux	/boot/vmlinuz-5.9-x86_64 root=UUID=9c57c860-5b10-48bb-b317-03bed2a111b7 rw  quiet apparmor=1 security=apparmor resume=UUID=36a8a747-a444-480e-a958-198aced3b3f8 udev.log_priority=3 systemd.unified_cgroup_hierarchy=false
		initrd	/boot/intel-ucode.img /boot/initramfs-5.9-x86_64.img
	}
	menuentry 'Manjaro Linux (Kernel: 5.9-x86_64 - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.9-x86_64-fallback-9c57c860-5b10-48bb-b317-03bed2a111b7' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		search --no-floppy --fs-uuid --set=root 9c57c860-5b10-48bb-b317-03bed2a111b7
		linux	/boot/vmlinuz-5.9-x86_64 root=UUID=9c57c860-5b10-48bb-b317-03bed2a111b7 rw  quiet apparmor=1 security=apparmor resume=UUID=36a8a747-a444-480e-a958-198aced3b3f8 udev.log_priority=3 systemd.unified_cgroup_hierarchy=false
		initrd	/boot/initramfs-5.9-x86_64-fallback.img
	}
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (on /dev/sda2)' --class windows --class os $menuentry_id_option 'osprober-efi-8023-B3D5' {
	insmod part_gpt
	insmod fat
	set root='hd0,gpt2'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  8023-B3D5
	else
	  search --no-floppy --fs-uuid --set=root 8023-B3D5
	fi
	chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
menuentry 'Manjaro Linux (22.0.1) (on /dev/sdb1)' --class manjarolinux --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-36199365-e014-4347-9d8a-536d7c560684' {
	insmod part_gpt
	insmod ext2
	set root='hd1,gpt1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt1 --hint-efi=hd1,gpt1 --hint-baremetal=ahci1,gpt1  36199365-e014-4347-9d8a-536d7c560684
	else
	  search --no-floppy --fs-uuid --set=root 36199365-e014-4347-9d8a-536d7c560684
	fi
	linux /boot/vmlinuz-5.15-x86_64 root=UUID=9c57c860-5b10-48bb-b317-03bed2a111b7 rw quiet apparmor=1 security=apparmor resume=UUID=36a8a747-a444-480e-a958-198aced3b3f8 udev.log_priority=3 systemd.unified_cgroup_hierarchy=false
	initrd /boot/intel-ucode.img /boot/initramfs-5.15-x86_64.img
}
submenu 'Advanced options for Manjaro Linux (22.0.1) (on /dev/sdb1)' $menuentry_id_option 'osprober-gnulinux-advanced-36199365-e014-4347-9d8a-536d7c560684' {
	menuentry 'Manjaro Linux (on /dev/sdb1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-5.15-x86_64--36199365-e014-4347-9d8a-536d7c560684' {
		insmod part_gpt
		insmod ext2
		set root='hd1,gpt1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt1 --hint-efi=hd1,gpt1 --hint-baremetal=ahci1,gpt1  36199365-e014-4347-9d8a-536d7c560684
		else
		  search --no-floppy --fs-uuid --set=root 36199365-e014-4347-9d8a-536d7c560684
		fi
		linux /boot/vmlinuz-5.15-x86_64 root=UUID=9c57c860-5b10-48bb-b317-03bed2a111b7 rw quiet apparmor=1 security=apparmor resume=UUID=36a8a747-a444-480e-a958-198aced3b3f8 udev.log_priority=3 systemd.unified_cgroup_hierarchy=false
		initrd /boot/intel-ucode.img /boot/initramfs-5.15-x86_64.img
	}
	menuentry 'Manjaro Linux (Kernel 5.15.89-1-MANJARO x64) (on /dev/sdb1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-5.15-x86_64--36199365-e014-4347-9d8a-536d7c560684' {
		insmod part_gpt
		insmod ext2
		set root='hd1,gpt1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt1 --hint-efi=hd1,gpt1 --hint-baremetal=ahci1,gpt1  36199365-e014-4347-9d8a-536d7c560684
		else
		  search --no-floppy --fs-uuid --set=root 36199365-e014-4347-9d8a-536d7c560684
		fi
		linux /boot/vmlinuz-5.15-x86_64 root=UUID=9c57c860-5b10-48bb-b317-03bed2a111b7 rw quiet apparmor=1 security=apparmor resume=UUID=36a8a747-a444-480e-a958-198aced3b3f8 udev.log_priority=3 systemd.unified_cgroup_hierarchy=false
		initrd /boot/intel-ucode.img /boot/initramfs-5.15-x86_64.img
	}
	menuentry 'Manjaro Linux (Kernel 5.15.89-1-MANJARO x64 - fallback initramfs) (on /dev/sdb1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-5.15-x86_64--36199365-e014-4347-9d8a-536d7c560684' {
		insmod part_gpt
		insmod ext2
		set root='hd1,gpt1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt1 --hint-efi=hd1,gpt1 --hint-baremetal=ahci1,gpt1  36199365-e014-4347-9d8a-536d7c560684
		else
		  search --no-floppy --fs-uuid --set=root 36199365-e014-4347-9d8a-536d7c560684
		fi
		linux /boot/vmlinuz-5.15-x86_64 root=UUID=9c57c860-5b10-48bb-b317-03bed2a111b7 rw quiet apparmor=1 security=apparmor resume=UUID=36a8a747-a444-480e-a958-198aced3b3f8 udev.log_priority=3 systemd.unified_cgroup_hierarchy=false
		initrd /boot/initramfs-5.15-x86_64-fallback.img
	}
	menuentry 'Manjaro Linux (Kernel 5.10.164-1-MANJARO x64) (on /dev/sdb1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-5.10-x86_64--36199365-e014-4347-9d8a-536d7c560684' {
		insmod part_gpt
		insmod ext2
		set root='hd1,gpt1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt1 --hint-efi=hd1,gpt1 --hint-baremetal=ahci1,gpt1  36199365-e014-4347-9d8a-536d7c560684
		else
		  search --no-floppy --fs-uuid --set=root 36199365-e014-4347-9d8a-536d7c560684
		fi
		linux /boot/vmlinuz-5.10-x86_64 root=UUID=9c57c860-5b10-48bb-b317-03bed2a111b7 rw quiet apparmor=1 security=apparmor resume=UUID=36a8a747-a444-480e-a958-198aced3b3f8 udev.log_priority=3 systemd.unified_cgroup_hierarchy=false
		initrd /boot/intel-ucode.img /boot/initramfs-5.10-x86_64.img
	}
	menuentry 'Manjaro Linux (Kernel 5.10.164-1-MANJARO x64 - fallback initramfs) (on /dev/sdb1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-5.10-x86_64--36199365-e014-4347-9d8a-536d7c560684' {
		insmod part_gpt
		insmod ext2
		set root='hd1,gpt1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt1 --hint-efi=hd1,gpt1 --hint-baremetal=ahci1,gpt1  36199365-e014-4347-9d8a-536d7c560684
		else
		  search --no-floppy --fs-uuid --set=root 36199365-e014-4347-9d8a-536d7c560684
		fi
		linux /boot/vmlinuz-5.10-x86_64 root=UUID=9c57c860-5b10-48bb-b317-03bed2a111b7 rw quiet apparmor=1 security=apparmor resume=UUID=36a8a747-a444-480e-a958-198aced3b3f8 udev.log_priority=3 systemd.unified_cgroup_hierarchy=false
		initrd /boot/initramfs-5.10-x86_64-fallback.img
	}
	menuentry 'Manjaro Linux (Kernel 5.9-x86_64) (on /dev/sdb1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-5.9-x86_64--36199365-e014-4347-9d8a-536d7c560684' {
		insmod part_gpt
		insmod ext2
		set root='hd1,gpt1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt1 --hint-efi=hd1,gpt1 --hint-baremetal=ahci1,gpt1  36199365-e014-4347-9d8a-536d7c560684
		else
		  search --no-floppy --fs-uuid --set=root 36199365-e014-4347-9d8a-536d7c560684
		fi
		linux /boot/vmlinuz-5.9-x86_64 root=UUID=9c57c860-5b10-48bb-b317-03bed2a111b7 rw quiet apparmor=1 security=apparmor resume=UUID=36a8a747-a444-480e-a958-198aced3b3f8 udev.log_priority=3 systemd.unified_cgroup_hierarchy=false
		initrd /boot/intel-ucode.img /boot/initramfs-5.9-x86_64.img
	}
	menuentry 'Manjaro Linux (Kernel 5.9-x86_64 - fallback initramfs) (on /dev/sdb1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-5.9-x86_64--36199365-e014-4347-9d8a-536d7c560684' {
		insmod part_gpt
		insmod ext2
		set root='hd1,gpt1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt1 --hint-efi=hd1,gpt1 --hint-baremetal=ahci1,gpt1  36199365-e014-4347-9d8a-536d7c560684
		else
		  search --no-floppy --fs-uuid --set=root 36199365-e014-4347-9d8a-536d7c560684
		fi
		linux /boot/vmlinuz-5.9-x86_64 root=UUID=9c57c860-5b10-48bb-b317-03bed2a111b7 rw quiet apparmor=1 security=apparmor resume=UUID=36a8a747-a444-480e-a958-198aced3b3f8 udev.log_priority=3 systemd.unified_cgroup_hierarchy=false
		initrd /boot/initramfs-5.9-x86_64-fallback.img
	}
	menuentry 'Memory Tester (memtest86+) (on /dev/sdb1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/memtest86+/memtest.bin--36199365-e014-4347-9d8a-536d7c560684' {
		insmod part_gpt
		insmod ext2
		set root='hd1,gpt1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt1 --hint-efi=hd1,gpt1 --hint-baremetal=ahci1,gpt1  36199365-e014-4347-9d8a-536d7c560684
		else
		  search --no-floppy --fs-uuid --set=root 36199365-e014-4347-9d8a-536d7c560684
		fi
		linux /boot/memtest86+/memtest.bin
	}
}

set timeout_style=menu
if [ "${timeout}" = 0 ]; then
  set timeout=10
fi
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
if [ "$grub_platform" = "efi" ]; then
	menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
		fwsetup
		}
fi
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/35_fwupd ###
### END /etc/grub.d/35_fwupd ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg
fi
### END /etc/grub.d/41_custom ###

### BEGIN /etc/grub.d/60_memtest86+ ###
if [ "${grub_platform}" == "pc" ]; then
    menuentry "Memory Tester (memtest86+)" --class memtest86 --class gnu --class tool {
        search --fs-uuid --no-floppy --set=root  9c57c860-5b10-48bb-b317-03bed2a111b7
        linux16 /boot/memtest86+/memtest.bin
    }
fi
### END /etc/grub.d/60_memtest86+ ###

However, I’m not sure, how to look for the old Grub. I guess I need to mount sdb2?

On another note, maybe it is just a bug in update-grub?

sudo update-grub
[sudo] password for ******:
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-6.1-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-6.1-x86_64.img
Found initrd fallback image: /boot/initramfs-6.1-x86_64-fallback.img
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.9-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.9-x86_64.img
Found initrd fallback image: /boot/initramfs-5.9-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.
Found Windows Boot Manager on /dev/sda2@/efi/Microsoft/Boot/bootmgfw.efi
Found Manjaro Linux (22.0.1) on /dev/sdb1
Adding boot menu entry for UEFI Firmware Settings ...
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: warning: unknown device type nvme1n1.
done

/usr/bin/grub-probe: warning: unknown device type nvme1n1. sounds very related to my problem.

I would advise you to use systemd-boot as it is much simpler to configure and setup as Grub…

Thanks for the hint! I’ll look into it. However, I’m a little hesitant to replace a sort of “working” system.

It won’t be a replacement, just an extra that will work aside any other bootloader…
So you get the option to choose one while you boot from your UEFI-Bios :wink:
It’s up to you if you want to completely remove the other bootloaders you are trying/using…

Probably not i have the same error and everything is working (even with 2 ESP partitions, but on the same drive).

It seems like your UEFI boots from the same ESP where Windows is…wich is actually sda2 not sdb2. Maybe your Firmware does not support many ESP partitions (more than one is actually against the specification, but it often works). Could be that you booted from sda this whole time and thought you booted from sdb :slight_smile:

So, a couple of ideas:

  • (least important) if you haven’t in a couple of years - update the UEFi, maybe you will get lucky
  • reinstall grub on the ESP you want (SSD 2). That should bump the Entry in the UEFI menu. That would be my best bet and the least probable to break anything
  • there is an option grub-install --removable which will probably help, but i have not tried it, read about it too.
  • last idea (untested) - maybe using gparted from live usb and unsetting the boot/esp flag on the old ESP partitions will help the Firmware. Because right now you have 3 ESPs on your 4 drives.
    Write down the UUIDs before that, i am not sure if messing with the flags resets the UUID and than it will not match the /etc/fstab and you won’t boot at all

Flags have nothing to do with UEFI-Booting…
All that your UEFI-Bios looks for are ESP partitions, that have a specific GUID, on the drives connected and use the first it encounters as default. (See the specs)

Those flags you mention are for Legacy-BIOS aka non-UEFI…

Essentially, from a bootable flash drive manjaro

su -
manjaro-chroot -a
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
grub-mkconfig -o /boot/grub/grub.cfg

Be careful, which ESP is mounted (check after chrooting with lsblk) and to which manjaro you are chrooting.

That would indeed be a good thing. However, I read here on the forum (/t/how-to-convert-to-systemd-boot/128946) that I’d have to remove GRUB to switch to systemd-boot. Can you recommend another guide for the conversion?

That’s definitively possible, since I started coming from Windows (probably the initial mistake :grin:). Did you read that form the efibootmg output? Or how can I verify that?

Just to be sure: You mean nvme1n1, right?

I already thought that I need to do that. Would you recommend disconnecting the other drives beforehand? And how do I get rid of the other bootloaders, once everything works?

Thanks, you two!

EDIT: I just realized that removing the windows drive would be a bad idea, since it is supposed to be included in the new Grub menu.

That’s definitively possible, since I started coming from Windows (probably the initial mistake :grin:). Did you read that form the efibootmg output? Or how can I verify that?

Yes, there

Just to be sure: You mean nvme1n1, right?

yes

I already thought that I need to do that. Would you recommend disconnecting the other drives beforehand?

Honestly, i am not entirely sure

And how do I get rid of the other bootloaders, once everything works?

You can always mount and then delete the EFI files and subfolders on the ESP partition.

You don’t “convert”, you just add to your boot choices… (NOT touch any grub config at all)

I only use sd-boot, but have grub still installed due to dependencies but never use it to boot my system at all…
In fact grub can’t handle my setup lol

Its a question of /etc/fstab entry, i today changed my /home disk
and altered the entry for “/home” to the new disk
sudo blkid gives the required UUID of the new disk…

Not all boot problems are related to /etc/fstab… :yawning_face:

There’s a relatively simple solution to this, without going to a lot of trouble.

Basically what you need to do is use the ESP on your sdb Samsung SSD drive to point to the grub on your 2TB Samsung EVO. The file to adjust is your grub.cfg in your ESP on the sdb drive. You do this as follows:

The ESP may or may not already be mounted according to how your /etc/fstab is configured. A quick way of finding out is to navigate to /boot/efi (on the sdb drive (assuming you’re already booted in there). If you see a cross on that folder and you need root permissions to open it, then the ESP is mounted in there.

The next thing you need to find is the grub.cfg file itself. A quick way of finding it is from the terminal run :

If you see the folder manjaro listed you’re in the right place. But in any case, because you have 3 ESPs you’ve complicated the situation as only 2 at the most are necessary. You don’t need the one on your EVO 2TB disk. I’d need to know what folders are listed there. Assuming it’s there run command:

If you get the error - no such file - or similar, then it must be in one of the other folders listed so I’d need to know what other folders exist from that previous ls command you did. First let’s see if you get this far before continuing.

@bendipa1 ,
Don’t forget that Grub normally also has a grub.cfg inside the ESP which sets the root drive, apart from the grub.cfg inside /boot/grub…

This is not correct, because you can not use the ESP to point to bootloaders on other drives, you use the NVRAM entries to do that, ESP is just a medium that holds the files while the NVRAM holds the UEFI-Boot entries…
Don’t mix the two terms…

Thanks for the hint. I’m not sure, if that is the problem. But for completeness:

cat /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>

UUID=F8AF-BD3B	/boot/efi	vfat	umask=0077	0	2
UUID=9c57c860-5b10-48bb-b317-03bed2a111b7	/	ext4	defaults,noatime,discard	0	1
tmpfs	/tmp	tmpfs	defaults,noatime,mode=1777	0	0
UUID=4B0997FF44F8FE05	/games	ntfs	rw,auto,user,exec,nls=utf8,umask=003,gid=1000,uid=1000	0	0
/swapfile	none	swap	defaults	0	0
UUID=5858F83858F8170A                     /data         ntfs    rw,auto,user,exec,nls=utf8,umask=003,gid=1000,uid=1000    0   0
/dev/sdc3 	/backup 	ext4 	defaults 	0	0
sudo blkid

/dev/nvme0n1p1: LABEL="Spiele2" BLOCK_SIZE="512" UUID="4B0997FF44F8FE05" TYPE="ntfs" PARTLABEL="Spiele2" PARTUUID="bee8ab54-30fb-4421-96e8-5050446b88d0"
/dev/sdb2: UUID="352D-5870" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="9c967a2c-739f-47fb-aeb1-ff618a6e73e6"
/dev/sdb1: UUID="36199365-e014-4347-9d8a-536d7c560684" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="dd3b6169-4973-4e13-8816-493ba94e9ca0"
/dev/sdc2: LABEL="Daten" BLOCK_SIZE="512" UUID="5858F83858F8170A" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="f40abd8f-9d9a-4b77-844d-08ef4bb8a5e5"
/dev/sdc3: LABEL="backup-linux" UUID="8ac747b7-e7fd-428d-9381-9d35a8cd8c30" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="6bec7ac0-4bf4-3245-bb93-3433268eab42"
/dev/nvme1n1p2: UUID="F8AF-BD3B" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="9c967a2c-739f-47fb-aeb1-ff618a6e73e6"
/dev/nvme1n1p1: UUID="9c57c860-5b10-48bb-b317-03bed2a111b7" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="dd3b6169-4973-4e13-8816-493ba94e9ca0"
/dev/sda2: UUID="8023-B3D5" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="e3a5c15d-03d8-43a8-85ab-2004c68c621a"
/dev/sda3: LABEL="System" BLOCK_SIZE="512" UUID="45D213BE62B320F6" TYPE="ntfs" PARTUUID="5b335c07-fe58-41af-b695-edf8181aa2a9"
/dev/sda1: LABEL="Wiederherstellung" BLOCK_SIZE="512" UUID="0CB2AF20B2AF0D70" TYPE="ntfs" PARTUUID="fbd6083d-04e8-4351-aecf-8f513c7e9cbf"
/dev/sdc1: PARTLABEL="Microsoft reserved partition" PARTUUID="b01b3646-f12a-4ae9-92b3-a310e03e1946"

So as far as I can see, the UUID is correct.

Thanks for chiming in! Won’t that create a dependency on sdb, i.e. that I’d need the old Manjaro drive to boot? Ultimately, I’d like to get rid of this drive. Please excuse me, if I misunderstood something.

I think the last 2-3 comments were more bias than helpful. @bendipa1 I think you misunderstood the whole setup. You are telling him to chainload more or less, but he want to remove the drive… And grub.cfg has nothing to do there, the only thing that Manjaro puts on the ESP normally is grubx64.efi. Unless you made a boot partition or smth.

The whole problem is to convince the UEFI Firmware with Menu list/ EFI variables, to look for .efi files on the F8AF-BD3B

I don’t think I’m mixing anything up.

You are conflating the 2 grub.cfg files which serve different purposes. I’m not talking about the file that exists in /boot/grub which you should not edit, as it is composed on updating grub. The grub.cfg I am talking about for a multi-boot system is the one that exists in the ESP, and can be configured to boot from a different drive where another Linux root system exists.

I have a multi-boot system consisting of Windows, Mint 20, Mint 21 and Manjaro. I have 2 ESPs, one for Windows, the other for Mint 21. For the Mint I can configure its ESP grub.cfg to boot from any of the 3 Linux grub systems I have, by configuring that file and it works just fine. Been doing so for years.

Ok so you’re actually configuring Grub, not the ESP, to use it’s files from another partition :wink:
The Grub used to actually boot the system from UEFI-Bios point of view is still the same in the ESP. :wink:

1 Like

I thought further up that you wanted to keep that drive with the old Manjaro. The only reason therefore I suggested altering that ESP was more for convenience as it’s already booting from that grub - so you said… If you don’t want to boot from sdb and instead boot from the M.2, then delete the ESP from sdb, but back it up first just in case. You can image that ESP with Disks to an external USB.You can always restore the situation then, if you still have your installation USB drive but can.t boot to your internal disk.

I actually hadn’t finished my suggestion, It was only partly complete, and you still need to go into your UEFI and alter the boot order of the disks. This was only to show you that you can transfer ESP control from your old Manjaro grub to your new disk. If you wish to continue this then I can.

By the way, you have a 500 GB sdb drive and you are out of space? I have a 320 GB disk with 3 Linux systems and I have plenty of space left. Manjaro itself only takes up 25 GB, but that’s another story.

Thanks for all the input! To be honest, I’m still struggling a bit to make sense of some of it, since I’m not that experienced with how booting works, yet.

I gave it a try. This is what I did:

  1. I disconnected the old Manjaro drive, started from USB and issued the commands above. After rebooting, the system did not boot up.
  2. I further disconnected the Windows drive, started from USB and issued the commands above. After rebooting, the system did not boot up.

Every time, I checked that the mounted ESP was on the new Manjaro drive.

If I’m not mistaken, then I configured my system to the most simple boot configuration (one OS on one drive). Still, it did not work. I hope that this will simplify the debugging.