• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Mehrere Linux-Distributionen parallel installiert - Bootloader erkennt diese nicht

Hallo zusammen,

ich habe neben meiner Hauptdistribution auf der selben M.2 2 weitere Linux-Distributionen installiert. Alle Distributionen haben BTRFS als Dateistruktur.
Code:
lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0         7:0    0  91,7M  1 loop /snap/gtk-common-themes/1535
loop1         7:1    0  73,9M  1 loop /snap/core22/1663
loop2         7:2    0 505,1M  1 loop /snap/gnome-42-2204/176
loop3         7:3    0  73,9M  1 loop /snap/core22/1722
loop4         7:4    0     4K  1 loop /snap/bare/5
loop5         7:5    0  38,8M  1 loop /snap/snapd/21759
loop6         7:6    0  44,3M  1 loop /snap/snapd/23258
loop7         7:7    0  26,3M  1 loop /snap/video-downloader/1224
loop8         7:8    0  26,3M  1 loop /snap/video-downloader/1227
nvme1n1     259:0    0   3,6T  0 disk
└─nvme1n1p1 259:2    0   3,6T  0 part
nvme0n1     259:1    0   3,6T  0 disk
├─nvme0n1p1 259:3    0   260M  0 part /boot/efi
├─nvme0n1p2 259:4    0    42G  0 part /var
│                                     /usr/local
│                                     /root
│                                     /srv
│                                     /opt
│                                     /boot/grub2/x86_64-efi
│                                     /boot/grub2/i386-pc
│                                     /
├─nvme0n1p3 259:5    0   3,2T  0 part /home
├─nvme0n1p4 259:6    0 177,6G  0 part
├─nvme0n1p5 259:7    0     1G  0 part
├─nvme0n1p6 259:8    0    12G  0 part [SWAP]
└─nvme0n1p7 259:9    0 176,6G  0 part

Als Bootloader habe ich Grub2 für EFI installiert. Auf 4 und 7 sind die beiden Linux Distributionen, die ich gerne mit in den opensuse Tumbleweed (2) Bootloader einbinden möchte.

Ein
Code:
grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found theme: /boot/grub2/themes/openSUSE/theme.txt
Found linux image: /boot/vmlinuz-6.13.0-rc3-1.gfcd2144-default
Found initrd image: /boot/initrd-6.13.0-rc3-1.gfcd2144-default
Found linux image: /boot/vmlinuz-6.13.0-rc2-2.g7cfe858-default
Found initrd image: /boot/initrd-6.13.0-rc2-2.g7cfe858-default
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.
1128.029344 | DM multipath kernel driver not loaded
Found Garuda Linux on /dev/nvme0n1p4
Found Nobara Linux 40 (KDE Plasma) on /dev/nvme0n1p7
Adding boot menu entry for UEFI Firmware Settings ...
done

erkennt zwar die anderen Linux Distributionen, verändert aber nichts am Bootloader (Grub2 für EFI).
Code:
sudo grub2-mkconfig -o /boot/efi/EFI/opensuse/grub.cfg
Generating grub configuration file ...
Found theme: /boot/grub2/themes/openSUSE/theme.txt
Found linux image: /boot/vmlinuz-6.13.0-rc3-1.gfcd2144-default
Found initrd image: /boot/initrd-6.13.0-rc3-1.gfcd2144-default
Found linux image: /boot/vmlinuz-6.13.0-rc2-2.g7cfe858-default
Found initrd image: /boot/initrd-6.13.0-rc2-2.g7cfe858-default
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.
30.822676 | DM multipath kernel driver not loaded
Found Garuda Linux on /dev/nvme0n1p4
Found Nobara Linux 40 (KDE Plasma) on /dev/nvme0n1p7
Adding boot menu entry for UEFI Firmware Settings ...
done

Was muß ich tun, um die anderen beiden Distributionen mit einzubinden?

Lieben Dank schon mal für sachdienliche Hinweise!

Infos:
OpenSuse Tumbleweed
Kernel 6.13.0-rc3-1.gfcd2144-default (64-bit)
KDE 6.2.4
KDE Framework 6.9.0
Qt-6.8.1
 
Zuletzt bearbeitet:
Code:
1128.029344 | DM multipath kernel driver not loaded
Warum ist multipath* installiert und wozu wird es gebraucht?
 

susejunky

Moderator
Teammitglied
Hallo @Phoenix7 ,

Code:
sudo grub2-mkconfig -o /boot/efi/EFI/opensuse/grub.cfg
...

Das verstehe ich nicht. Was willst Du mit diesem Befehl erreichen?

Wenn Du alle drei Systeme mit Hilfe einer GRUB-Installation (z.B. der von openSUSE) starten willst, dann wird GRUB alleine von diesem einen System (z.B. openSUSE) aus verwaltet (idealerweise werden alle anderen Systeme ohne Bootloader installiert). Der Ablauf zum Starten ist dann für alle Systeme der selbe:
  1. Das UEFI lädt den openSUSE-Bootloader (z.B. /boot/efi/EFI/opensuse/grubx64.efi von [nvme0n1p1]).
  2. Der openSUSE-Bootloader lädt das openSUSE-Bootmenü (z.B. /boot/grub2/grub.cfg von [nvme0n1p2] )
  3. Nach erfolgter Auswahl durch den Benutzer lädt der openSUSE-Bootloader die initrd und den Kernel des vom Benutzer ausgewählten Systems (je nach ausgewähltem System von [nvme0n1p2] oder von [nvme0n1p4] oder von [nvme0n1p7])
