Secure Boot accepts only trusted files during boot. The shim boot loader is a tool which allows you to select which files to trust. HackBGRT installs shim for you, but you need to configure it with these instructions.
On the first boot after installing HackBGRT, you will see an error message saying "Verification failed". You need to press a key to enter the setup tool (MOKManager) where you can choose to trust HackBGRT. After that, use arrow keys to navigate and Enter to continue as described below.
This is the start of shim configuration.
ERROR
Verification failed: (0x1A) Security Violation
+----+
| OK |
+----+
Select OK
, Enter.
Shim UEFI key management
Press any key to perform MOK management
Booting in 5 seconds
Press a key quickly to enter MOK management or the MOKManager program.
Perform MOK management
Continue to boot
Enroll key from disk
Enroll hash from disk
Select Enroll hash from disk
, Enter. This is the safest option where you choose to trust only a specific version of HackBGRT.
You can also choose to Enroll key from disk
, which means that you choose to trust anything signed with the same certificate. How do you know if it's safe? You don't – that's why you should rather use the other option or build your own version of HackBGRT with your own certificate.
Select Binary
The Selected Binary will have its hash Enrolled
This means it will subsequently Boot with no prompting
Remember to make sure it is a genuine binary before enrolling its hash
+----------------+
| YOUR DISK NAME |
+----------------+
Select the disk, Enter.
+---------------+
| EFI/ |
| loader/ |
| vmlinuz-linux |
+---------------+
Select EFI/
, Enter.
+------------+
| ../ |
| Boot/ |
| HackBGRT/ |
| Microsoft/ |
+------------+
Select HackBGRT/
, Enter.
+-----------------+
| ../ |
| grubx64.efi |
| loader.efi |
| mmx64.efi |
| certificate.cer |
| splash.bmp |
| config.txt |
+-----------------+
Select grubx64.efi
, Enter.
[Enroll MOK]
+------------+
| View key 0 |
| Continue |
+------------+
To verify the key contents, select View key 0
, Enter.
SHA256 hash
(some hexadecimal values)
Press Enter to continue.
[Enroll MOK]
+------------+
| View key 0 |
| Continue |
+------------+
Select Continue
, Enter.
Enroll the key(s)?
+-----+
| No |
| Yes |
+-----+
Select Yes
, Enter.
Perform MOK management
+-----------------------+
| Reboot |
| Enroll key from disk |
| Enroll hash from disk |
+-----------------------+
Select Reboot
, Enter.
You are now ready to boot using HackBGRT.
Select Key
The selected key will be enrolled into the MOK database
This means any binaries signed with it will be run without prompting
Remember to make sure it is a genuine key before Enrolling it
+----------------+
| YOUR DISK NAME |
+----------------+
Select the disk, Enter.
+---------------+
| EFI/ |
| loader/ |
| vmlinuz-linux |
+---------------+
Select EFI/
, Enter.
+------------+
| ../ |
| Boot/ |
| HackBGRT/ |
| Microsoft/ |
+------------+
Select HackBGRT/
, Enter.
+-----------------+
| ../ |
| grubx64.efi |
| loader.efi |
| mmx64.efi |
| certificate.cer |
| splash.bmp |
| config.txt |
+-----------------+
Select certificate.cer
, Enter.
[Enroll MOK]
+------------+
| View key 0 |
| Continue |
+------------+
To verify the key contents, select View key 0
, Enter.
[Extended Key Usage]
OID: Code Signing
[Serial Number]
6B:24:52:E9:3B:84:41:73:B0:22:92:E8:BE:8E:38:85:
[Issuer]
CN=HackBGRT Secure Boot Signer, O=Metabolix
[Subject]
CN=HackBGRT Secure Boot Signer, O=Metabolix
[Valid Not Before]
Nov 9 13:43:56 2023 GMT
[Valid Not After]
Jan 19 03:14:07 2037 GMT
[Fingerprint]
79 8E 64 40 D1 D1 F4 53 30 8D
A0 83 A4 77 FE 57 45 30 36 60
Press Enter to continue.
[Enroll MOK]
+------------+
| View key 0 |
| Continue |
+------------+
Select Continue
, Enter.
Enroll the key(s)?
+-----+
| No |
| Yes |
+-----+
Select Yes
, Enter.
Perform MOK management
+-----------------------+
| Reboot |
| Enroll key from disk |
| Enroll hash from disk |
+-----------------------+
Select Reboot
, Enter.
You are now ready to boot using HackBGRT.
To install shim manually, follow these steps (assuming x64 architecture):
- Get shim, preferably shim-signed.
- Rename your boot loader to
grubx64.efi
. - Copy
shimx64.efi
where your loader used to be. - Copy
mmx64.efi
to the same folder.
The shim boot process is as follows:
- Your computer starts
your-loader-name.efi
, which is now really shim. - Next, shim tries to load
grubx64.efi
. - If
grubx64.efi
is trusted, the boot process continues. - Otherwise, shim offers to launch MOKManager
mmx64.efi
, and you can try again after that.