Why does not dual-boot (manager) installation (always) succeed?

I have used dual-boot (and more) installations several years, i.e Leap15x and Tumbleweed. But sometimes the second (boot manager?) installation does not succeed.

So also this time I want to explain my re-installation to hopefully get clarified why it sometimes does not succeed :wink:

I have more HDD hardware, but focus here both installation overview output extracts below on the two primary system installation discs.

  1. Leap15.5
    ==========
    First installation on /dev/nvme0n1p from USB pin works fine.

inxi -dSz
System:
Kernel: 5.14.21-150500.55.19-default arch: x86_64 bits: 64 Desktop: GNOME
v: 41.9 Distro: openSUSE Leap 15.5
Drives:
Local Storage: total: 8.8 TiB used: 5.22 TiB (59.3%)
ID-1: /dev/nvme0n1 vendor: Samsung model: MZVPV512HDGL-00000
size: 476.94 GiB
ID-2: /dev/sda vendor: Intel model: SSDSA2CW160G3 size: 149.05 GiB

df -h
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p3 40G 6.7G 31G 18% /
/dev/nvme0n1p4 427G 162G 244G 40% /home
/dev/nvme0n1p1 156M 6.3M 150M 4% /boot/efi

cat /etc/fstab
LABEL=leap15 / ext4 defaults 0 1
LABEL=home_lp15 /home ext4 data=ordered 0 2
UUID=EB7B-A1F0 /boot/efi vfat utf8 0 2
LABEL=swap swap swap defaults 0 0
LABEL=sda6_data /data ext4 data=ordered 0 0

fdisk -l /dev/nvme*
fdisk: cannot open /dev/nvme0: Illegal seek

Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 321535 319488 156M EFI System
/dev/nvme0n1p2 321536 4530175 4208640 2G Linux swap
/dev/nvme0n1p3 4530176 88422399 83892224 40G Linux filesystem
/dev/nvme0n1p4 88422400 1000214527 911792128 434.8G Linux filesystem

fdisk -l /dev/sda*
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 4208639 4206592 2G 82 Linux swap / Solaris
/dev/sda2 4208640 46153727 41945088 20G 7 HPFS/NTFS/exFAT
/dev/sda3 46153728 130045951 83892224 40G 83 Linux
/dev/sda4 * 130045952 312580095 182534144 87G f W95 Ext’d (LBA)
/dev/sda5 130048000 171991039 41943040 20G 83 Linux
/dev/sda6 171993088 281042307 109049220 52G 83 Linux
/dev/sda7 281042944 281567231 524288 256M c W95 FAT32 (LBA)
/dev/sda8 281569280 312580095 31010816 14.8G 83 Linux

  1. Tumbleweed
    =============

2.1 Tried a new installation on /dev/sda (reformatted disk partitions) from USB

  • /dev/sda1 for swap
  • /dev/sda5 for root
  • /dev/sda7 for boot-uefi
  • /dev/sda8 for /home