Mit grub2-mkconfig wird (unter openSUSE) die Datei /boot/grub2/grub.cfg (auf [nvme0n1p2]) erzeugt. Wenn dabei os-prober aktiviert ist, werden alle Datenträger nach bootbaren Systemen durchsucht und diese werden in das Bootmenü aufgenommen.

OpenSuse Tumbleweed
Kernel 6.13.0-rc3-1.gfcd2144-default (64-bit)
KDE 6.2.4
KDE Framework 6.9.0
Qt-6.8.1

Das ist kein Standard openSUSE Tumbleweed System! Aktueller Tumbleweed-Snapshot:
Code:
Betriebssystem: openSUSE Tumbleweed 20241216
KDE-Plasma-Version: 6.2.4
KDE-Frameworks-Version: 6.9.0
Qt-Version: 6.8.1
Kernel-Version: 6.11.8-1-default (64-bit)

Viele Grüße

susejunky
 
Danke Euch beiden, für Eure Antworten!

Folgendes habe ich gemacht multipath* habe ich deinstalliert.

Tumbleweed ist meine Hauptdistribution und die Verwaltung des Bootloaders erfolgt auch von diesem aus.
Das ist kein Standard openSUSE Tumbleweed System! Aktueller Tumbleweed-Snapshot:
Code:
Betriebssystem: openSUSE Tumbleweed 20241216
KDE-Plasma-Version: 6.2.4
KDE-Frameworks-Version: 6.9.0
Qt-Version: 6.8.1
Kernel-Version: 6.11.8-1-default (64-bit)
Bis auf den Kernel ist alles Standard.
Code:
http://download.opensuse.org/repositories/Kernel:/HEAD/standard/
Aber das wird vermutlich nicht oder Ursache sein, oder doch?

Code:
grub2-mkconfig
habe ich ausgeführt. Dies ist durchgelaufen ohne Fehler und die anderen beiden Distributionen wurden erkannt. Leider keine Veränderung. Die beiden anderen Distributionen werden im Bootloader immer noch nicht angezeigt.

Was wäre nun Eure Empfehlung?
Wenn Du alle drei Systeme mit Hilfe einer GRUB-Installation (z.B. der von openSUSE) starten willst, dann wird GRUB alleine von diesem einen System (z.B. openSUSE) aus verwaltet (idealerweise werden alle anderen Systeme ohne Bootloader installiert).
Soll ich die beiden anderen Systeme nochmal neu installieren, ohne Bootloader auf den jeweiligen Partitionen?
Müsste ich in diesem Fall bei den beiden anderen die
Code:
nvme0n1p1 /boot/efi
mit einbinden bei der Installation? Bisher haben beide ja einen eigenen Bootloader.

Vielen Dank schon mal!
 
Zuletzt bearbeitet:

susejunky

Moderator
Teammitglied
Hallo @Phoenix7 ,

Bis auf den Kernel ist alles Standard. Aber das wird vermutlich nicht oder Ursache sein, oder doch?

das halte ich für eher unwahrscheinlich (allerdings würde ich einen Kernel aus HEAD erst dann verwenden, wenn alles andere so funktioniert, wie ich es haben will).

Soll ich die beiden anderen Systeme nochmal neu installieren, ohne Bootloader auf den jeweiligen Partitionen?

Das sollte eigentlich nicht notwendig sein.

Vorausgesetzt, dass Du keine verschlüsselten Partitionen verwendest, würde ich an Deiner Stelle wie folgt vorgehen:
  1. openSUSE Tumbleweed starten.

  2. Sicherstellen, dass [nvme0n1p1] unter /boot/efi eingehängt ist.

  3. Mit update-bootloader --reinit den openSUSE-Bootloader noch einmal neu installieren.

  4. Sicherstellen, dass os-prober aktiviert wird (=> /etc/default/grub: GRUB_DISABLE_OS_PROBER="false").

  5. Mit grub2-mkconfig -o /boot/grub2/grub.cfg (!!! Beachte den Zielpfad !!!) das GRUB Bootmenü von openSUSE neu erstellen.

  6. System neu starten
Sollte der Bootvorgang danach noch immer nicht Deinen Vorstellungen entsprechen, dann zeige bitte die vollständigen Ergebnisse der folgenden Befehle (als "root" in einer Konsole ausführen)
Code:
efibootmgr
Code:
ls -laR /boot/efi
Code:
cat /boot/grub2/grub.cfg
Code:
cat /etc/default/grub
Code:
cat /etc/fstab
und beschreibe bitte ganz genau was Du erwartet hast und was statt dessen eingetroffen ist.

Viele Grüße

susejunky
 
Sicherstellen, dass [nvme0n1p1] unter /boot/efi eingehängt ist.
Code:
cat /proc/mounts | grep nvme0n1p1
/dev/nvme0n1p1 /boot/efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
Code:
├─/boot/grub2/i386-pc                                         /dev/nvme0n1p2[/@/boot/grub2/i386-pc]    btrfs           rw,relatime,ssd,discard=async,space_cache=v2,subvolid=263,subvol=/@/boot/grub2/i386-pc
├─/boot/grub2/x86_64-efi                                      /dev/nvme0n1p2[/@/boot/grub2/x86_64-efi] btrfs           rw,relatime,ssd,discard=async,space_cache=v2,subvolid=262,subvol=/@/boot/grub2/x86_64-efi
Ist dies vielleicht das Problem? Wie kann ich statt dessen nvme0n1p1 als EFI einhängen und diese beiden aushängen?
 

susejunky

Moderator
Teammitglied
Hallo @Phoenix7 ,

Ist dies vielleicht das Problem?

Meines Erachtens ist das so in Ordnung.

