37

I have a MacBook Pro and only use Ubuntu on it. I just upgraded from 18.04 to 20.04.

Now when I start the computer it says:

Failed to Set MokListRT: Invalid Parameter
Could not create mokListRT: Invalid Parameter
Importing MOK states has failed: import_mok_state() failed: Invalid Parameter
Continuing boot since secure mode is disabled.

Does anyone know EXACTLY how I can fix this?? Step-by-step process I don't want to mess anything up trying to fix this.

4
  • For reference, here is a bug report. – Alexey Nov 6 '20 at 10:23
  • A possible duplicate with an accepted answer: How do I fix broken boot after shim update?. – Alexey Nov 6 '20 at 10:27
  • 2
    I answered this question at askubuntu.com/a/1299955/389062. Your question is pretty much a duplicate of the one that was asked there, except that in your case you see the MOK List error message while the other question only mentions a blinking _ instead of the MOK List error message. But the source of the problem is fundamentally the same: shimx64.efi (a signed / "MOKlisted" Secure Boot version of grubx64.efi) being used in a computer whose EFI's Secure Boot mode is disabled and, therefore, requires grubx64.efi instead. – Yuri Sucupira Dec 14 '20 at 11:33
  • I had a similar issue with my 13" mid-2009 Apple Macbook Pro and solved it by doing what I explain here – Yuri Sucupira Jan 6 at 12:21
48

You have to replace shimx64.efi with grubx64.efi as follows:

sudo su -
cd /boot/efi/EFI/ubuntu
cp grubx64.efi shimx64.efi
reboot
7
  • 1
    Point of reference for others. This does not work for the same error message on a 2010 iMac (coreDuo). The error may be more subtle or the older machine may need an even older version of grub. – Jonathan Gutow Oct 10 '20 at 0:55
  • 1
    this works also on MacBook Air 2015 model, You are awesome sir, thank you – GGEv Oct 18 '20 at 16:11
  • 1
    In KDE neon, the directory named above exists but does not contain the files. They are in /boot/efi/EFI/neon. i removed packages shim and shim-signed afterwards. – mak Nov 22 '20 at 21:06
  • 10
    This fix works, but only until the next system update re-installs shimx64.efi. The "permanent" fix for me was to remove "shim" and "shim-signed" (sudo apt remove --purge shim shim-signed) and then reinstall-grub (sudo update-grub2). – Thomas Perl Dec 5 '20 at 11:46
  • 1
    How do I do this if I can't boot into an OS with a shell? I'm just stuck in a grub shell – lennartVH01 Feb 8 at 11:28
6

Solution that works on my 2010 iMac. Install rEFInd and make sure to boot from the option that specifies grubx64.efi.

2
  • This worked and it was as simple as sudo apt install refind . – hackerb9 Feb 18 at 0:40
  • well the message MokListRT: Invalid Parameter disappear by installing reFind, I still not sure this is the best solution, as my system is not multi-OS, reFind is simply useless otherwise than hidding the message. – JOduMonT Mar 18 at 17:40

Not the answer you're looking for? Browse other questions tagged or ask your own question.