System won't boot after update from RL8.9 to RL8.10

Last week, I used dnf to update my RL8.9 system to RL8.10.

The update seemed to run OK with no problems reported but after the update completed and I rebooted, the system failed to boot with the error message

[  OK  ] Reached target Switch Root.
         Starting Switch Root...
[  !!  ] Failed to execute /sbin/init
[!!!!!!] Failed to execute fallback shell, freezing.

The same error occurred whether I booted with the latest kernel or the previous ones.

After much investigation and searching, I discovered after booting from a USB drive and starting a repair mode shell, the symlink for lib64 to /usr/lib64 that should be in the root directory had disappeared. I recreated this link and everything returned to normal.

I have no explanation as to why the link disappeared but maybe if anyone else has the same problem this post will save them some time & worry.

Cheers

Hello, I also met the same problem, how did you solve it, can you tell me more details

Hi,

I can’t give line by line instructions since they will depend on the exact configuration of your system but these are the general steps I followed.

  1. Download the Rocky Linux 8.10 full DVD iso and use to make a bootable USB drive.
  2. Boot the broken system from the USB stick and choose the ‘Troubleshooting’ option
  3. On the Troubleshooting screen choose the ‘Rescue a Rocky Linux system’ option
  4. When the ‘Rescue’ screen options appear, choose option 3 to ‘Skip to a shell’
  5. When you get a shell, use the fdisk -l & blkid commands to locate the root partition of the installation
  6. Create a new directory (I used /RL8root) to use to mount your system’s root partition
  7. Mount the root partition with the command
    mount /dev/sdxx /RL8root
  8. cd into the /RL8root directory and run the command ls -al. This is the output I got

dr-xr-xr-x. 21 root root 4096 Aug 10 2022 .
dr-xr-xr-x. 21 root root 4096 Aug 10 2022 …
-rw-r–r-- 1 root root 0 Aug 10 2022 .autorelabel
lrwxrwxrwx. 1 root root 7 Oct 11 2021 bin → usr/bin
dr-xr-xr-x. 6 root root 4096 Jun 10 11:34 boot
drwxr-xr-x 20 root root 3160 Jun 11 10:14 dev
drwxr-xr-x. 167 root root 12288 Jun 11 10:14 etc
drwxr-xr-x. 2 root root 6 Oct 11 2021 home
lrwxrwxrwx. 1 root root 7 Oct 11 2021 lib → usr/lib
drwxr-xr-x. 2 root root 6 May 4 2022 media
drwxr-xr-x. 2 root root 6 Oct 11 2021 mnt
drwxr-xr-x. 6 root root 94 Jun 10 11:39 opt
dr-xr-xr-x 231 root root 0 Jun 11 10:14 proc
dr-xr-x—. 26 root root 4096 Jun 11 10:15 root
drwxr-xr-x 51 root root 1480 Jun 11 10:15 run
lrwxrwxrwx. 1 root root 8 Oct 11 2021 sbin → usr/sbin
drwxr-xr-x. 2 root root 6 Oct 11 2021 srv
dr-xr-xr-x 13 root root 0 Jun 11 10:14 sys
drwxrwxrwt. 17 root root 4096 Jun 11 10:15 tmp
drwxr-xr-x. 13 root root 158 May 4 2022 usr
drwxr-xr-x. 21 root root 4096 May 4 2022 var

  1. As you can seee, the lib symlink is present but the lib64 one is missing

  2. Recreate the lib64 symlink by executing this command from the /RL8root directory

    ln -s usr/lib64 lib64

  3. Run ls -al again in the /RL8root directory to check that both the lib & lib64 links are now present.

  4. Shut down the system, remove ethe USB drive and reboot. Hopefully everything will now work.

Good luck

Thank you very much.
I tried your method, but it didn’t work. The reason for my error may be different from yours

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.