Mein System:
Code:
# cat /proc/mounts
...
/dev/nvme1n1p1 /boot/efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
...
/dev/nvme1n1p2 / btrfs rw,relatime,ssd,discard=async,space_cache=v2,subvolid=256,subvol=/@ 0 0
...
/dev/nvme1n1p2 /boot/grub2/x86_64-efi btrfs rw,relatime,ssd,discard=async,space_cache=v2,subvolid=263,subvol=/@/boot/grub2/x86_64-efi 0 0
/dev/nvme1n1p2 /boot/grub2/i386-pc btrfs rw,relatime,ssd,discard=async,space_cache=v2,subvolid=264,subvol=/@/boot/grub2/i386-pc 0 0
...
#

Viele Grüße

susejunky
 
Code:
efibootmgr
BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0003,0005,0000,2002,2001,2003
Boot0000* openSUSE      HD(1,GPT,6d194186-6078-4d32-aaa4-7ffde6d0bfc8,0x800,0x82000)/File(\EFI\opensuse\grubx64.efi)
Boot0001* EFI PXE 0 for IPv4 (C4-C6-E6-79-7E-0C)        PciRoot(0x0)/Pci(0x3,0x3)/Pci(0x0,0x0)/MAC(c4c6e6797e0c,0)/IPv4(0.0.0.00.0.0.0,0,0)RC
Boot0002* EFI PXE 0 for IPv6 (C4-C6-E6-79-7E-0C)        PciRoot(0x0)/Pci(0x3,0x3)/Pci(0x0,0x0)/MAC(c4c6e6797e0c,0)/IPv6([::]:<->[::]:,0,0)RC
Boot0003* opensuse-secureboot   HD(1,GPT,6d194186-6078-4d32-aaa4-7ffde6d0bfc8,0x800,0x82000)/File(\EFI\opensuse\shim.efi)
Boot0005* Garuda        HD(1,GPT,6d194186-6078-4d32-aaa4-7ffde6d0bfc8,0x800,0x82000)/File(\EFI\Garuda\grubx64.efi)
Boot2001* EFI USB Device        RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network   RC
ls -laR /boot/efi
Code:
ls -laR /boot/efi
/boot/efi:
insgesamt 1
drwxr-xr-x 3 root root  512  1. Jan 1970  .
dr-xr-xr-x 1 root root 1000 18. Dez 19:35 ..
drwxr-xr-x 6 root root  512 25. Okt 00:32 EFI

/boot/efi/EFI:
insgesamt 4
drwxr-xr-x 6 root root  512 25. Okt 00:32 .
drwxr-xr-x 3 root root  512  1. Jan 1970  ..
drwxr-xr-x 2 root root  512 24. Okt 23:35 boot
drwxr-xr-x 2 root root  512 24. Okt 23:35 Garuda
drwxr-xr-x 3 root root  512 24. Okt 21:39 Lenovo
drwxr-xr-x 2 root root 1024 18. Dez 17:21 opensuse

/boot/efi/EFI/boot:
insgesamt 285
drwxr-xr-x 2 root root    512 24. Okt 23:35 .
drwxr-xr-x 6 root root    512 25. Okt 00:32 ..
-rwxr-xr-x 1 root root 290816 18. Dez 18:35 bootx64.efi

/boot/efi/EFI/Garuda:
insgesamt 285
drwxr-xr-x 2 root root    512 24. Okt 23:35 .
drwxr-xr-x 6 root root    512 25. Okt 00:32 ..
-rwxr-xr-x 1 root root 290816 18. Dez 18:35 grubx64.efi

/boot/efi/EFI/Lenovo:
insgesamt 2
drwxr-xr-x 3 root root 512 24. Okt 21:39 .
drwxr-xr-x 6 root root 512 25. Okt 00:32 ..
drwxr-xr-x 2 root root 512 24. Okt 21:39 BIOS

/boot/efi/EFI/Lenovo/BIOS:
insgesamt 32769
drwxr-xr-x 2 root root      512 24. Okt 21:39 .
drwxr-xr-x 3 root root      512 24. Okt 21:39 ..
-rwxr-xr-x 1 root root 33554432 24. Okt 21:39 SelfHealing.fd

/boot/efi/EFI/opensuse:
insgesamt 4164
drwxr-xr-x 2 root root    1024 18. Dez 17:21 .
drwxr-xr-x 6 root root     512 25. Okt 00:32 ..
-rwxr-xr-x 1 root root      58 18. Dez 19:32 boot.csv
-rwxr-xr-x 1 root root     167 18. Dez 19:32 grub.cfg
-rwxr-xr-x 1 root root 2107248 18. Dez 19:32 grub.efi
-rwxr-xr-x 1 root root  335872 18. Dez 19:32 grubx64.efi
-rwxr-xr-x 1 root root  852312 18. Dez 19:32 MokManager.efi
-rwxr-xr-x 1 root root  965528 18. Dez 19:32 shim.efi
cat /etc/default/grub
Code:
cat /etc/default/grub
# If you change this file, run 'grub2-mkconfig -o /boot/grub2/grub.cfg' afterwards to update
# /boot/grub2/grub.cfg.

# Uncomment to set your own custom distributor. If you leave it unset or empty, the default
# policy is to determine the value from /etc/os-release
GRUB_DISTRIBUTOR=
GRUB_DEFAULT=saved
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=3
GRUB_CMDLINE_LINUX_DEFAULT="splash=silent quiet security=apparmor mitigations=auto"
GRUB_CMDLINE_LINUX=""

# Uncomment to automatically save last booted menu entry in GRUB2 environment

