Thursday, March 1, 2018

livecd - Linux EFI Live CD/USB


I was trying to boot from CD on a new HP Pavilion dv6 a few days ago with much frustration due to the Linux distributions I tried not working with EFI.


Additionally, the EFI Bios is Insyde H20, which I read has some issues regarding Linux as it is.


Specifically this: https://askubuntu.com/questions/150174/sony-vaio-with-insyde-h2o-efi-bios-will-not-boot-into-grub-efi


However, this appears to be related to booting Linux from the hard drive. I would just like to know:



  1. What exactly do I need to be able to boot Linux from a CD/USB? Is it a kernel-dependant thing or do I just need a bootloader like ELILO or Grub2 that supports booting EFI?

  2. Are there any Linux distributions that are distributed with the ability to boot in EFI as they are? Or rather, what would the easiest way to boot into a live Linux environment be using EFI and without the Legacy Booting?


Answer



Booting Linux in EFI mode requires both kernel configuration options and a particular layout of partitions and files on the boot medium. The kernel configuration options are extremely common these days, so that's more of a theoretical limit than a practical one. The disk/file layout issues are more of a limit. Basically, EFI uses EFI boot loaders stored in an EFI System Partition (ESP), which is a FAT32 filesystem in a partition flagged with a particular type code (C12A7328-F81F-11D2-BA4B-00A0C93EC93B on GPT disks). For an OS installer on a removable disk, the boot loader would normally be EFI/BOOT/bootx64.efi on the ESP of the removable disk. In the case of CDs, this file would be in an El Torito boot image with an EFI-specific method of preparation. For this reason, it's easier to prepare a bootable USB flash drive than a bootable CD/DVD image. Of course, boot loaders often have their own requirements, such as configuration files and support files.


Today, Fedora, Ubuntu, Mint, SUSE, and I'm sure many other distributions support EFI-mode installation. The last I tried it, Debian did not, although I've heard that's in the works or may even have changed with the latest version (I need to check that detail myself). Unfortunately, getting the installer to boot in EFI mode can be tricky. The problem is that most modern UEFI-based PCs include support for BIOS/legacy boot modes, and so when you try to boot, you could as easily end up booting in BIOS mode as in EFI mode. Hitting F2, F8, or whatever key you press to get a boot menu can often bring up a set of options with two to boot your medium: One option boots in BIOS mode and the other boots in EFI mode. Once booted, look for the /sys/firmware/efi directory. If it's present, you've booted in EFI mode. If not, you've probably booted in BIOS mode (although you might just need to insert the efivars kernel module).


No comments:

Post a Comment

hard drive - Leaving bad sectors in unformatted partition?

Laptop was acting really weird, and copy and seek times were really slow, so I decided to scan the hard drive surface. I have a couple hundr...