• CentOS / AlmaLinux

Failed to switch root | OS tree | AlmaLinux

Ein CentOS 8.3 Server wurde mit dem Skript almalinux-deploy.sh zu AlmaLinux 8.3 migriert. Nach dem Reboot war der Server nicht mehr erreichbar:

Apr 07 11:24:51 localhost systemd[1]: Starting Switch Root
Apr 07 11:24:51 localhost systemctl[740]: Failed to switch root: Specified switch root path '/sysroot' does not seem to be an OS tree

Grubenv

Die Datei /boot/grub2/grubenv wird für den Bootvorgang benötigt und teilt dem Kernel unter anderem mit auf welchem Gerät (Festplatte/Partition) das Root-Dateisystem liegt:

[root@centos8 ~]# cat /boot/grub2/grubenv
# GRUB Environment Block
saved_entry=fc12345f23af4a4d8ac468012345d4c1-4.18.0-240.15.1.el8_3.x86_64
kernelopts=root=/dev/md3 ro rd.auto crashkernel=auto vga=normal nomodeset net.ifnames=0 biosdevname=0 
boot_success=1

Grub config CentOS 8.3

Unter CentOS 8.3 existierte die Datei /boot/grub2/grubenv.rpmnew, die via Softlink nach ../efi/EFI/centos/grubenv verlegt wurde:

[root@centos8 ~]# ls -l /boot/grub2
total 24
-rw-r--r--. 1 root root    0 Jan 22 13:29 device.map
drwxr-xr-x. 2 root root 1024 Jun 11  2020 fonts
-rw-r--r--. 1 root root 8923 Jan 22 15:58 grub.cfg
-rw-------. 1 root root 1024 Mar 24 20:48 grubenv
lrwxrwxrwx  1 root root   25 Sep  8  2020 grubenv.rpmnew -> ../efi/EFI/centos/grubenv
drwxr-xr-x. 2 root root 8192 Jun 11  2020 i386-pc

[root@centos8 ~]# ls -l /boot/efi/EFI/centos/grubenv
-rw-r--r--. 1 root root 1024 Mar 24 21:30 /boot/efi/EFI/centos/grubenv

Grub config AlmaLinux 8.3

Während am Server centos8 die Datei /boot/grub2/grubenv existierte, war sie am Server alma8 über einen Softlink umgeleitet. Der Pfad wurde während der Migration zwar auf ../efi/EFI/almalinux/grubenv angepasst, jedoch war am angegebenen Ort keine grubenv angelegt:

[root@alma8 ~]# ls -l /boot/grub2
total 19
drwxr-xr-x. 2 root root 1024 Oct 22  2019 fonts
-rw-r--r--  1 root root 6666 Apr  7 15:22 grub.cfg
lrwxrwxrwx  1 root root   28 Mar 15 19:28 grubenv -> ../efi/EFI/almalinux/grubenv
drwxr-xr-x. 2 root root 9216 Jan 26 16:04 i386-pc

[root@alma8 ~]# ls -l /boot/efi/EFI/almalinux/grubenv
ls: cannot access '/boot/efi/EFI/almalinux/grubenv': No such file or directory

Der Server konnte nicht mehr starten, da er ohne diese Datei nicht mitgeteilt bekam wo sein Dateisystem liegt.

Bootdateien kontrollieren und reparieren

Prinzipiell läuft die Migration vom CentOS nach AlmaLinux mit dem Skript almalinux-deploy.sh ohne Probleme durch. Prüfen Sie jedoch vor dem finalen Reboot ob die Dateien in /boot eventuell mit einem Softlink auf ein anderes Ziel verweisen und ob diese Dateien auch existieren. Falls nicht, erstellen Sie die Konfiguration manuell anhand den von CentOS generierten Dateien und übertragen Sie diese in das entsprechende almalinux Verzeichnis.

Information zum Datenschutz | Helfen Sie uns diese Seite zu optimieren und erlauben Sie Cookies - daraus gewonnene Informationen werden nicht an Dritte weitergegeben.
Ablehnen Erlauben