# variable `saved_entry'
# GRUB_SAVEDEFAULT="true"
#Uncomment to enable BadRAM filtering, modify to suit your needs

# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
# GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
#Uncomment to disable graphical terminal (grub-pc only)

GRUB_TERMINAL="gfxterm"
# The resolution used on graphical terminal
#note that you can use only modes which your graphic card supports via VBE

# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE="auto"
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
# GRUB_DISABLE_LINUX_UUID=true
#Uncomment to disable generation of recovery mode menu entries

GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

GRUB_BACKGROUND=
GRUB_THEME=/boot/grub2/themes/openSUSE/theme.txt
SUSE_BTRFS_SNAPSHOT_BOOTING="true"
GRUB_USE_LINUXEFI="true"
GRUB_DISABLE_OS_PROBER="false"
GRUB_ENABLE_CRYPTODISK="n"
GRUB_CMDLINE_XEN_DEFAULT="vga=gfx-1024x768x16"
Code:
cat /etc/fstab
UUID=706daedf-d77e-4bfc-a140-83ba6ba67ede  /                       btrfs  defaults                      0  0
UUID=706daedf-d77e-4bfc-a140-83ba6ba67ede  /var                    btrfs  subvol=/@/var                 0  0
UUID=706daedf-d77e-4bfc-a140-83ba6ba67ede  /usr/local              btrfs  subvol=/@/usr/local           0  0
UUID=706daedf-d77e-4bfc-a140-83ba6ba67ede  /srv                    btrfs  subvol=/@/srv                 0  0
UUID=706daedf-d77e-4bfc-a140-83ba6ba67ede  /root                   btrfs  subvol=/@/root                0  0
UUID=706daedf-d77e-4bfc-a140-83ba6ba67ede  /opt                    btrfs  subvol=/@/opt                 0  0
UUID=706daedf-d77e-4bfc-a140-83ba6ba67ede  /boot/grub2/x86_64-efi  btrfs  subvol=/@/boot/grub2/x86_64-efi  0  0
UUID=706daedf-d77e-4bfc-a140-83ba6ba67ede  /boot/grub2/i386-pc     btrfs  subvol=/@/boot/grub2/i386-pc  0  0
UUID=0A10-9839                             /boot/efi               vfat   utf8                          0  2
UUID=043e2567-3fa6-4f28-a917-75bcf02de11b  swap                    swap   defaults                      0  0
UUID=51700ca9-6ed5-4c33-ad1e-1e07bedd3e6d  /home                   btrfs  defaults                      0  0
 
Leider hat das nicht geklappt.
cat /boot/grub2/grub.cfg
Code:
cat /boot/grub2/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
set btrfs_relative_path="y"
export btrfs_relative_path
if [ -f ${config_directory}/grubenv ]; then
  load_env -f ${config_directory}/grubenv
elif [ -s $prefix/grubenv ]; then
  load_env
fi

if [ "${env_block}" ] ; then
  set env_block="(${root})${env_block}"
  export env_block
  load_env -f "${env_block}"
fi

if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   if [ "${env_block}" ] ; then
     save_env -f "${env_block}" next_entry
   fi
   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}"
    if [ "${env_block}" ] ; then
      save_env -f "${env_block}" saved_entry
    else
      save_env saved_entry
    fi

  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
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod btrfs
search --no-floppy --fs-uuid --set=root 706daedf-d77e-4bfc-a140-83ba6ba67ede
    font="/usr/share/grub2/unicode.pf2"
fi

if loadfont $font ; then
  if [ "${grub_platform}" = "efi" ]; then
    clear
    echo "Please press 't' to show the boot menu on this console"
  fi
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=de_DE
  insmod gettext
fi
terminal_input console

for i in gfxterm; do
  if [ x${use_append} = xtrue ]; then
     terminal_output --append $i
  elif terminal_output $i; then
     use_append=true;
  fi
done

insmod part_gpt
insmod btrfs
search --no-floppy --fs-uuid --set=root 706daedf-d77e-4bfc-a140-83ba6ba67ede
insmod gfxmenu
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans-Bold14.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans10.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans12.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/ascii.pf2
insmod png
set theme=($root)/boot/grub2/themes/openSUSE/theme.txt
export theme
if [ x${boot_once} = xtrue ]; then
  set timeout=0
elif [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=3
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=3
fi
if [ -n "$extra_cmdline" ]; then
  menuentry "Help on bootable snapshot #$snapshot_num" {
    echo "Select the default entry of the snapshot boot menu."
    echo "Examine the snapshot, and if it's OK,"
    echo "   run 'snapper rollback' and reboot."
    echo "See 'System Rollback by Booting from Snapshots'"
    echo "   in the manual for more information."
    echo "  ** Hit Any Key to return to boot menu **  "
    read
  }
fi
### END /etc/grub.d/00_header ###
 
2.ter Teil von
Code:
cat /boot/grub2/grub.cfg
Code:
### BEGIN /etc/grub.d/00_tuned ###

set tuned_params=""

set tuned_initrd=""

### END /etc/grub.d/00_tuned ###



### BEGIN /etc/grub.d/05_crypttab ###

### END /etc/grub.d/05_crypttab ###



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

menuentry 'openSUSE Tumbleweed'  --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-706daedf-d77e-4bfc-a140-83ba6ba67ede' {

        load_video

        set gfxpayload=keep

        insmod gzio

        insmod part_gpt

        insmod btrfs

        search --no-floppy --fs-uuid --set=root 706daedf-d77e-4bfc-a140-83ba6ba67ede

        echo    'Loading Linux 6.13.0-rc3-1.gfcd2144-default ...'

        linux   /boot/vmlinuz-6.13.0-rc3-1.gfcd2144-default root=UUID=706daedf-d77e-4bfc-a140-83ba6ba67ede  ${extra_cmdline} splash=silent quiet security=apparmor mitigations=auto

        echo    'Loading initial ramdisk ...'

        initrd  /boot/initrd-6.13.0-rc3-1.gfcd2144-default

}

