Booting live ISO from Efi Shell

Hello, does anyone knows how I can tweak this workaround for fedora?
Everything goes smoothly except i get this error

systemd[1]: Failed to start initrd-switch-root.service - Switch Root.

Somehow I can’t even get to grub on my notebook and this is the only way I can start linux distro installs, except for fedora. thanks for your ideas guys

To install fedora from a live image on usb in uefi mode simply use the bios boot menu which should only show the USB device in uefi mode if bios is set for uefi only, or should show the usb device twice if the bios is set for CSM mode. As long as you select the usb device marked for uefi boot the system will boot in uefi mode. The install is done in the mode used for booting.

There is no need to use an efi shell to start the boot of the hybrid fedora image (which is capable of booting either way at users choice).

The linked post is about debian which does not have the uefi boot capable image and how to uefi boot that image. However, fedora is uefi capable directly from the image so that work around is not really necessary.

It looks like the parameters are a little different for Fedora Linux. Below is what I found.

$ sudo mount Fedora-Workstation-Live-x86_64-37-1.7.iso /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.
$ grep -m 1 vmlinuz /mnt/EFI/BOOT/grub.cfg
	linuxefi /images/pxeboot/vmlinuz root=live:CDLABEL=Fedora-WS-Live-37-1-7 quiet rhgb
$ grep -m 1 initrd.img /mnt/EFI/BOOT/grub.cfg
	initrdefi /images/pxeboot/initrd.img

So I would guess that you would need something more like the following in your liveboot.nsh file.

\images\pxeboot\vmlinuz initrd=\images\pxeboot\initrd.img append root=live:CDLABEL=Fedora-WS-Live-37-1-7 quiet rhgb

Edit: Actually, it looks like you would need to change that root= line to work the way you are doing it. You’d probably need to change it to something more like root=UUID=... and lookup the correct uuid value by running the blkid command with the path to your USB device as its parameter (e.g. blkid /dev/sdc1).

The mount command should show you which device node your USB filesystem is being mounted from if you run it while the USB device is connected.

Cheers mate @glb , works like a charm. Thank you very much.

I know @computersavvy , and thank you very much for your answer, but somehow my notebook (or my uefi, or my motherboard i don’t know) doesnt boot grub and this is the only workaround I found, to boot the kernel efi stub directly from shell. just happy I can boot fedora now with the tweaks proposed up here.

Glad to know it works for you.