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
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/sdb2 /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.
Btw if you solved this, you should probably put your config files into git for backup: https://wiki.archlinux.org/title/Dotfiles
i dunno why you gotta call me out like that...
hey thanks man
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
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.
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.
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
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