On Oct 28, 2022, at 14:32, Jake D <techsupport_accou...@riseup.net> wrote:
> 
> Hello all.
> 
> I need some help.
> 
> Firstly:  Please forgive the formatting - I'm new to this medium and not sure 
> what the accepted conventions are, the HyperKitty interface is ...very basic. 
> Also please forgive the length, I just don't know how to make it shorter 
> without losing potentially relevant detail. If I've asked this in the wrong 
> place, by all means punt my backside in the direction of the right place.
> 
> I seem to have got myself in a bit of a mess and I’ve having trouble finding 
> documentation that I can apply directly to my case . This is my first time on 
> Linux so I’m not familiar with much of the terminology or background of these 
> systems.
> 
> **Background**
> 
> I have an internal drive that used to successfully dual boot windows and a 
> LUKS-encrypted F36 installation with BTRFS.
> 
> I also had some spare unpartitioned space, which I used to fully install some 
> other linux distros (including another F36 installation) to troubleshoot 
> other minor problems (a tri-boot, so to speak)
> 
> **What went wrong**
> 
> The new distros installed fine, but I discovered afterwards I could no longer 
> find/boot into my original LUKS F36 installation. In my igornance, I tried 
> deleting clearing the new installation partitions, and now, if I select the 
> Fedora option thru my BIOS boot menu, I just get to a 'grub> ’ prompt.

Well the good news is that if it is booting to a grub prompt, it is most likely 
not a problem with the EFI volume, because it is booting into grub.  You just 
need to regenerate the contents of the /boot volume, which most importantly 
needs a kernel, an initrd and some grub configuration files.

When booting off rescue media, make sure you boot it as an EFI device. Some 
hardware will default to booting legacy firmware when choosing external media, 
for some reason.

Check if there is a /sys/firmware/efi/ directory when you’re booted into the 
rescue media, otherwise you won’t be able to update the EFI settings for any 
new bootloader you install.

> I’ve tried a few commands there to boot manually but nothing worked and it 
> wouldn’t even decrypt the root partition, worse still, somehow this process 
> accidentally wiped the ORIGINAL LUKS F36 /boot partition too. I have no idea 
> how.
> 
> **What I have now**
> 
> Partitioning follows:
> 
> nvme0n1p1: EFI partition (both win and DF36)
> nvme0n1p2: MS Reserved
> nvme0n1p3: Win10
> nvme0n1p5: Original Fedora /boot (accidentally wiped)
> nvme0n1p6: LUKS volume
> nvme0n1p7: Former ‘third OS’ boot partition (wiped)
> nvme0n1p8: Former ‘third OS’ root partition (also wiped)
> nvme0n1p4: Win Recovery
> 
> **What I am trying to do**
> 
> Unbork everything, somehow?
> 
> I tried using these instructions in the official Fedora Docs, but they seem 
> to be …wrong? Out of date? They didn’t work, I suspect due to LUKS/BTRFS. [ 
> https://docs.fedoraproject.org/en-US/Fedora/23/html/Multiboot_Guide/common_operations_appendix.html]
> 
> The I found these...other Fedora Docs? Which seemed more up to date and 
> looked like they had relevant bits, bit still seem directly applicable and 
> didn't work. 
> [https://docs.fedoraproject.org/en-US/quick-docs/bootloading-with-grub2/#restoring-bootloader-using-live-disk]
> 
> The only success I’ve had is with this guide:  
> https://fedoramagazine.org/os-chroot-101-covering-btrfs-subvolumes/ . 
> 
> I’ve managed to chroot (a very dumb word) thru a LiveUSB session, with the 
> following commands:
> 
>>> cryptsetup luksOpen /dev/nvme0n1p6 fedora_crypt 
>>> mount /dev/mapper/fedora_crypt /mnt/ -t btrfs -o subvol=root
>>> mount /dev/mapper/fedora_crypt /mnt/home -t btrfs -o subvol=home
>>> mount /dev/nvme0n1p5 /mnt/boot
>>> mkdir /mnt/boot/efi
>>> mount /dev/nvme0n1p1 /mnt/boot/efi
>>> mount --bind /dev /mnt/dev
>>> mount -t proc /proc /mnt/proc
>>> mount -t sysfs /sys /mnt/sys
>>> mount -t tmpfs tmpfs /mnt/run
>>> mkdir -p /mnt/run/systemd/resolve/
>>> nano /mnt/run/systemd/resolve/stub-resolv.conf (enter 'nameserver 1.1.1.1', 
>>> save)
>>> chroot /mnt
> 
> 
> I can ping google, and browse the original home folder with ls, so it looks 
> like ‘im in’ the original installation via chroot (which is still a dumb word)
> 
> What the problems are
> 
> From there, I go back to the Fedora Docs and run
> 
>>> dnf reinstall grub2-efi grub2-efi-modules shim
> 
> That seems to work? Downloads and seems to install without any errors.
> 
> The next step though;
> 
>>> grub2-mkconfig -o /boot/grub2/grub.cfg
> 
> fails with the following:
> 
>>> /usr/sbin/grub2-probe: error: failed to get canonical path of 
>>> ‘/dev/mapper/fedora_crypt’
> I have no idea what that means.

Most likely the OS didn’t use fedora_crypt as the luks device, so it got hung 
up there.

I wonder if you could check the /etc/fstab for the device name?

> On the side, I also sees that despite the grub reinstall, theres no vmlinuz 
> or initramfs kernel files in the reconstructed /boot partition, so I tried 
> running
> 
>>> dracut --regenerate-all
> 
> which results in
> 
>>> dracut: Can’t write to /boot/efi/[long-ass id code string]/[kernel 
>>> version]: Directory /boot/efi/[long-ass id code string]/[kernel version] 
>>> does not exist or is not accessible.
> 
> This is true - that folder isn’t in /boot/efi. But I dont remember ever 
> seeing it there, and just to check I did a fresh test install on another 
> drive and theres nothing like that there either.
> 
> So now I’m lost

As others have said, it’s missing kernels, so making an initrd is impossible.

    dnf reinstall ‘kernel-*’

… should get you back to having all the kernel related packages installed.

> What I’m looking for
> 
> I’m fairly sure the error messages I’m seeing are a result of oversights from 
> my cobbled-together method and gneral lack of understanding. So if anyone 
> knows what I missed and how/why, that’d help …but honestly I still really 
> don’t know what’s going on and suspect I’m probably going to run into another 
> problem just as quick
> 
> Really, I’m after some sort of clear, up to date walk-through with 
> entry-level language/detail, on how exactly to rebuild from scratch the 
> EFI/boot partitions for F36 with a LUKS encrypted root, using BTRFS. I know 
> the installation itself is fine and should be recoverable, I just dont know 
> how all these different bits fit togther, and none of the guides out there 
> seem to explain/unify the different bits into a cohesive procedure for the 
> unfamiliar.

It sounds like you only wiped the /boot partition, which should be fairly easy 
to get back.  Reinstalling the kernel and grub2 packages will get you the 
packaged bits, and running dracut like you ran should get you the initrd, 
although only after you’ve got the kernel.

After everything is reinstalled, then run the grub2-mkconfig command to create 
the grub config file in your new /boot partition.

Just make sure you do everything from the chroot in an EFI booted rescue 
environment, either on a livecd or booting the NetBoot iso with the rescue 
option.

-- 
Jonathan Billings
_______________________________________________
users mailing list -- users@lists.fedoraproject.org
To unsubscribe send an email to users-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to