submenu 'Advanced options for openSUSE Tumbleweed' --hotkey=1 $menuentry_id_option 'gnulinux-advanced-706daedf-d77e-4bfc-a140-83ba6ba67ede' {

        menuentry 'openSUSE Tumbleweed, with Linux 6.13.0-rc3-1.gfcd2144-default' --hotkey=2 --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.13.0-rc3-1.gfcd2144-default-advanced-706daedf-d77e-4bfc-a140-83ba6ba67ede' {

                load_video

                set gfxpayload=keep

                insmod gzio

                insmod part_gpt

                insmod btrfs

                search --no-floppy --fs-uuid --set=root 706daedf-d77e-4bfc-a140-83ba6ba67ede

                echo    'Loading Linux 6.13.0-rc3-1.gfcd2144-default ...'

                linux   /boot/vmlinuz-6.13.0-rc3-1.gfcd2144-default root=UUID=706daedf-d77e-4bfc-a140-83ba6ba67ede  ${extra_cmdline} splash=silent quiet security=apparmor mitigations=auto

                echo    'Loading initial ramdisk ...'

                initrd  /boot/initrd-6.13.0-rc3-1.gfcd2144-default

        }

        menuentry 'openSUSE Tumbleweed, with Linux 6.13.0-rc2-2.g7cfe858-default'  --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.13.0-rc2-2.g7cfe858-default-advanced-706daedf-d77e-4bfc-a140-83ba6ba67ede' {

                load_video

                set gfxpayload=keep

                insmod gzio

                insmod part_gpt

                insmod btrfs

                search --no-floppy --fs-uuid --set=root 706daedf-d77e-4bfc-a140-83ba6ba67ede

                echo    'Loading Linux 6.13.0-rc2-2.g7cfe858-default ...'

                linux   /boot/vmlinuz-6.13.0-rc2-2.g7cfe858-default root=UUID=706daedf-d77e-4bfc-a140-83ba6ba67ede  ${extra_cmdline} splash=silent quiet security=apparmor mitigations=auto

                echo    'Loading initial ramdisk ...'

                initrd  /boot/initrd-6.13.0-rc2-2.g7cfe858-default

        }

}



### 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 'Garuda Linux (on /dev/nvme1n1p4)' --class garuda --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-532ca22d-c828-4ea5-9df3-ead6172581fc' {

        insmod part_gpt

        insmod btrfs

        search --no-floppy --fs-uuid --set=root 532ca22d-c828-4ea5-9df3-ead6172581fc

        linux /boot/vmlinuz-linux-zen root=UUID=532ca22d-c828-4ea5-9df3-ead6172581fc rw rootflags=subvol=@ quiet loglevel=3 ibt=off

        initrd /boot/initramfs-linux-zen.img

}

submenu 'Advanced options for Garuda Linux (on /dev/nvme1n1p4)' $menuentry_id_option 'osprober-gnulinux-advanced-532ca22d-c828-4ea5-9df3-ead6172581fc' {

        menuentry 'Garuda Linux (on /dev/nvme1n1p4)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux-zen--532ca22d-c828-4ea5-9df3-ead6172581fc' {

                insmod part_gpt

                insmod btrfs

                search --no-floppy --fs-uuid --set=root 532ca22d-c828-4ea5-9df3-ead6172581fc

                linux /boot/vmlinuz-linux-zen root=UUID=532ca22d-c828-4ea5-9df3-ead6172581fc rw rootflags=subvol=@ quiet loglevel=3 ibt=off

                initrd /boot/initramfs-linux-zen.img

        }

        menuentry 'Garuda Linux, with Linux linux-zen (on /dev/nvme1n1p4)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux-zen--532ca22d-c828-4ea5-9df3-ead6172581fc' {

                insmod part_gpt

                insmod btrfs

                search --no-floppy --fs-uuid --set=root 532ca22d-c828-4ea5-9df3-ead6172581fc

                linux /boot/vmlinuz-linux-zen root=UUID=532ca22d-c828-4ea5-9df3-ead6172581fc rw rootflags=subvol=@ quiet loglevel=3 ibt=off

                initrd /boot/initramfs-linux-zen.img

        }

        menuentry 'Garuda Linux, with Linux linux-zen (fallback initramfs) (on /dev/nvme1n1p4)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux-zen--532ca22d-c828-4ea5-9df3-ead6172581fc' {

                insmod part_gpt

                insmod btrfs

                search --no-floppy --fs-uuid --set=root 532ca22d-c828-4ea5-9df3-ead6172581fc

                linux /boot/vmlinuz-linux-zen root=UUID=532ca22d-c828-4ea5-9df3-ead6172581fc rw rootflags=subvol=@ quiet loglevel=3 ibt=off

                initrd /boot/initramfs-linux-zen-fallback.img

        }

        menuentry 'Garuda Linux, with Linux linux-zen (recovery mode) (on /dev/nvme1n1p4)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux-zen-root=UUID=532ca22d-c828-4ea5-9df3-ead6172581fc rw single rootflags=subvol=@-532ca22d-c828-4ea5-9df3-ead6172581fc' {

                insmod part_gpt

                insmod btrfs

                search --no-floppy --fs-uuid --set=root 532ca22d-c828-4ea5-9df3-ead6172581fc

                linux /boot/vmlinuz-linux-zen root=UUID=532ca22d-c828-4ea5-9df3-ead6172581fc rw single rootflags=subvol=@

                initrd /boot/initramfs-linux-zen-fallback.img

        }

        menuentry 'Memory Tester (memtest86+) (on /dev/nvme1n1p4)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/memtest86+/memtest.bin--532ca22d-c828-4ea5-9df3-ead6172581fc' {

                insmod part_gpt

                insmod btrfs

                search --no-floppy --fs-uuid --set=root 532ca22d-c828-4ea5-9df3-ead6172581fc

                linux /boot/memtest86+/memtest.bin

        }

}





