This is a very unexpected and inconvenient error for me.
The computer worked fine yesterday, I updated like normal yesterday, unfortunately I don’t remember which packages were updated.
Now I only get the option to reboot into firmware interface on systemd splash screen and the computer boots into bios after that.
This is a problem, I am currently halfway through month long vacation in Vietnam, I do not have access to different computer, USB or anything of that kind. Only my phone.
Is there anything I can do except reinstall EOS when I get back home? I do have USB with EOS iso on it at home.
I haven’t been able to enable TTY or anything else during startup.
Can you download a USB thru the phone and use an app to write it to a USB you can find somewhere? Convince someone to loan you?
Theoretically you could setup the phone so the phone USB port looked like a USB drive. Don’t know any software that would do that, but it is possible with a raspberry pi zero or any linux with USB OTG capability. So maybe there is a phone app that can do that?
I don’t know any either, I have heard that there are apps, and it is not something that is that difficult, but getting raw access to the USB might be interesting on andoid or iOS. Maybe someone else can write a USB for you?
I’ve see various pages on recovering from grub / EFI boot issues, depends on grub or systemd-boot to some extent.
You might have to enable EFI firmware shell so you can boot into that?
Boot the EFI shell and navigate around the FS*: and BLK*: devices, using cd and ls, and try and find a .efi file to run. IIRC selecting a fs/blk device is just ‘fs0:’ or might be ‘cd fs0:’
Won’t work if the upgrade killed your bootloader .EFI file of course, but it sounds like you aren’t getting that far.
Might be worth visiting the BIOS and make sure you still have your boot device enabled.
If the upgrade killed your grub or systemd-boot setup, that isn’t going to help much.
No good telling you that you should have been more prepared, I’m sure you will be at least have a boot USB with you next time. Lots of options for redundancy, you just have to think it is worth the hassle.
Yeah, I will be better prepared next time. This is the first time the system crashes and it is not my fault. This distro has been stable for me for over a year so I was very confident that I didn’t need backup USB.
I suspect that the bootloader is borked. I have no other selection than to reboot into firmware interface when I boot up.
Seems like your bootloader entries disappeared for some reason. You should boot into a live ISO, chroot, and run reinstall-kernels. This assumes that you have either kernel-install-for-dracut or kernel-install-for-mkinitcpio installed.
I didn’t see an EFI shell in the boot options.
I you can find and enable it then you might be able to at least poke around and see what lives on your EFI partition?
For the record, it would be interesting to see which were the packages that you updated last. You can do this (before reinstalling ) after booting with the USB installer drive.
So, if you have time to do so in August, please run this terminal command:
tail -n200 /var/log/pacman.log | eos-sendlog
tail: cannot open '/var/log/pacman.log' for reading: No such file or directory
And finally
sudo mount /dev/sda1 /mnt/efi
mount: /mnt/efi: mount point does not exist.
dmesg(1) may have more information after failed mount system call.
Now, I am kind of WAY TOO TIRED to be working on this right now, having gone through 7 time zones in little over 24 hours and I am feeling quite jet-lagged. I’ll sign in tomorrow and see what is what.
*Whole terminal from when I started this, I might be chrooting wrong
[liveuser@eos-2023.03.06 ~]$ sudo lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
loop0 squashf 4.0 0 100% /run/archiso/airootfs
sda
├─sda1 exfat 1.0 Ventoy BC49-03DA
│ └─ventoy iso9660 Joliet Ex EOS_202303 2023-03-06-14-54-40-00 0 100% /run/archiso/bootmnt
└─sda2 vfat FAT16 VTOYEFI B228-8EFB
nvme0n1
├─nvme0n1p1 vfat FAT32 93A1-A3B1
└─nvme0n1p2 btrfs endeavouros e29ffbfa-0041-486b-8fed-f4bf7422e802
[liveuser@eos-2023.03.06 ~]$ sudo mount /dev/nvme0n1p2 /mnt
[liveuser@eos-2023.03.06 ~]$ sudo cat /mnt/etc/fstab
cat: /mnt/etc/fstab: No such file or directory
[liveuser@eos-2023.03.06 ~]$ sudo cat /mnt/etc/fstab
cat: /mnt/etc/fstab: No such file or directory
[liveuser@eos-2023.03.06 ~]$ tail -n200 /var/log/pacman.log | eos-sendlog
tail: cannot open '/var/log/pacman.log' for reading: No such file or directory
[liveuser@eos-2023.03.06 ~]$ sudo mount /dev/sda1 /mnt/efi
mount: /mnt/efi: mount point does not exist.
dmesg(1) may have more information after failed mount system call.
Not all subvolumes need to get mounted to use arch-chroot it needs mainly the / (@) if you only want to repair grub per example
sudo mount -o subvol=@ /dev/sdXn /mnt
sudo mount -o subvol=@log /dev/sdXn /mnt/var/log
sudo mount -o subvol=@cache /dev/sdXn /mnt/var/cache
sudo mount -o subvol=@home /dev/sdXn /mnt/home
And your ESP needs to get mounted also … as it is not inside your BTRFS scheme and using its own fat32 partition:
sudo mount /dev/sdXn /mnt/efi
where in all cases /dev/sdXn needs to be changed according to what is used on your install as partition/device path and the mount path for the ESP needs to get changed according to your installed system in case. If it is /efi you need to mount on /mnt/efi if it is /boot/efi it would be /mnt/boot/efi …
Now you will be able to arch-chroot into your BTRFS system, as you can see above under Run arch-chroot to login to the installed system.
Good morning, unbelievable how much a sleep can do for you.
@manuel and @pebcak I feel like I am getting mixed results when following your information here.
[liveuser@eos-2023.03.06 ~]$ ls -l /mnt
total 0
drwxr-xr-x 1 root root 128 May 11 13:12 @
drwxr-xr-x 1 root root 108 May 12 10:52 @cache
drwxr-xr-x 1 root root 16 May 11 13:13 @home
drwxr-xr-x 1 root root 262 Jul 15 09:53 @log
[liveuser@eos-2023.03.06 ~]$ sudo mount -o subvol=@ /dev/nvme0n1p2 /mnt
mount: /mnt: /dev/nvme0n1p2 already mounted on /mnt.
dmesg(1) may have more information after failed mount system call.
[liveuser@eos-2023.03.06 ~]$ sudo mount -o subvol=@log /dev/nvme0n1p2 /mnt/var/log
mount: /mnt/var/log: mount point does not exist.
dmesg(1) may have more information after failed mount system call.
[liveuser@eos-2023.03.06 ~]$ sudo mount -o subvol=@cache /dev/nvme0n1p2 /mnt/var/cache
mount: /mnt/var/cache: mount point does not exist.
dmesg(1) may have more information after failed mount system call.
[liveuser@eos-2023.03.06 ~]$ sudo mount -o subvol=@home /dev/nvme0n1p2 /mnt/home
mount: /mnt/home: mount point does not exist.
dmesg(1) may have more information after failed mount system call.
[liveuser@eos-2023.03.06 ~]$ sudo mount /dev/nvme0n1p2 /mnt/efi
mount: /mnt/efi: mount point does not exist.
dmesg(1) may have more information after failed mount system call.
I find it hard to believe that ls -l /mnt shows me the mounting points but I can’t mount any of them. This is a standart BTRFS install. I am not getting why it won’t mount.
[liveuser@eos-2023.03.06 ~]$ sudo umount -R /mnt
[liveuser@eos-2023.03.06 ~]$ sudo mount -o subvol=@log /dev/nvme0n1p2 /mnt/var/log
mount: /mnt/var/log: mount point does not exist.
dmesg(1) may have more information after failed mount system call.