Hi everyone,

I have a finely tuned Fedora 40 image that I cloned using Clonezilla (see: https://sh.itjust.works/post/25762756)

I wanted to deploy it on my old Acer Aspire 5737z but it won’t boot. It’s just displaying a — on a black screen for hours.

I’m not so knowledgeable but I guess it means I would have to reinstall the GRUB or whatever.

I’ve booted into my Fedora Live USB and tried the lsblk command people were talking about on the web (I don’t understand the terminal). Here’s the result.

I think the SDA disk is the one I would like to boot from.

Can anyone help me understand what I have to do 😇🙏

  • Nate@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    2 months ago

    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.

    • Dariusmiles2123OP
      link
      fedilink
      arrow-up
      2
      ·
      2 months ago

      Here is what I’m getting after running through the steps you kindly gave me. The second part is the part where I’m probably not doing right…

      • Nate@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 months ago

        Apologies, I think I got a bit ahead of myself in the description.
        Once you’ve determined which partition is which (in your case, /dev/sda1 does appear to be the EFI partition, and /dev/sda3 appears to be your root partition), you need to mount them in this order

        mount /dev/sda3 /mnt
        mount /dev/sda1 /mnt/boot/efi

              • Nate@programming.dev
                link
                fedilink
                English
                arrow-up
                1
                ·
                2 months ago

                Since you’re using btrfs, there is likely another subfolder under /mnt. ll /mnt will tell you this, but the drive isn’t still mounted from the other day. When you’re mounting the EFI partition, you’re going to want to mount it to that folder, and not /mnt itself (/mnt/root/boot/efi, instead of /mnt/boot/efi) same for the binds (/dev, /proc, /run, etc)

                • Dariusmiles2123OP
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  2 months ago

                  Here is what I’m getting.

                  I’m almost ready to give up on my dream of establishing a perfectly tuned version of Fedora that I can deploy on all my computer just through Clonezilla…

                  • Nate@programming.dev
                    link
                    fedilink
                    English
                    arrow-up
                    1
                    ·
                    2 months ago

                    Interesting, both of my F40 installs with btrfs only have a root folder, but it looks like yours has created separate ones for /, /home, and /boot. run ll /mnt/boot; ll /mnt/home; ll /mnt/root so I can take a quick look at where things are located. My best guess is that sda1 gets mounted to /mnt/boot, while everything else (/dev, /sys, etc) gets mounted to /mnt/root