willk
June 8, 2024, 11:16am
1
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
zjx-55
June 11, 2024, 3:07am
2
Hello, I also met the same problem, how did you solve it, can you tell me more details
willk
June 11, 2024, 9:27am
3
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.
Download the Rocky Linux 8.10 full DVD iso and use to make a bootable USB drive.
Boot the broken system from the USB stick and choose the ‘Troubleshooting’ option
On the Troubleshooting screen choose the ‘Rescue a Rocky Linux system’ option
When the ‘Rescue’ screen options appear, choose option 3 to ‘Skip to a shell’
When you get a shell, use the fdisk -l & blkid commands to locate the root partition of the installation
Create a new directory (I used /RL8root) to use to mount your system’s root partition
Mount the root partition with the command
mount /dev/sdxx /RL8root
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
As you can seee, the lib symlink is present but the lib64 one is missing
Recreate the lib64 symlink by executing this command from the /RL8root directory
ln -s usr/lib64 lib64
Run ls -al again in the /RL8root directory to check that both the lib & lib64 links are now present.
Shut down the system, remove ethe USB drive and reboot. Hopefully everything will now work.
Good luck
zjx-55
June 17, 2024, 3:53am
4
Thank you very much.
I tried your method, but it didn’t work. The reason for my error may be different from yours
system
Closed
August 16, 2024, 3:54am
5
This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.