You are not logged in.
Pages: 1
I pre-emptively uninstalled grub before installing systemd-boot, because it went so smoothly on my desktop computer. However that wasn't the case on my thinkpad. I have quadruple checked everything, and tried 3 different ways of booting (systemd-boot, grub again, efistub) but nothing works now. For the sake of testing I removed the Windows Boot Loader from my boot order in bios, the thinkpad has a built-in boot device selector, and after I select any of the bootloaders, a black screen appears, then it instantly switches back to the selector menu (this is the behavior for all 3 of them). I ultimately want to use systemd-boot, but I'll be happy with anything at this point.
As I said, I checked everything multiple times, and even tried 3 different bootloaders, but nothing works, the only thing I can boot now is windows. That said, I am willing to go through the debugging process again, I just want to use my computer.
(I've been using a usb with an arch iso on it to make changes)
Offline
I assume you have been using efibootmgr to check all this. I have seen some brain dead implementations of uEFI that ignore boot order changes made by efibootmgr.
Can you get into the pre-boot menu (some people erroneously call it the BIOS menu) of your ThinkPad? Check the boot order there and see if things look okay in that menu. If the method you want to use shows up there, deselect it and reselect it form that menu and see what happens.
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
The shortest way to ruin a country is to give power to demagogues.— Dionysius of Halicarnassus
---
How to Ask Questions the Smart Way
Offline
Please have a read at using the UEFI Shell: can you chainload your installed BootLoader's .efi loader via the EFI Shell of the ArchLinux's USB?
<49,17,III,I> Fama di loro il mondo esser non lassa;
<50,17,III,I> misericordia e giustizia li sdegna:
<51,17,III,I> non ragioniam di lor, ma guarda e passa.
Offline
Um how am I supposed to chainload with the efi shell?
Note: I booted it from my ventoy usb, as I couldn't do it any other way
Offline
Um how am I supposed to chainload with the efi shell?
Load up the UEFI Shell by selecting it from the ArchLinux's USB menu.
If the UEFI Shell starts up correctly, then (example, YMMV):
- at the prompt Shell>, type
FS0: - press <ENTER>
- at the prompt FS0:\>, type (you can use <TAB> key for auto-completion)
EFI\GRUB\grubx64.efi- press <ENTER>
<49,17,III,I> Fama di loro il mondo esser non lassa;
<50,17,III,I> misericordia e giustizia li sdegna:
<51,17,III,I> non ragioniam di lor, ma guarda e passa.
Offline
As ewaller has mentioned, have you checked your efibootmgr? Some firmwares don't work well with efibootmgr but I've never had problems with Thinkpads. You need to determine if the boot entries are properly written to your NVRAM.
Which thinkpad is this anyway?
Offline
It's a Lenovo 300w Yoga Gen 4. And yes I have checked them (unless I checked for the wrong thing? I don't see how that could be the case though), but I also can't see how that could be the problem since I'm literally selecting them, and it's displaying the right name.
As for the UEFI shell part, the folder which has the boot files is `\EFI\BOOT` for some reason:
BOOTAA64.EFI
BOOTIA32.EFI
BOOTMIPS.EFI
grub.efi
grubia32.efi
grubia32_real.efi
grubx64_real.efi
mmia32.efi
MokManager.efiAnd running any of them just crashes back to the ventoy iso selection menu
Offline
Never mind, FS0 is the wrong filesystem. FS1 has the boot files, and they work
Offline
FS1 has the boot files, and they work
So, UEFI Firmware can boot other .efi loaders. OK.
Well, try with GRUB's --removable flags: https://wiki.archlinux.org/title/GRUB#D … _boot_path. Can your Firmware boot with that?
<49,17,III,I> Fama di loro il mondo esser non lassa;
<50,17,III,I> misericordia e giustizia li sdegna:
<51,17,III,I> non ragioniam di lor, ma guarda e passa.
Offline
Would it be possible to debug with systemd-boot, or does that flag not exist for it?
Offline
Well, --removable flag does nothing special:
Alternatively you can move an already installed GRUB EFI executable to the default/fallback path:
# mv esp/EFI/grub esp/EFI/BOOT # mv esp/EFI/BOOT/grubx64.efi esp/EFI/BOOT/BOOTX64.EFI
You can do whatever you want with ANY .efi executables (being it a BootLoader or not...)
Last edited by d.ALT (2024-02-08 07:28:00)
<49,17,III,I> Fama di loro il mondo esser non lassa;
<50,17,III,I> misericordia e giustizia li sdegna:
<51,17,III,I> non ragioniam di lor, ma guarda e passa.
Offline
systemd-boot already installs it's EFI there I'm pretty sure?
Installs systemd-boot into the EFI system partition. A copy of systemd-boot will be stored as the EFI default/fallback loader at ESP/EFI/BOOT/BOOT*.EFI. The boot loader is then added to the top of the firmware's boot loader list.
Last edited by diniamo (2024-02-08 09:08:35)
Offline
systemd-boot already installs it's EFI there I'm pretty sure?
bootctl manpage wrote:Installs systemd-boot into the EFI system partition. A copy of systemd-boot will be stored as the EFI default/fallback loader at ESP/EFI/BOOT/BOOT*.EFI. The boot loader is then added to the top of the firmware's boot loader list.
Never mind, FS0 is the wrong filesystem. FS1 has the boot files, and they work
(systemd-boot)Boot into your ArchLinux actual installation and post here:
# ls -aR $ESP/
# efibootmgr -u
# bootctl status<49,17,III,I> Fama di loro il mondo esser non lassa;
<50,17,III,I> misericordia e giustizia li sdegna:
<51,17,III,I> non ragioniam di lor, ma guarda e passa.
Offline
https://0x0.st/HkCB.txt
https://0x0.st/HkCS.txt
https://0x0.st/HkC1.txt
In respective order.
Offline
Current Boot Loader:
Product: systemd-boot 255.3-1-arch
Features: ✓ Boot counting
✓ Menu timeout control
✓ One-shot menu timeout control
✓ Default entry control
✓ One-shot entry control
✓ Support for XBOOTLDR partition
✓ Support for passing random seed to OS
✓ Load drop-in drivers
✓ Support Type #1 sort-key field
✓ Support @saved pseudo-entry
✓ Support Type #1 devicetree field
✓ Enroll SecureBoot keys
✓ Retain SHIM protocols
✓ Menu can be disabled
✓ Boot loader sets ESP information
ESP: /dev/disk/by-partuuid/71912982-f8b6-42cc-8f80-c8942dabc275
File: └─/EFI/Boot/bootx64.efiYou're actually booting the standard path, indeed.
I really don't know what else suggest you.
At a last resort:
- boot into ArchLinux's USB
- # efibootmgr -Bb0 && efibootmgr -Bb1 && efibootmgr -Bb2
- reboot
- go inside you computer's UEFI Settings and look for Boot Menu Order (or something like that) and set "Boot0013 NVMe:" in 1st position
- save-and-reboot
- check if computer is now capable of regonizing-and-booting the standard path (\EF\Boot\bootx64.efi) by itself
or
- (re)boot again into ArchLinux's USB
- # efibootmgr --create --disk /dev/nvme0n1p1 --loader '\EF\Boot\bootx64.efi' --label 'tux' --unicode -e 3
<49,17,III,I> Fama di loro il mondo esser non lassa;
<50,17,III,I> misericordia e giustizia li sdegna:
<51,17,III,I> non ragioniam di lor, ma guarda e passa.
Offline
Oh well, thank you, I'll try those
Offline
I once killed my bootloader by playing around with ZFS - for me, this helped:
1) boot from any live media (in my case I use PXE)
2) just completely clear the ESP
3) use efibootmgr and just clean ALL entries (the bios will receover its defaults like network boot on its own)
4) mount your root partition
5) mount your ESP in /boot of your root parition
6) grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
7) grub-mkconfig -o /boot/grub/grub.cfg
8) exit out of arch-chroot, umount -R /mnt and reboot
9) check your bios - it should have recovered its default entries like network boot, uefi shell and such along with the fresh created grub entry
your system should now at least be able to loader grub and from there your arch install - now you're back to square one and can start over
Online
Pages: 1