### 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 --is-supported

                if [ "$?" = 0 ]; then

                        fwsetup

                else

                        echo "Your firmware doesn't support setup menu entry from a boot loader"

                        echo "Press any key to return ..."

                        read

                fi

        }

fi

### END /etc/grub.d/30_uefi-firmware ###



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

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



### BEGIN /etc/grub.d/40_custom ###

# This file provides an easy way to add custom menu entries.  Simply type the

# menu entries you want to add after this comment.  Be careful not to change

# the 'exec tail' line above.

### END /etc/grub.d/40_custom ###



### 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/80_suse_btrfs_snapshot ###

### END /etc/grub.d/80_suse_btrfs_snapshot ###



### BEGIN /etc/grub.d/90_persistent ###

### END /etc/grub.d/90_persistent ###



### BEGIN /etc/grub.d/95_textmode ###

if [ "${grub_platform}" = "efi" ]; then

  # On EFI systems we can only have graphics *or* serial, so allow the user

  # to switch between the two

  hiddenentry 'Text mode' --hotkey 't' {

    set textmode=true

    terminal_output console

  }

fi

### END /etc/grub.d/95_textmode ###
 
Der Garuda Eintrag stammt von der Erstinstallation von Garuda. Ich habe dann Tumbleweed nochmal aktualisiert, da es den Bootloader von Tumbleweed überschrieben hatte. Beim Aufruf von Garuda gibt es aber eine Fehlermeldung. Ich meine das war "Kernel missing ...".
 

susejunky

Moderator
Teammitglied
Hallo @Phoenix7 ,

Leider hat das nicht geklappt.

Was hat "nicht geklappt"?

Hast Du die von Dir gezeigten Ergebnisse vor oder nachdem Du update-bootloader --reinit und grub2-mkconfig -o /boot/grub2/grub.cfg ausgeführt hast, ermittelt? Nach erster, kurzer Prüfung kann ich in ihnen nur einen "Fehler" erkennen:

os-prober hat nur Garuda aber kein weiteres, drittes System gefunden.

Ist es das, was Du mit "nicht geklappt" meinst?

Viele Grüße

susejunky
 
Was hat "nicht geklappt"?
ich habe alles wie von Dir beschrieben durchgeführt. Leider hat sich der Booteintrag nicht aktualisisert.
Der Garuda Eintrag stammt von der Erstinstallation von Garuda, der hatte auf
Code:
/boot/efi
seinen Bootloader installiert. Ich habe dann Tumbleweed nochmal aktualisiert, da es den Bootloader von Tumbleweed überschrieben hatte. Beim Aufruf von Garuda gibt es aber eine Fehlermeldung. Ich meine das war "Kernel missing ...". Ich vermute das da irgendwo das Problem liegt. Die Einträge werden überhaupt nicht aktualisiert.

os-prober
/dev/nvme1n1p4:Garuda Linux:Garuda:linux:btrfs:UUID=532ca22d-c828-4ea5-9df3-ead6172581fc:subvol=@
/dev/nvme1n1p7:Nobara Linux 40 (KDE Plasma):Nobara:linux:btrfs:UUID=5b865d5f-27d1-4538-832d-53b6dd8d5ae8:subvol=@
Code:
grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found theme: /boot/grub2/themes/openSUSE/theme.txt
Found linux image: /boot/vmlinuz-6.13.0-rc3-1.gfcd2144-default
Found initrd image: /boot/initrd-6.13.0-rc3-1.gfcd2144-default
Found linux image: /boot/vmlinuz-6.13.0-rc2-2.g7cfe858-default
Found initrd image: /boot/initrd-6.13.0-rc2-2.g7cfe858-default
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 Garuda Linux on /dev/nvme1n1p4
Found Nobara Linux 40 (KDE Plasma) on /dev/nvme1n1p7
Adding boot menu entry for UEFI Firmware Settings ...
done
Es findet aber keine Aktualisierung des Bootloaders statt.

Soll ich
Code:
/boot/efi
platt machen und nochmal neu aufsetzen?

Herzlichen Dank schon mal!
 
Zuletzt bearbeitet:
Fedora benutzt einen Sonderweg in Grub und hat diesen wohl an Nobara vererbt. grub.cfg liegt dort in der EFI System Partition.
Das kann man in /etc;/default/grub ausschalten mit BLSCFG=false.
Nach meiner Erinnerung muss /boot/grub2/grub.cfg in Fedora aktuell sein, damit os-prober in openSUSE die Kernel-Einträge findet. Bei neuen Kernels muss man grub2-mkconfig eventuell manuell aufrufen. Mir ist es nie gelungen, mein Multiboot-System von Fedora aus zu starten.

Zurück zu multipath: Da es sowieso nicht funktioniert bzw. falsch konfiguriert ist, würde ich versuchen, es zu deinstallieren. Natürlich muss man aufpassen, dass nichts wesentliches über die Abhängigkeiten mit deinstalliert wird.
 
