Not an endavour/arch user, but have been in similar situation.
What I did:
- boot into live USB
- mount the problematic rootfs
- chroot to it
- run pacman update
Archwiki has a nice article on chroot
Is this work for every system? Like Fedora?
Well , except the pacman part. The chroot part should certainly work.
Thank you. Seems it's fun to delve into. Thanks!
Yup. Mount your disk and chroot into it.
You may need to adapt the last part to your needs.
Example:
- for Fedora, you'd use dnf instead of pacman
- if your bootloader is broken, you'd want to run grub-install or grub-mkconfig
- if your initramfs doesn't recognize your new partition, you'd want to regenerate it with the current fstab or crypttab
Boot to a liveUSB of the distro of your choice, create a chroot to your install, and then run a Pacman update from there.
Googling “Arch rescue chroot” should point you in the right direction. Good luck!
Will this work from slax linux? I am sorry if I seem like I can't fix the issue myself seeing as you have given the resources for me to do so but what would be the exact steps to do that?
I’ve never used Slax but it should, boot the liveUSB and enter terminal.
The general process is:
- Boot to live Slax
- Mount your install
- Mount /proc, /sys, /dev
- Enter the chroot
- Check if networking is working
- Attempt to run commands in your chroot
- Exit the chroot
- Unmount everything
- Boot back to your install
It should work, afaik chroot always use the binaries of the system you chrooted, so you will be able to use pacman normally. I don´t remember if chroot will mount the efi partition by default, you can do this before go to chroot (again, I'm have some memory issues but I believe that /dev does not mount as well if you just use chroot, this is why arch have arch-chroot that mounts this kind of stuff but you can mount before so it should work).
Assuming you are using systemd boot on efi partition (that is likelly if you have not changed the installer defaults), what I would do:
-
On your live CD run
sudo fdisk -l
to get what is the efi partition, usually will be /dev/sdb1 since sda will be your usb, you should be able to see something like that. -
Then you will mount your endevour partition, in your situation should be
sudo mount /dev/sdb1 /mnt/mydisk
but check your fdisk command output. -
Now you will have to mount the efi partition sudo
mount /dev/sdb1 /mnt/mydisk/efi
-
Then you can use
chroot /mnt/mydisk/
and proceed to do a pacman -Syu, this should trigger the post scripts that create the kernel images on the efi partition.
Been here before, but didn't bother asking for help. Just used a liveusb to grab what I needed and reinstalled. I need to learn how to chroot ...
To add to the other responses, after you recovered your stuff you could probably like moving to an immutable OS if you risk having power issues often, the transactions won't be applied until everything is done so if anything happens during a transaction you'll just remain at your last usable state
I had the same thought, but didn't want to sound insensitive.
Saying "Your fault, using Arch for something important is a bad idea, you should have made a backup before", while he fears all his important data is gone, would have been rude and very unhelpful.
But immutable distros solve these issues, yes. Since I switched to Silverblue I've never been more relaxed than ever. If something goes bad, I just select the old state and everything works, and updates never get applied incompletely like here.
I'm sorry if I sounded insensitive, it wasn't my intention, just thought that since many others had already given a solution to the data and even OS recovery I could chip in to add something that they might find useful, if they don't mind switching away from Arch.
I hope mine would be a reassuring suggestion more than anything
You didn't! :) You couldn't have said it better, especially in your answer here!
As I said, I had the same thought as you with immutable distros like SB or Nix.
I just didn't have much to add as an additional comment besides "Kids, this why you should always backup and maybe use an immutable distro if you can".
As someone who values robustness and comfort, I wouldn't touch something arch-based even with a broom-pole.
If I wanted something that's a rolling release, I would use Tumbleweed or it's immutable variant.
For me at least, the only pro in Arch is that you can configure everything exactly to your imagination, if I know exactly what I'm doing. And EndeavorOS is pretty much a pre-configured Arch that removes the only USP of it, the DIY-element.
I don't see myself as competent enough to maintain my arch install, but I can access the AUR with distrobox on every other distro, like Silverblue, too, so I don't care. The big software repository isn't an argument for me in 2023 anymore. With distrobox my arch stuff is isolated and if something breaks, I can just forget my two installed apps and reinstall this container in 2 minutes.
It's just an unimaginable peace of mind for me to know that if I shut down my PC today it will work perfectly tomorrow too. I'm just sick of reinstalling or fixing shit for hours every weekend. I'm too tired for that and have other responsibilities.
But yeah. My thoughts were exactly the same as yours and I didn't have much more to add besides saying "Hey, do xy that this won't happen anymore in the future" without sounding like Captain Hindsight from South Park. Context
Note that this isn't about immutability but atomicity. Current immutable usually have that feature aswell but you don't need immutability to achieve it.
Yeah you're right, however searching "linux distro with atomic updates" doesn't seem to turn up much, as you say, in most cases the two features happen to come together and the distros that have them are mostly known for the former
If nothing else, your files are all fine. You can mount your drive on a different system (like a live USB) and copy all your files.
There is nothing worth of freaking out in your situation. Your files shouldn't have been impacted at all.
Boot from LiveUSB and reinstall the packages you were updating, maybe reinstall grub too.
There are tons of guides for this in the Internet, like this one: https://www.jeremymorgan.com/tutorials/linux/how-to-reinstall-boot-loader-arch-linux/
Edit: since you probably use systemd-boot, as I can see from your post, obviously the grub part of my comment shouldn't be done. Replace those parts with systemd-boot reinstallation. Even better if pacman will update it, because there's probably some hook already to do things manually and you won't have to touch systemd-boot at all
Other people will probably give you better answers, but I think the solution is quite easy: chroot and relauch the update.
Pretty much all the other answers are coming down to this, yeah.
Thank you all for offering advice. I did eventually get it working and repaired all the packages.
Does Timeshift work on Arch? If so I would look into it, saved my ass a few times.
Timeshift definitely works on Arch (I use it before every update) but it isn't going to help OP if he hasnt taken an image already
Yeah I know, that was a somewhat pretentious “backups” hint.
Boot a live Linux, chroot into your system, run pacman again and fix your systemd boot to include a fallback option for the next time this happens.
Assuming you have access to a secondary computer to make a LiveUSB
-
boot a live disk/USB on your PC and copy the data you want off. Then reinstall the OS.
-
If you haven’t got a drive you can move data to, from the live OS, partition your disk and move the data to the new partition CAUTION ON PARTITIONING
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0