• 1 Post
  • 51 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2023

help-circle






  • That’s alright, I’ll do my best to walk you through it.

    Your drive contains multiple partitions (/dev/sda1 through /dev/sda3).
    One of these drives is going to be your EFI partition. This is what your system can read before linux boots, your BIOS can’t understand ext4 / btrfs / etc, but it can understand fat32.
    If you run lsblk -no FSTYPE /dev/sda1 it should return vfat if that’s your EFI partition. That’s what we’re going to mount to /mnt/boot/efi

    I’m assuming that /dev/sda3 is your data partition, e.g. where your linux install is. You can find the filesystem format the same way as your EFI partition. Edit: After determining which partition is which, you’re going to want to mount the root partition, and then the EFI partition
    mount /dev/sda3 /mnt
    mount /dev/sda1 /mnt/boot/efi

    Unix systems have theology of “everything is a file”, all devices and system interfaces are mounted as files. As such, to be able to properly chroot into an offline install, we need to make binds from our running system to the offline system. That’s what’s achieved by running for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
    This is just a simple loop that mounts /dev, /dev/pts, /proc, /sys, and /run to your offline install. You’re going to want to either add /sys/firmware/efi/efivars to that list, or mount it (with -B, which is shorthand for --bind, not a normal mount).

    Once you’ve done this, you should be able to successfully chroot into /mnt (or /mnt/root if running btrfs)
    At this point, you should be able to run your grub repair commands.


  • I’m doing my morning scroll before I start my day, so I can’t delve too deep, but this is the article I always reference when I have to do repairs

    https://askubuntu.com/a/831241

    #1 thing I noticed in your image is that lsblk only shows you partitions, and doesn’t mount them. You probably want /dev/sda3 mounted at /mnt

    The only thing from the article you want to modify is using mount -B /sys/firmware/efi/efivars /mnt/sys/efi/efivars, I believe the functionality changed since that article was written and that’s what worked for me

    Additionally, if you drive is formatted as btrfs instead of ext4, once you mount your drive your root will most likely be at /mnt/admin or similar. Mount subdirectories to that folder instead of /mnt

    If you have questions lmk and I’ll get back to you at some point today





  • Nate@programming.devtoLinux@lemmy.mlLinux and being speedy
    link
    fedilink
    English
    arrow-up
    7
    ·
    4 months ago

    This is just a theory, I don’t have knowledge of the inner-workings of either Linux or Windows (beyond the basics). While Microsoft has been packing tons of telemetry in their OS since Windows 10, I think they fucked up the I/O stack somewhere along the way. Windows used to run well enough on HDDs, but can barely boot now.

    This is most easily highlighted by using a disk drive. I was trying to read a DVD a while ago and noticed my whole system was locked up on a very modern system. Just having the drive plugged in would prevent windows from opening anything if already on, or getting past the spinner on boot.

    The same wasn’t observed on Linux. It took a bit to mount the DVD, but at no point did it lock up my system until it was removed. I used to use CDs and DVDs all the time on XP and 7 without this happening, so I only can suspect that they messed up something with I/O and has gone unnoticed because of their willingness to ignore the issues with the belief they’re being caused by telemetry