Fedora in USB

Hi, I’m trying to install fedora on a USB stick that I’ve previously made bootable with the ISO image. The fact is that at the time of selecting the memory where I am going to install it, the computer does not detect the USB. How can I get it detected?

Are you hoping to have a dual boot with the installer and a Fedora installation on the same stick?

I find that an external USB 3 nvme drive is much faster than internal (laptop IDE) drives on older systems. USB sticks vary widely and price and performance, but few USB sticks can transfer data at full USB3 speeds – most are slower than IDE drives.

Creating and using live USB mentions an unsupported livecd-iso-to-disk utility that attempts to preserve data on the drive.

I found that I needed to have 2 USB devices.

  1. Boot the install fedora
  2. Install on to a 2nd USB device.

For my 2nd USB device I used a .5TB Samsung SSD.
It makes a great rescue disk for all my fedora systems.


Using either Ventoy or Easy2boot, you can have one or more ISO’s on a USB and be able to boot them and also have other bootable partitions on the same USB.

When I did that myself recently in the simplest way with Easy2boot, it worked through several boots of both the ISO and the regular Fedora. Then something trashed it. I’m not sure whether it was Windows that trashed it or easy2boot itself (I had put it in a Windows system, which said the usb stick needed repair. I declined the repair. But maybe it did something anyway). I’m in the process of redoing it in a kludgier way that I think will be more robust at the cost of not allowing kernel updates without manual intervention.

When I installed Easy2boot on my 64GB stick, I thought I selected GPT, rather than the default MBR. But it gave me MBR anyway. I didn’t initially notice.

Easy2boot uses most of the stick for an NTFS partition in which you can put ISO files to boot from its menu and/or a variety of other tools in a few different formats. At the end of the stick, it puts its partition 2, which is an EFI partition and the thing you choose when booting into E2B from the BIOS menu.

After using that for a while, I shrank that NTFS partition, and booted the (KDE) Fedora 38 ISO and ran the installer going into the space I had left by shrinking the NTFS.

The Fedora installer (default partitioning) created a second EFI partition. I don’t know why it often does that to me. It ought to just put a Fedora directory into the existing EFI partition. Then it created an extended partition and into the extended partition it put a boot partition and a BTRFS holding both root and home.

I switched back and forth (and on a couple different computers) between the ISO and the normal install. Both worked fine. Then something deleted the extended partition removing both the boot and the BTRFS. I think easy2boot may be designed to tolerate only one extra partition (beyond the two it uses).

I want to keep using BTRFS, which I’m pretty sure (correct me if I’m wrong) means /boot can’t be in that main partition. So my kludge is to not have a /boot and instead put a few extra things in the EFI partition.

I happened to have a recently installed (from that same ISO) Fedora on my Windows laptop, using a tiny BTRFS partition. So I deleted the extra EFI partition on the stick and cloned (with gparted) that tiny Fedora BTRFS into the empty space on the stick (and changed its UUID and label), and copied the EFI/fedora directory from the EFI of that Windows system to the EFI of the stick and copied the things I think I need from /boot onto that same EFI.

Then it should just require editing a few files to point to things in their new and/or unusual places.

The grub.cfg in efi/fedora needs to point to the grub.cfg in the grub2 directory of the same partition, rather than the /boot partition (that doesn’t exist). Two search commands in that second grub.cfg need to be similarly changed.

The file in loader/entries (which is on the EFI partition despite belonging in /boot) has to be edited for the nonstandard location of the files it points to.

Of course, the /etc/fstab of the cloned system must be edited to use the new label, not the original UUID (I prefer labels, I could use the new UUID).

I’m not sure what if anything I’m forgetting. I didn’t finish/test and I’m elsewhere now. But I know enough about how all that works to get it right.

Along the way, I found I can’t copy any one file bigger than 87MB onto that EFI partition, even though there is enough free space. I though the limit was higher. the initramfs-0-rescue file is too big. But then I realized I have no need for it anyway. If this Fedora gets messed up, I would be fixing it from a different boot anyway, not from its own rescue. But I am confused about what causes that limit.

That was not my use case. I wanted Fedora on removable media.

My USB sticks all take much longer to boot than my recycled 128 GB NVME drive in a USB3 case. USB SSD’s should be much faster than USB keys. There is a robust supply of small M.2 NVME drives that were replaced with larger NVME drives and name-brand cases are not expensive. NVME does need cooling, so external cases are aluminum and much larger than USB keys.

I got the Samsung T5 USB-3 SSD, as you say very fast.

yes it is not completely cached in RAM or something. Your install usb stick contains the files that will be cloned to the install media.