1

I have a system that dual boots Windows 10 and Ubuntu 16.04, UEFI. I recently changed the motherboard, and now the system will not boot from the hard drive.

During bootup, the following error messages appear for a split second, followed by a blank screen with blinking cursor:

Failed to set MokListRT: Invalid Parameter
Failed to open \EFI\BOOT\grubx64.efi - Not Found
Failed to load image \EFI\BOOT\grubx64.efi: Not Found
Failed to open \EFI\BOOT\MokManager.efi - Not Found
Failed to load image \EFI\BOOT\MokManager.efi: Not Found

I can boot from the Ubuntu installation CD. During bootup from the CD, it briefly shows the error message:

Failed to set MokListRT: Invalid Parameter

But then the CD successfully finishes booting up and works fine.

From the CD, I have installed and run boot-repair (from ppa:yannubuntu/boot-repair), but it did not fix the problem.

For reference, here is the output from boot-repair: http://paste2.org/LbDh1NB1

You can see that there are references to "efi/clover" in there. This was from an installation of Clover I did some time back, which was on a second hard drive. That hard drive is not connected to the system (I have tried booting with it connected as well, but that didn't change anything).

If this seems like a possible cause for problems, does anyone know how I can clean up these references from efi? For now I just want to get to a state where Ubuntu and Windows can be booted from the one hard drive (I will worry about Clover later).

For reference, the hard drive is located at /dev/sda, and is partitioned like so: gparted screenshot

  • sda1 is the boot partition.
  • sda2 is where Windows 10 is installed.
  • sda7 is an NTFS partition for files that I want to share between Windows and Ubuntu
  • sda8 is a swap partition.
  • sda9 is the Ubuntu home partition.
  • sda10 is the Ubuntu system partition.

Let me know if I can provide any more additional info to help diagnose the problem.


ADDITIONAL INFORMATION #1

I have deleted the efi/clover folder and ran boot-repair again. Latest output from Boot Repair: http://paste2.org/yNV0Enaw

Output from sudo efibootmgr -v

BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0000,0001
Boot0000* EFI DVD/CDROM PcieRoot(0x0)/Pci(0x1f,0x2)/Ata(0,1,0)
Boot0001* OsLoader0000  PcieRoot(0x0)/Pci(0x1f,0x2)/Ata(0,0,0)/HD(1,GPT,83ba8348-d117-4c28-841f-7bd4d44b6190,0x800,0x96000)/File(\EFI\BOOT\BOOTX64.EFI)

The motherboard is a Gigabyte GA-Z68P-DS3 (rev. 2.0).

The BIOS is Award Modular BIOS v6.00PG. I do not see any options that refer to Secure Boot, or anything with options for Windows vs Other. Some information about the main menus in this BIOS version: http://docplayer.net/21102511-Bios-award-v6-00pg-bios-setup-guidelines.html


ADDITIONAL INFORMATION #2

I flashed latest stock BIOS: Gigabyte z68pds32.Ua6.

I now see an option called "OS Type" which I have set to "Other OS".

The error about "Failed to set MokListRT: Invalid Parameter" is now gone (both when booting from CD or hard drive). Unfortunately still can't boot from hard drive. Still seeing the other error messages:

Failed to open \EFI\BOOT\grubx64.efi - Not Found
Failed to load image \EFI\BOOT\grubx64.efi: Not Found
Failed to open \EFI\BOOT\MokManager.efi - Not Found
Failed to load image \EFI\BOOT\MokManager.efi: Not Found
karel
  • 114,770
  • Have you tried turning UEFI Secure Boot off? That is related to keys/mokmanager etc. You will need to remove the /EFI/clover folder, remove any entries in UEFI with efibootmgr and since Boot-Repair added many .efi files into 25_custom, you should edit that to remove entries you do not want, possibly all. Similar to this: http://askubuntu.com/questions/429610/uninstall-grub-and-use-windows-bootloader/497720#497720 & 25_custom: http://askubuntu.com/questions/778663/what-is-the-difference-between-windows-uefi-bootmgfw-efi-and-windows-uefi-bkpboo/778705#778705 – oldfred Mar 04 '17 at 18:04
  • @oldfred, there is no UEFI Secure Boot option that I can find in the bios settings. Also, how to edit UEFI entries when booted from CD? After booting from CD, efibootmgr -v output only shows two entries ("EFI DVD/CDROM" and "OsLoader0000" -- latter referencing a file \EFI\BOOT\BOOTX64.EFI). – Paul Lamb Mar 04 '17 at 19:05
  • Report shows ubuntu entry added. What brand/model system? Secure Boot may just be called "Windows" and "Other". You want "Other". – oldfred Mar 04 '17 at 19:41
  • @oldfred, thanks I have updated my post with some additional info on motherboard and bios versions. Removed efi/clover folder and did boot-repair again. I can't find anything in bios related to secure boot or anything with options for Windows vs Other. – Paul Lamb Mar 04 '17 at 20:42
  • Microsoft requires vendors to allow users to turn off Secure Boot. Unless the odd 32 bit UEFI system, there should be a way. Is UEFI/BIOS latest version from vendor? What brand/model system? – oldfred Mar 04 '17 at 21:23
  • Motherboard is Gigabyte GA-Z68P-DS3, and BIOS is Award Modular v6.00PG (see Additional Information #1 that I added to the question). I do not think this is the bios that comes stock with the motherboard (it is a refurbished one I bought on Ebay). I could try flashing latest stock BIOS to see if I get any options for secure boot. – Paul Lamb Mar 04 '17 at 21:50
  • Manual looks a lot like my old BIOS only Gigabyte system. Must be very early UEFI before Windows started the UEFI with Secure boot. If update is available it may add that? – oldfred Mar 05 '17 at 00:48

1 Answers1

1

I got it working. Posting solution in case others have a similar problem. Thanks to @oldfred for the comments which pointed me in the right direction.

The first problem was related the first error message:

Failed to set MokListRT: Invalid Parameter

To address this one, Secure Boot needed to be disabled. Unfortunately, the version of BIOS that came with my motherboard didn't have this setting (at least I was not able to find it). I flashed the latest version of BIOS from the motherboard manufacturer.

With the latest BIOS version, I was then able to find the option which @oldfred mentioned is equivalent to Secure Boot. The option is called "OS Type", and the correct value to select is "Other OS". This eliminated the invalid parameter error during bootup.

The other error messages were about files not found:

Failed to open \EFI\BOOT\grubx64.efi - Not Found
Failed to load image \EFI\BOOT\grubx64.efi: Not Found
Failed to open \EFI\BOOT\MokManager.efi - Not Found
Failed to load image \EFI\BOOT\MokManager.efi: Not Found

I mounted /dev/sda1 and did a little digging. I found the two files that were reported to be missing, under folder /efi/ubuntu/. I copied them over to the folder which is mentioned in the error messages (/efi/Boot/). I am now able to boot up without errors.

  • Chances are your firmware is buggy, as described in my answer to this question and this one. Such problems used to be quite common, but are rarer today. My Googling suggests your motherboard dates from 2011 or thereabouts, which means it's an older design, likely with a buggy EFI. – Rod Smith Mar 05 '17 at 22:12
  • Yes, that definitely seems to be the case here. I went with this particular motherboard because it is one of the few models available with socket 1155 that has a parallel port built into the motherboard (needed for a particular project I am working on). I might do a little more searching to find an alternative with more recent firmware updates. Hadn't expected this problem when I bought this particular model. – Paul Lamb Mar 06 '17 at 15:25