I updated my system, there was a new kernel. After reboot, I got stuck in emergency shell with the following information on the screen.
mount: /run: mount(2) system call failed: Function not implemented.
dmesg(1) may have more information after failed mount system call.
/init: line 16: can't open /proc/cmdline: no such file
/proc/ is not mounted but required for successful operation of systemd-tmpfiles. Please mount /proc/. Alternatively, consider using the --root= or —image= switches.
Failed to parse kernel command Line, ignoring No such file or directory
Starting systemd-udevd version 253.4-1-arch
:: running hook [udev]
: Triggering events.
Running in chroot, ignoring request.
Running in chroot, ignoring request.
Running in chroot, ignoring request.
:: running hook [keymap]
:: Loading keymap…done
:: mounting ‘’ on real root
mount: /new root; mount failed: Operation not permitted
You are now being dropped into an emergency shell.
I eventually got access to a Manjaro live usb where I ran the following commands to no success.
$ lsblk
Name MAJ:Min RM SIZE RO TYPE MOUNTPOINTS
loop0. 7:0 0 158.7M 1 loop /run/miso/sfs/livefs
loop1 7:1 0 880.8M 1 loop /run/miso/sfs /mhwdfs
loop2 7:2 0 926. 3M 1 loop /run/miso/sfs/desktopfs
loop3 7:3 0 680.9M 1 loop /run/miso/sfs/rootfs
sda 8:0 0 238.5G 0 disk
|- sda1 8:1 0 238.5G
sdb 0 part 8:16 14.5G 0 disk /run/miso/bootmnt
|-sdb1 8:17 2.7G 0 part
|-sdb2 8:18 1 4M 0 part
~]S sudo manjaro-chroot -a
grub-probe: error: cannot find a GRUB drive for /dev/sdb1. Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1. Check your device.map.
==> Mounting (ManjaroLinux) [/dev/sda1]
--> mount: (/mnt]
[manjaro@manjaro boot] mount /dev/sda1 /boot/efi
mount: /boot/efi: mount point does not exist.
dmesg(1) may have more information after failed mount system call.
[manjaro@manjaro boot]s mount | grep efi
efivarfs on /sys/firmware/efi/efivars type efivarfs … (more)
trying inside the manjaro-chroot terminal
$ grub-install
Installing for x86_64-efi platform.
grub-install: error: cannot find EFI directory.
[manjaro /]# exit
exit
- -> umount: [/mnt] /
// trying same command again in the normal terminal
[manjaro@manjaro ~]S grub-install
Installing for X86_64-efi platform.
grub-install: error: cannot find EFI directory.
[manjaro@manjaro ~ ]S mount | grep /boot/efi
[manjaro@manjaro ~]S mount | grep /dev/efi
[manjaro@manjaro ~ ]S sudo mount /dev/efi /mnt mount:
/mnt: special device /dev/efi does not exist.
dmesg(1) may have more information after failed mount system call.
$ sudo pacman -S linux510
warning: database file for 'core' does not exist (use '-Sy' to download)
warning: database file for 'extra' does not exist (use '-Sy' to download)
warning: database file for 'community' does not exist (use '-Sy' to download)
warning: database file for 'multilib' does not exist (use "-Sy' to download)
error: target not found: linux510
[manjaro@manjaro ~]S sudo update-grub
usr/bin/grub-probe: error: failed to get canonical path of 'overlay'
These are the commands that I ran, which were suggested from other threads on this forum where users had also gotten stuck in emergency shells.
If anyone has any ideas about what I could try, I would be very thankful.
If you need more information, please ask also.
I’m no expert and might be completely wrong here, but it almost looks, at least to me, that your kernel is missing somehow. Also, those commands aren’t correct. At least, most of them are redundant.
But I think you were going in the correct direction. I think you must install a kernel from chroot. So let’s try that:
How to chroot
Ensure you’ve got a relatively new ISO or at least one with a still supported LTS kernel.
Write/copy/dd the ISO to a USB thumb drive.
When done, boot with the above mentioned USB thumb drive into the live environment.
Once booted, open a terminal and enter the following command to enter the chroot encironment:
manjaro-chroot -a
If you have more than one Linux installation, select the correct one to use from the list provided.
When done, you should now be in the chroot environment.
But, be careful, as you’re now in an actualroot environment on your computer, so any changes you make will persist after a restart.
Also, be sure to read the messages. Errors are bad and potentially dangerous if you don’t pay attention to them, and ignore the incorrect ones.
In the chroot environment, reinstall the kernel:
mwhd-kernel --install linux515
This will install kernel version 5.15, which is LTS.
When it’s done with no errors, exit the chroot environment:
exit
…reboot and see if it helped. If there were errors, reply to this topic and paste/provide them. The same if this didn’t work.
I tried using command mhwd-kernal and I get command not found, weird.
I found another forum post where a commenter used sudo pacman -Sy linux515 instead of mhwd…
So I used this, with the knowledge that it might be more dangerous than the mhwd… command. (I do not have easy access to create another fresh live usb right now)
Here are the following errors from trying to install a new kernel from pacman
==> WARNING: cannot detect type of overlayfs root filesystem
==> WARNING: possibly missing firmware for module: ast
(Also for, wd719x, qla2xxx, qed, boa, aic94xx)
==> Image generation successful
(4/4) Updating Grub-bootmenu
/usr/bin/grub-probe: error: failed to get canonical path of ‘overlay’
Error: command failed to execute correctly
This makes me think it wasn’t a Manjaro live USB. Either that or the USB is very old.
I’ve seen people doing this, and I know mhwd-kernel does this in the background, however I’ve never done this and can’t help you.
According to what I found online, this makes me think the command wasn’t run in the chroot environment. So that makes me think you should try again, from scratch, but this time make absolutely sure there are no errors.
file "usr/bin/pacman-mirrors", line 20 in <module>
from pacman_mirrors import pacman_mirrors
ModuleNotFoundError: no module named 'pacman_mirrors;
pacman-mirrors works outside of the chroot shell.
Following some other guide online for how to fix pacman-mirrors, I tried to add 1 mirror myself and see if it improved anything.
Navigated to the mirror-list file: sudo nano /etc/pacman.d/mirrorlist
At the top of the file I added: Server = https://mirror.alpix.eu/manjaro/stable/$repo/$arch
I also did pacman -Syyu
Then staying inside the chroot shell I did
[manjaro /]# mhwd-kernel -li
Currently running 6.1.29.1-Manjaro (linux61)
The following kernels are install in your system:
* linux510
* linux54
* linux59
[manjaro /]# mhwd-kernel --install linux515
::synchronizing package databases
core 100%
extra , community, multilib 100%
error: no targets specified (use -h for help)
Has been EOL for quite some time. Since Dec. 2020 already. Considering it shouldn’t be installed if your system is up-to-date, it would seem that it has been a long time since your last update. And considering Manjaro is a rolling-release distribution, of course it’ll cause breakage.
So you need to either:
Get a new USB, enter a chroot environment again, remove that older kernel, (re)install supported ones, do a complete system upgrade, handle all .pacnew file meerges, and hope and pray it works. Or
Make a complete backup of your system, and reinstall with a new ISO.