Steve's blog
   


Steve About
Steve's blog,
The Words of the Sledge
steve@einval.com

Subscribe
Subscribe to the RSS feed.

Links

  • Home
  • Debian
  • PlanetDebian
  • Search PlanetDebian
  • Friends

  • Matthew Garrett
  • Jonathan McDowell
  • Jo McIntyre
  • Martin Michlmayr
  • Andrew Mobbs
  • Mike Pitt
  • Daniel Silverstone
  • Andy Simpkins
  • Neil Williams

  •        

    Sunday, 02 August 2015

    Tracking broken UEFI implementations

    There can be issues with shipping installer images including UEFI. But they're mainly due to crappy UEFI implementations that vendors have shipped. It's fairly well-known that Apple have shipped some really shoddy firmware over the years, and to allow people to install Debian on older Apple x86 machines we've now added the workaround of a non-UEFI 32-bit installer image too. But Apple aren't the only folks shipping systems with horrendously buggy UEFI, and a lot of Linux folks have had to deal with this over the last few years.

    I've been talking to a number of other UEFI developers lately, and we've agreed to start a cross-distro resource to help here - a list of known-broken UEFI implementations so that we can share our experiences. The place for this in in the OSDev wiki at http://wiki.osdev.org/Broken_UEFI_implementations. We're going to be adding new information here as we find it. If you've got a particular UEFI horror story on your own broken system, then please either add details there or let me know and I'll try to do it for you.

    00:40 :: # :: /debian/efi :: 3 comments

    Comments

    Re: Tracking broken UEFI implementations
    Holzhaus wrote on Fri, 07 Aug 2015 03:22

    My HP ProBook 6465b ignores boot entries that I set via efibootmgr or bcdedit and always boots this file: EFI/Microsoft/Boot/bootmgfw.efi

    I wrote some more details here: http://homepage.ruhr-uni-bochum.de/Jan.Holthuis/misc/uefi-madness/


    Reply
    Re: Tracking broken UEFI implementations
    Tinko wrote on Fri, 07 Aug 2015 07:13

    Pretty much the same issue with Sony Vaio Pro 13 (2013), aka SVP1321: It directly tries to load the EFI file at the path of the Windows EFI loader.

    A friend of mine purchased this ultrabook and needs a dual boot setup. The only way to achieve it was to manually move the EFI file of Grub into the place of the Windows Bootloader and move the Windows Bootloader somewhere else, so that he can boot Windows via Grub. Whenever a Windows Up(grade/date) affects the bootloader and restores the Windows EFI files, he has to switch them back manually with a live medium.

    I might be overreacting, but this has angered me endlessly and I'm calling for a boycott of Sony laptops ever since. The ultrabook was sold for >1000$ and they didnt care at all about their customers freedom to select another OS. I wonder how a workaround for the debian installer might look like, though, since replacing the Windows EFI files might seem somewhat intrusive. But since the problem seems to be widespread, maybe you can have the installer recognize these completely broken UEFI implementations explain in one alert box what's wrong and how the installer can fix it, if the user wishes to fix it.


    Reply
    Re: Tracking broken UEFI implementations
    GreatEmerald wrote on Fri, 07 Aug 2015 13:44

    There's a similar issue as what Holzhaus described in my HP 2000 laptop, though not as severe.

    Basically, the UEFI is broken in two ways: 1) It always creates, in Boot0000 slot, an entry to boot either EFI/Microsoft/Boot/bootmgfw.efi or EFI/Boot/bootx64.efi, in that order, if those files exist; 2) It ignores the BootOrder variable and boots in variable order, from Boot0000 to Boot0001 to Boot0002 to Boot1001 etc.

    The best way to boot that is to make sure neither of the two files exist, and create a boot entry Boot0001 pointing to GRUB or whatnot.

    Of course, then booting Windows is a bit of a problem. You need to change BCD settings to point to the new Windows EFI file name, and/or change GRUB settings to detect the new Windows filename. The GRUB os-prober is annoying in that it, too, simply checks for EFI/Microsoft/Boot/bootmgfw.efi and gives up if it's not there.


    Reply

    Your Comment

     
    Name:
    URL/Email: [http://... or mailto:you@wherever] (optional)
    Title: (optional)
    Comment:
    Anti-spam:Select the sixth of the following words and enter it in the "Human" box
    unscrew upper unsaddle unnerved urbanise umpired unripe unmoved unzips unbeaten
    Human:
    Save my Name and URL/Email for next time