View Full Version : Booting Fedora from a USB LiveCD under UEFI

16th September 2012, 11:33 PM
Recently, I purchased a shiny new Asus K55A laptop. Everything on the Windows side seemed to be perfect. But, to my horror, the trusty BIOS had been replaced with this new-fangled UEFI thingy that seemed to make a simple task a complex issue. Fortunately, after doing some poking around I figured out a solution to get it booting and installed.

When you first turn on the machine and go into the boot options, you'll see some of the standard items like your CD drive. However, you'll also see Windows and other UEFI terms in there. Basically, UEFI gets rid of the traditional MBR setup so you can boot into your computer faster. However, it makes things a little more complicated.

Most UEFI systems have the option to boot from either UEFI or a legacy system. If Fedora or any other Linux is the only operating system, then I'd recommend using the BIOS method. But, if you need to dual-boot Windows and it's installed as UEFI, then Fedora has to be installed as a UEFI setup. Otherwise, you'll end up with an unbootable system.

Now, I'm assuming that you've created the bootable USB image using the liveusb-creator. While it can boot to UEFI, it needs some tweaks. Out of the box, I was getting a grub 15 error (file not found) and I couldn't use it. So, here's how to set it up:

(Please note that Fedora UEFI only works on 64-bit systems.)

On your USB drive, make a copy of the syslinux folder. Rename the copied folder to isolinux.

Open up the EFI/BOOT/BOOTX64.conf file. Make following changes:

Remove the findiso line
Change the LABEL so it says LABEL:LIVE

The final result should look like this:

timeout 10

title Fedora-17-x86_64-Live-KDE.iso
kernel /isolinux/vmlinuz0 root=live:LABEL=LIVE rootfstype=auto ro liveimg quiet rhgb
initrd /isolinux/initrd0.img
title Verify and Boot Fedora-17-x86_64-Live-KDE.iso
kernel /isolinux/vmlinuz0 root=live:LABEL=LIVE rootfstype=auto ro liveimg quiet rhgb rd.live.check
initrd /isolinux/initrd0.img
In my case, I used the KDE ISO. If you used the GNOME ISO or another disk, it'll look slightly different.

At this point, go ahead and boot it. Just to remind you again, boot it as a UEFI image. Don't boot it as a standard MBR image because your system won't work after installation.

So, let Fedora do its thing until it comes to your desktop. Start the installer.

When you get to the partitioning point, I chose the Replace existing Linux setup (since I had Ubuntu on it before). Regardless of what you choose, you need to create a 200MB EFI partition mounted at /boot/efi. If you don't, then UEFI won't be able to boot into it. You can create the other partitions as you wish. If you chose an auto-layout, it should be added for you.

Allow the installer to do its thing.

After that, reboot and go back into your boot options. If everything went ok, then you should be able to boot into your Fedora install.

The only drawback to this is that it doesn't add the Windows efi stuff to it. I have to switch the boot options to get into Windows. Ubuntu did this all out of the box, so I might put Ubuntu back on and see how it sets everything up.

Hopefully this will clear up some of the headaches that I had with UEFI.

Edit: I should also note that replacing Ubuntu for Fedora didn't eliminate the UEFI entry for Ubuntu. I suspect that what Ubuntu is doing is editing the Windows UEFI whereas Fedora creates its own. There is a way to get rid of it, but I can't remember the name of the tool.