But the installation did not finish successful:
An YaST2 Error occured by the end during the boot manager installation:
Execution of the command “[[”/usr/sbin/shim-install", “–config-file=/boot/grub2/grub.cfg”]]" failed.
Exit code: 5
Error output: Installing for x86_64-efi platform.
Installation finished. No error reported.
Could not prepare Boot variable: Function not implemented.

And restarting the machine there were no entries created for Tumbleweed on the Grub2 menu. And even after booting the first Leap155 and running the YaST2 Bootloader, there were neither added any entry for Tumbleweed.

2.2. As a work-around (intermediate) I tried to install another LP15 root (and /home) on the same disk, but on another partition /dev/sda3 (labeled LP15)

This finished successfully, rebooted to the first Leap15.5 installation and ran YaST>Bootloader to search for other OS, it added a new boot entry for this second “LP15” on the dual-boot Grub2 menu.

2.3 Lastly I ran a Tumbleweed Upgrade installation (from 2.2 LP15), and this worked. Rebooted to Leap15. 5 and re-ran the YasT2>Bootloader which updated the dual-boot Grub2 menu from intermediate LP15 to Tumbleweed entries.

Booting Tumbleweed, I can now see the corresponding disc overviews:

/usr/bin/inxi -dSz
System:
Kernel: 6.4.12-1-default arch: x86_64 bits: 64 Desktop: GNOME v: 44.4
Distro: openSUSE Tumbleweed 20230910
Drives:
Local Storage: total: 8.8 TiB used: 5.18 TiB (58.9%)
ID-1: /dev/nvme0n1 vendor: Samsung model: MZVPV512HDGL-00000
size: 476.94 GiB
ID-2: /dev/sda vendor: Intel model: SSDSA2CW160G3 size: 149.05 GiB

df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 40G 8.1G 30G 22% /
/dev/sda7 256M 5.7M 251M 3% /boot/efi

cat /etc/fstab
LABEL=LP15 / ext4 defaults 0 1
LABEL=boot-efi /boot/efi vfat utf8 0 2
LABEL=swap swap swap defaults 0 0

fdisk -l /dev/nvme*
fdisk: cannot open /dev/nvme0: Illegal seek

Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 321535 319488 156M EFI System
/dev/nvme0n1p2 321536 4530175 4208640 2G Linux swap
/dev/nvme0n1p3 4530176 88422399 83892224 40G Linux filesystem
/dev/nvme0n1p4 88422400 1000214527 911792128 434.8G Linux filesystem

fdisk -l /dev/sda*
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 4208639 4206592 2G 82 Linux swap / Solaris
/dev/sda2 4208640 46153727 41945088 20G 7 HPFS/NTFS/exFAT
/dev/sda3 46153728 130045951 83892224 40G 83 Linux
/dev/sda4 * 130045952 312580095 182534144 87G f W95 Ext’d (LBA)
/dev/sda5 130048000 171991039 41943040 20G 83 Linux
/dev/sda6 171993088 281042307 109049220 52G 83 Linux
/dev/sda7 281042944 281567231 524288 256M c W95 FAT32 (LBA)
/dev/sda8 281569280 312580095 31010816 14.8G 83 Linux

  1. NEVER edit command output. Always copy and paste full.
  2. Post computer output as preformatted (button </> in editor).

As for your problem

efibootmgr does not support ESP on DOS logical partition.

Thank you for your feedback and reply, which I comment below:

  1. NEVER edit command output. Always copy and paste full.

OK, I felt it became too much output and load

  1. Post computer output as preformatted (button </> in editor).

Ok, I actually started with that but left it as I didn’t see really difference (is this button the same as code button?)

efibootmgr does not support ESP on DOS logical partition.

I think I understand this, at least partly (W95 LBA on /sda7 is a container for other partitions and not for installing system data on it)

But what was the difference and why did my 2.2 LP15 and upgrade to TW on /sda3 work, while not the first attempt 2,1 TW on /sda5 and /sda8 ?

Is the latter expected to work if I leave out /boot/efi on /sda7 or alternatively reformat a new small partition for the purpose?

It’s quite easy to let the first Leap15.5 YaST2>Boot loader complete the dual-boot grub2 menu as described in 2.2 and 2.3

For that LP15 install, you possibly used legacy booting instead of UEFI booting. If you switch the installed TW to legacy booting, that will probably work.

@nrickert:

If legacy boot installation, what about the /boot/efi lines in section 2.3

df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda7       256M  5.7M  251M   3% /boot/efi

/etc/fstab
LABEL=boot-efi  /boot/efi  vfat  utf8      0  2

With legacy booting, you won’t need “/boot/efi”. If you are able to switch, then you can comment out that line in “/etc/fstab”.

Try booting with the install medium. There’s a choice in the boot menu to “Boot linux system”. If you are able to do that to get into your system, then you can use Yast bootloader to fix this. Simply change from “GRUB for EFI” to “GRUB2”.