I’ve lost everything and I don’t know how to get it back. How can I repair my system all I have is a usb with slax linux. I am freaking out because I had a lot of projects on their that I hadn’t pushed to github as well as my configs and rice. Is there any way to repair my system? Can I get a shell from systemd?

  • Skull giver
    link
    fedilink
    742 years ago

    Common steps to fix you system:

    1. Get an Endeavour installer (Arch would probably also work but best to stick with the distro you installed). You can boot the Slax USB drive to get into Linux and make an installer drive on another USB drive.
    2. Boot into a live environment
    3. Either use arch-chroot or chroot and a bunch of (bind) mounts to get a shell within the context of the distro on your disk
    4. Let pacman do its thing
    5. Update initramfs for good measure, reinstall your bootloader
    6. Reboot, pray

    If your bootloader is still there but just doesn’t show up in the boot menu, try to find an option to boot an .efi file (“boot from file” or similar). If you can launch your bootloader manually and it works, reinstall it or manually re-register it using efibootmgr

    • @[email protected]
      link
      fedilink
      4
      edit-2
      2 years ago

      Thank you for the help but it possible to do this from slax linux? Because that is the only usb stick I have on hand.

      • Skull giver
        link
        fedilink
        16
        edit-2
        2 years ago

        Probably. Try this:

        # Mount the partitions to a subdirectory of /mnt
        mount /dev/sda2 /mnt
        # Copy over your most important files just in case
        cp -a /home/your-user/my-super-important-folder /media/root/some-usb-drive
        # Or upload them to GDrive/OneDrive/iCloud/your favourite FTP server
        # Now to fix the system
        mount /dev/sda1 /mnt/boot/efi
        mount --bind /dev /mnt/dev
        mount --bind /dev/pts /mnt/dev/pts
        mount --bind /proc /mnt/proc
        mount --bind /tmp /mnt/tmp
        mount --bind /sys /mnt/sys
        mount --bind /var/run /mnt/var/run
        mount --bind /run /mnt/run
        # Enter a shell in /mnt
        chroot /mnt
        # Now you should have a shell works as if you had a live, running system.
        pacman -Syu
        

        You can get some weird errors about /dev files not being valid or whatever, but you can usually safely ignore those.

        This assumes that /mnt/sda1 is your UEFI partition

    • 257mOP
      link
      fedilink
      12 years ago

      I couldn’t figure out how to mount /dev/sda1 and did pacman -Syu and then I mounted it once I figured it out now pacman says there is nothing to do.

      • Skull giver
        link
        fedilink
        22 years ago

        Then try rebuilding the initramfs (mkinitcpio -P for example) and reinstalling your bootloader.

      • 257mOP
        link
        fedilink
        12 years ago

        Nevermind I ran a script that looped through all packages in the output of pacman -Qk and reinstalled them.

    • @[email protected]
      link
      fedilink
      32 years ago

      Pretty sure pacman runs mkinitcpio by itself, but I guess a second time for good measure couldn’t hurt

    • @[email protected]
      link
      fedilink
      212 years ago

      Oh my God. Flashbacks to the first time I fucked up my Arch installation like a decade ago. This is a solid run-through of a very character-building exercise 😂