Was ergibt:lsblk -o +PARTUUID,UUID

Laut Beitrag 11 befindet sich im GRUB2-Menü von openSUSE unter anderem die Eintragung "Garuda Linux (on /dev/nvme1n1p4)". Was genau passiert, wenn Du diese Eintragung auswählst?

Boot0005* Garuda HD(1,GPT,6d194186-6078-4d32-aaa4-7ffde6d0bfc8,0x800,0x82000)/File(\EFI\Garuda\grubx64.efi)
Was passiert, wenn Du im UEFI-Boot-Menü diese Eintragung auswählst? Wenn auch das nicht funktioniert, dann hänge /dev/nvme0n1p4 ein und zeige den dortigen Inhalt des Verzeichnisses /boot (ohne Unterverzeichnisse).

So nebenbei: Jedes System installiert die zu seinem Start notwendigen Daten in einem eigenen Verzeichnis unter /boot/efi/EFI/ (außer es wird explizit ohne Bootloader eingerichtet).
 

susejunky

Moderator
Teammitglied
Hallo @Phoenix7 ,

Leider hat sich der Booteintrag nicht aktualisisert.

Willst Du damit sagen
  • dass grub2-mkconfig -o /boot/grub2/grub.cfg die Datei /boot/grub2/grub.cfg nicht neu geschrieben hat? Das würde bedeuten, dass grub2-mkconfig gar nicht arbeitet (was ich für unwahrscheinlich erachte).
ODER
  • dass in der neu erstellten Datei boot/grub2/grub.cfg immer noch der Eintrag für das dritte System fehlt? Das würde bedeuten, dass entweder os-prober Dein drittes System nicht erkennt oder grub2-mkconfig keinen Bootmenü-Eintrag für das dritte System erstellen kann (letzteres würde zu dem von Dir gezeigten os-prober-Erbebnis passen).
Beim Aufruf von Garuda gibt es aber eine Fehlermeldung. Ich meine das war "Kernel missing ...". Ich vermute das da irgendwo das Problem liegt.

Ohne die genaue Fehlermeldung zu kennen, kann ich dazu nichts sagen.

Die Einträge werden überhaupt nicht aktualisiert.

Von welchen "Einträgen" sprichst Du hier?

Code:
os-prober
/dev/nvme1n1p4:Garuda Linux:Garuda:linux:btrfs:UUID=532ca22d-c828-4ea5-9df3-ead6172581fc:subvol=@
/dev/nvme1n1p7:Nobara Linux 40 (KDE Plasma):Nobara:linux:btrfs:UUID=5b865d5f-27d1-4538-832d-53b6dd8d5ae8:subvol=@

Das zeigt, dass os-prober Dein drittes System (Nobara?) erkennt aber grub2-mkconfig kann keinen Bootmenü-Eintrag dafür erstellen.

Du musst also Deine Nobara-Installation überprüfen, um herauszufinden, warum grub2-mkconfig keinen Bootmenü-Eintrag dafür erstellen kann. Da ich Nobara nicht kenne, kann ich Dir dazu nicht weiterhelfen. Aber vielleicht weis @Bequimão Rat ...

Viele Grüße

susejunky
 
lsblk -o +PARTUUID,UUID
Code:
lsblk -o +PARTUUID,UUID
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS                  PARTUUID                             UUID
loop0         7:0    0  73,9M  1 loop /snap/core22/1722                                                
loop1         7:1    0     4K  1 loop /snap/bare/5                                                    
loop2         7:2    0  91,7M  1 loop /snap/gtk-common-themes/1535                                    
loop3         7:3    0  73,9M  1 loop /snap/core22/1663                                                
loop4         7:4    0 505,1M  1 loop /snap/gnome-42-2204/176                                          
loop5         7:5    0  38,8M  1 loop /snap/snapd/21759                                                
loop6         7:6    0  44,3M  1 loop /snap/snapd/23258                                                
loop7         7:7    0  26,3M  1 loop /snap/video-downloader/1224                                      
loop8         7:8    0  26,3M  1 loop /snap/video-downloader/1227                                      
sda           8:0    1  29,3G  0 disk                                                                   2024-04-28-13-20-22-00
├─sda1        8:1    1   4,6G  0 part                                                                   2024-04-28-13-20-22-00
└─sda2        8:2    1     4M  0 part                                                                   BD21-E279
nvme0n1     259:0    0   3,6T  0 disk                                                                  
├─nvme0n1p1 259:2    0   260M  0 part /boot/efi                    6d194186-6078-4d32-aaa4-7ffde6d0bfc8 0A10-9839
├─nvme0n1p2 259:3    0    42G  0 part /var                         1e77d36b-4aae-417c-94e5-11e48e6dd528 706daedf-d77e-4bfc-a140-83ba6ba67ede
│                                     /usr/local                                                      
│                                     /srv                                                            
│                                     /root                                                            
│                                     /opt                                                            
│                                     /boot/grub2/x86_64-efi                                          
│                                     /boot/grub2/i386-pc                                              
│                                     /                                                                
├─nvme0n1p3 259:4    0   3,2T  0 part /home                        3c1c402b-862a-4e56-bfad-365b239e099a 51700ca9-6ed5-4c33-ad1e-1e07bedd3e6d
├─nvme0n1p4 259:5    0 177,6G  0 part                              98f3745a-c2e7-4f90-a920-4ba3cf4f4661 0f9c3443-8516-462b-9091-ea62da426fde
├─nvme0n1p5 259:6    0 177,6G  0 part                              d6e680d8-b9fc-491f-9bf2-89fe61edc484 00f25eb4-f14f-4bbd-9c96-b0d959769799
└─nvme0n1p6 259:7    0    12G  0 part [SWAP]                       786eefb8-e6ca-42b6-a4b6-bcf25bd1cb22 043e2567-3fa6-4f28-a917-75bcf02de11b
nvme1n1     259:1    0   3,6T  0 disk                                                                  
└─nvme1n1p1 259:8    0   3,6T  0 part                              3eb83594-24cd-4314-bfc7-e3b6e00d08cc a61aa219-9c10-4570-ae6d-2b095c709d58
Code:
mount /dev/nvme0n1p4
mount: /dev/nvme0n1p4: konnte nicht in /etc/fstab gefunden werden.
Der Eintrag im
Was passiert, wenn Du im UEFI-Boot-Menü diese Eintragung auswählst?
Dieser Eintrag ist verweist und wird leider nicht aktualisiert. Es kommt die Fehlermeldung "Fehler: ../../grub-core/fs/btfs.c:2159 Datei >>/boot/vmlinuz-linux-zen<< nicht. Fehler: ../../grub-core/loader/i386/efi/linux.c:168:Sie müssen zuerst den Kernel laden. ..."

