UEFI installation is non-functional in F16B - grub/grub2

little.owl little.owl at email.cz
Sun Oct 23 17:54:39 UTC 2011

Hi all,

I have decided to install Fedora 16 Beta on my netbook Lenovo Ideapad S205 - an AMD E-350 based system. The laptop has UEFI, without any possibility to use a legacy BIOS mode. The system is supposedly designed for Windows 7 only; the future is coming.

The standard way using the installation DVD (a hybrid image -> USB disk) doesn't work. The installer could be booted and the system installed without any errors and warnings. It doesn't boot in EFI mode, regardless there is an EFI directory. After the installation, the hardisk has GPT layout, without EFI System partition. The UEFI - Phoenix SecureCore Tiano - is not able to load the OS, there is a BIOS Boot partition with grub2 and no boot records in NVRAM.

The EFI installation using the file efidisk.img from the <dvd>/image/ directory doesn't work. The EFI boot image is based on legacy grub and as a result of that (?) Anaconda tries to install both loaders: legacy grub and grub2. There is a conflict during the package dependency resolution and if the installation continues, the final error is "grubby fatal error: unable to find a suitable template". Anaconda creates the EFI System partition, with the correct GUID and flags, but it is HUGE ~9GB, for layout without LVM ~8GB. Yes, GIGABYTES. Why? Me and Microsoft think that 200MB is a good default value, maximum 500MB. There is no boot record in NVRAM and when I install UEFI shell and run grub.efi, which is installed in directory <EFI System partition>/efi/redhat/grub.efi, the loading of the system fails.

In the final attempt I decided to create a basic GPT layout manually, following the Microsoft's recommendation. The EFI System partition is the first one, having size 200MB and all needed flags/GUID. I repeated the UEFI installation, ignoring all errors. After that I uninstalled the legacy grub in the rescue mode. As a fall-back solution I copied UEFI shell to <EFI System partition>/efi/boot/bootx64.efi; the PC now boots reliably to the shell.

The next steps are:
(1) to install grub2 in EFI mode
(2) edit UEFI boot records in NVRAM

At the moment, I am struggling with the first point, grub2 and EFI; I am really tempted to use the legacy grub. When I have some functional grub[2].efi somewhere, I would like to run it from the startup.nsh script and edit EFI boot records using efibootmgr.

I found annoying that in the gdisk is missing in the default installation, including the rescue mode and Live CD; the fdisk is useless for GPT and the [g]parted doesn't allow the precise control over the GPT partitioning.

I should fill bugs, I just need to clarify what is a bug, what is a feature, what is an unimplemented feature, what are my mistakes and if the problems are in anaconda or grub2.

The grub2 and all (U)EFI stuff are completely new for me, so any hints or links are welcome.

Vaclav M. 

More information about the users mailing list