I did read around, but this is my first post, so bear with me. It may only apply to someone that is inexperienced or new to Arch like myself.
This is related to a fix, I searched the wiki and didn’t find one mentioning these specific libraries, and figured it may still be happening. Hopefully it helps someone, I’m fairly new to Linux myself.
UX: can’t reboot after system update and it seems like the FS is missing because loading a backup says ‘Failed to Load Kernel or FileSystem’. Modules keep failing to load, recovery mode will load and seems fine.
Background
As you most likely already know, there has been a recent, highly severe bug in Arch, leading to non-functional systems.
The most common error message is /usr/lib/libmount.so.1: version 'MOUNT_2_40' not found (required by /usr/lib/libgio-2.0.so.0)
, but other libraries can cause similar problems. The fairly constant part is the version: 2.40.
This is because glib2
2.80 was built against util-linux
2.40rc2, but was moved from testing to core before that version of util-linux
.
How to avoid it
This is fairly uncommon, because it’s been fixed upstream, but assuming it hasn’t on your mirror, or you’ve used pacman -Sy
, but not -Syu
, you can still avoid it.
The next time you upgrade your system, make sure that, if it upgrades glib2
to 2.80, it also upgrades both util-linux
and util-linux-libs
to at least 2.40rc2.
How to fix it
- Do not reboot. If you’ve just upgraded
glib2
and seen the error, rebooting will make it much harder. Instead, runpacman -Syu
again, as your internet connection will probably stay up. - If you have rebooted, your internet connection will probably not work. In this case, use any other device to download util-linux-libs and util-linux, then transfer them and manually install them.
- If this doesn’t work, you’ll need a bootable Arch install iso. Boot it, enable internet, mount your root partition to
/mnt
, thenpacstrap -U /mnt util-linux util-linux-libs
.
Now you can reboot.
If you used the second or third method and use GNOME, it still won’t work, so go to a terminal and pacman -Syu
.