The vfs unable to mount root fs on unknown block error occurs when the Linux kernel cannot find the root file system to mount when the system boots.
The error may occur for several reasons:
If you encounter an error, the first thing to do is try to boot using an older kernel. Select Advanced Options, then point to one of the older cores. If the system boots up in this case, it means that only the new kernel is not working. If you built it yourself, then you may not have included all the necessary file systems in it.
If this is a kernel from the repositories, and the system booted with an older kernel, there is a chance that you have corrupted initramfs for the new kernel. This could also happen due to a lack of memory when updating the system. To fix everything, you just need to free up space in the /boot/ directory and create a new initramfs. Check and free up space in the /boot folder if there is not enough of it there:
To create initramfs, first find out the current kernel version:
We insert the received version into the following command:
We get
At the end of the operation, we will update the Grub configuration:
If the problem is in free space and initramfs, but you can't boot using an older kernel, then try another LiveCD distribution and try to fix everything in a chroot environment.