Beim Versuch die Partition einzubinden kam folgendes:
Code:
mount /dev/nvme0n1p4
mount: /dev/nvme0n1p4: konnte nicht in /etc/fstab gefunden werden.

Die fstab sieht bei mir wie folgt aus:
Code:
cat /etc/fstab
UUID=706daedf-d77e-4bfc-a140-83ba6ba67ede  /                       btrfs  defaults                      0  0
UUID=706daedf-d77e-4bfc-a140-83ba6ba67ede  /var                    btrfs  subvol=/@/var                 0  0
UUID=706daedf-d77e-4bfc-a140-83ba6ba67ede  /usr/local              btrfs  subvol=/@/usr/local           0  0
UUID=706daedf-d77e-4bfc-a140-83ba6ba67ede  /srv                    btrfs  subvol=/@/srv                 0  0
UUID=706daedf-d77e-4bfc-a140-83ba6ba67ede  /root                   btrfs  subvol=/@/root                0  0
UUID=706daedf-d77e-4bfc-a140-83ba6ba67ede  /opt                    btrfs  subvol=/@/opt                 0  0
UUID=706daedf-d77e-4bfc-a140-83ba6ba67ede  /boot/grub2/x86_64-efi  btrfs  subvol=/@/boot/grub2/x86_64-efi  0  0
UUID=706daedf-d77e-4bfc-a140-83ba6ba67ede  /boot/grub2/i386-pc     btrfs  subvol=/@/boot/grub2/i386-pc  0  0
UUID=0A10-9839                             /boot/efi               vfat   utf8                          0  2
UUID=043e2567-3fa6-4f28-a917-75bcf02de11b  swap                    swap   defaults                      0  0
UUID=51700ca9-6ed5-4c33-ad1e-1e07bedd3e6d  /home                   btrfs  defaults                      0  0
 
Das kann man in /etc;/default/grub ausschalten mit BLSCFG=false
Das hatte ich angepasst. Leider keine Veränderung.
Zurück zu multipath: Da es sowieso nicht funktioniert bzw. falsch konfiguriert ist, würde ich versuchen, es zu deinstallieren. Natürlich muss man aufpassen, dass nichts wesentliches über die Abhängigkeiten mit deinstalliert wird.
Ich habes es mit zypper deinstalliert (multipath-tools). Es gab keine Abhängigkeiten. Ich hatte es schon mal deinstalliert, irgendetwas installiert das immer wieder.
 
  • dass in der neu erstellten Datei boot/grub2/grub.cfg immer noch der Eintrag für das dritte System fehlt? Das würde bedeuten, dass entweder os-prober Dein drittes System nicht erkennt oder grub2-mkconfig keinen Bootmenü-Eintrag für das dritte System erstellen kann (letzteres würde zu dem von Dir gezeigten os-prober-Erbebnis passen).
In /etc/grub2 sind 2 Einträge:
Code:
-rw------- 1 root root 10656 19. Dez 08:13 grub.cfg
-rw------- 1 root root 12237 27. Okt 12:15 grub.cfg~
ich habe jetzt beide mal gelöscht und mit
Code:
grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found theme: /boot/grub2/themes/openSUSE/theme.txt
Found linux image: /boot/vmlinuz-6.13.0-rc3-1.gfcd2144-default
Found initrd image: /boot/initrd-6.13.0-rc3-1.gfcd2144-default
Found linux image: /boot/vmlinuz-6.13.0-rc2-2.g7cfe858-default
Found initrd image: /boot/initrd-6.13.0-rc2-2.g7cfe858-default
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 Garuda Linux on /dev/nvme0n1p4
Found Nobara Linux 40 (KDE Plasma) on /dev/nvme0n1p5
Adding boot menu entry for UEFI Firmware Settings ...
done
eine neue grub.cfg erzeugt. Das hat zwar geklappt, aber die Inhalte sind immer noch die alten. D.h. diese werden "nicht aktualisiert" oder von einer alten Quelle hergenommen, denn wenn ich versuche über das Bootmenü Garuda zu starten, kommt die wieder die o.g. Fehlermeldung: Fehler: "../../grub-core/fs/btfs.c:2159 Datei >>/boot/vmlinuz-linux-zen<< nicht. Fehler: ../../grub-core/loader/i386/efi/linux.c:168:Sie müssen zuerst den Kernel laden. ...". Zwischenzeitlich hatte ich Garuda nochmal gelöscht und neu auf die gleiche Partition installiert.
 
Zuletzt bearbeitet:
Oben