- MOK (Machine Owner Key) allows the machine owner to sign and authorize binaries and modules to work with Secure Boot active.
- MOK Manager manages key registration using a one-time password, without affecting the booting of Windows 11 on dual boot systems.
- The mokutil tool allows you to check the Secure Boot status, import MOK keys, and adjust advanced policies such as SBAT.
- Using MOK offers a balance between security and flexibility, facilitating custom kernels and drivers without disabling Secure Boot.
If you've ever installed a GNU/Linux distribution alongside Windows 11 with Secure Boot enabled , you've probably encountered a mysterious blue screen called MOK Manager asking for a password. For many users, especially those coming from older motherboards without UEFI or TPM, this screen might seem like a fatal error message… but it's not.
When you're setting up a dual boot system (for example, Windows 11 on one SSD and Linux Mint, Debian, or Fedora on another drive) and the MOK Manager appears, it doesn't mean you've broken anything. That screen is part of the Secure Boot security mechanism and is there precisely to allow your new Linux system to boot without disabling that feature. Understanding what MOK is, why it asks for a password, and what happens to Windows when you accept those changes will save you from more than one unpleasant surprise.
What is MOK (Machine Owner Key) and why does it exist?
The acronym MOK stands for Machine Owner Key . This key is a component of the secure boot chain in UEFI systems, designed to ensure that only cryptographically signed and approved code is executed during boot.
With the arrival of UEFI firmware and the now-famous Secure Boot , manufacturers (and especially Microsoft) promoted a model in which the firmware only trusts binaries signed by specific authorities. In practice, this means that the firmware will verify the signature of components such as shim, GRUB, the kernel, and certain modules before allowing them to boot.
The problem is clear: if only "official" signatures are accepted (for example, from Microsoft or the hardware manufacturer), any binary you prepare yourself, any custom kernel, or certain third-party modules (such as VirtualBox or NVIDIA drivers in some cases) would not be considered trustworthy. That's where MOK comes in.
The idea is that the machine owner can have their own key to sign components without relying on third parties. This Machine Owner Key can be registered in the Secure Boot key database , so that anything signed with it is considered equally legitimate and can be executed during boot without violating security policies.
In short, MOK acts as an additional layer that allows you to integrate your own binaries and modules into the secure boot system without having to disable Secure Boot or comply with signatures imposed by others, something especially useful in Linux environments where it is common to compile and load modules outside of the standard repositories.
Relationship between MOK, Secure Boot, UEFI and SHIM
To better understand where MOK fits into the puzzle, it's helpful to review how the UEFI boot process with Secure Boot is structured . In a modern system, the UEFI firmware first checks its key and revocation databases before launching any EFI binary.
In the Linux world, there's almost always an intermediary component called a shim . A shim is a small bootloader signed by a recognized authority (usually Microsoft) that acts as an intermediary between the firmware and the actual boot manager: typically GRUB . The firmware trusts the shim because it's "officially" signed, and the shim, in turn, decides which subsequent binaries it considers valid for the boot process.
It is precisely shim that integrates the use of the Machine Owner Key. Through MOK, shim can trust binaries that you yourself have signed , provided that the corresponding public key has been previously registered through the MOK Manager. In this way, the flow would be something like this: UEFI checks shim's signature, shim validates GRUB and the kernel (and its modules) using both the keys included by the distribution and the MOKs that you have registered.
Before this method existed, many distributions needed to rely almost entirely on Microsoft's signing infrastructure, which created considerable friction. Now, with MOK, it's not mandatory for everything to go through that centralized signing system: the machine owner has a way to assume some control over the chain of trust.
In practice, this means that when you install some kernel drivers, virtualization tools like VirtualBox ( vboxdrv module ), or other components that load very early in the boot process, the system may ask you to generate a key pair, sign the modules, and register them in MOK Manager so that Secure Boot does not block their execution.

What exactly is MOK Manager and why does it ask for a password?
When you see that familiar blue "BIOS" screen that mentions MOK Manager , you're actually running a small EFI program (usually the mmx64.efi file ) responsible for managing Machine Owner Keys. This program launches immediately after you request a change to your boot key settings.
The process typically begins on your Linux system, for example, with a command like `mokutil --import` to register a new public key. This command will prompt you to set a temporary, one-time password, which is necessary so that later, during a reboot, MOK Manager can verify that you are authorizing the operation and not an attacker.
On the next boot, before loading the system, the UEFI firmware launches shim. Upon detecting a new key pending registration, this launches MOK Manager. The management menu then appears, offering the following options: register the new key, delete keys, view registered keys, or continue without changes.
One of the most common mistakes is thinking that the password MOK Manager asks for is your Linux user password, your root password, or even your Windows password. It's not. It's the one-time password you entered when you ran mokutil . If you make a mistake or if your keyboard layout doesn't match the expected one (for example, a QWERTY/AZERTY issue), you might think the password isn't being entered correctly when in reality you're just pressing different keys than you think.
After you correctly enter the password, MOK Manager registers the new key in the corresponding database. From that moment on, all binaries and modules signed with that key will be considered trusted by shim and can be run with Secure Boot enabled. This includes custom kernels, third-party modules, or any other component you have chosen to sign.
It's important to emphasize that accepting a MOK registration doesn't break Windows 11's boot process or invalidate its signature. Windows will continue to boot as usual because you're simply adding an additional trusted key, not removing or replacing the ones already present in the system.
MOK in real-world scenarios: dual boot with Windows 11 and new motherboards
One of the most common situations where doubts arise about MOK Manager is when a user with a modern motherboard that includes UEFI, TPM, and Secure Boot enabled by default decides to install a distro like Linux Mint alongside Windows 11. If you're coming from an older motherboard without these features, it's normal for all of this to sound like "black magic."
Imagine this scenario: you keep your Windows 11 installation as is on its SSD, you enable Secure Boot (because Windows requires it for certain functions), and at the same time, you install Linux Mint on another drive. During the Mint installation, or when installing certain drivers afterward, the system might ask you for a MOK password . This raises several questions: Will I break Windows if I accept? What happens if I do nothing? Should I disable Secure Boot?
The reality is that, as long as you follow the usual procedure, there's no risk to your Windows 11 partition . Secure Boot will remain operational, and Windows will continue to boot without issue. All you're doing with MOK is telling the firmware to also trust certain Linux components that weren't factory-signed, so it can boot into Secure Boot without the firmware blocking them.
Many modern distribution installers already automate part of this process. They can generate the key, run the necessary commands (for example, high-level tools that internally call ` mokutil --import` ), and schedule the MOK Manager to appear on the next boot so you only have to accept the registration.
If you are manually configuring more advanced drivers (for example, NVIDIA driver backports and more modern kernel versions in distros like Debian Buster to work well on recent gaming laptops), you will probably have to take some extra steps: create the key pair yourself (usually MOK.pem, MOK.der and MOK.priv ), sign the modules and then use mokutil to import the public key.
These files don't need to be in any special system location for MOK Manager to work. The important thing is that the public key you imported is accessible at the time of registration and that you store the private key (MOK.priv) in a secure location , as you'll need it every time you want to sign new binaries or modules with that same owner identity.
Using mokutil, key registration, and common problems
The primary tool for managing MOK keys from Linux is mokutil . This utility allows you to check the Secure Boot status, view already registered keys, import new keys, check which ones are pending, and modify certain advanced policies related to Secure Boot.
For example, to find out if Secure Boot is active on your machine, you can use the command `mokutil --sb-state` . This command will tell you if the system is booting with Secure Boot enabled, disabled, or in some intermediate state controlled by UEFI.
Once you have generated your key pair (often MOK.pem and MOK.der, along with the private key MOK.priv), the typical step to prepare for enrollment is to run something like: mokutil –import MOK.der . When you do this, mokutil will ask for a one-time password, which you should remember because MOK Manager will ask for it upon restart to confirm the operation.
After importing, you can verify that the key has been marked for registration with `mokutil --list-new` . You should then see the newly imported key in the list of pending items. If everything is correct, after the next reboot, MOK Manager should prompt you to register the new key and enter the temporary password.
If after restarting nothing appears and the system boots directly to GRUB or the prompt for your LUKS password, something has been left unfinished. In these cases, it's advisable to check the kernel messages, for example with `dmesg | grep cert` , to see if there are any references to newly added certificates or keys. It's also a good idea to confirm that the mmx64.efi file (the MOK Manager binary) is present in the ` /boot/efi` directory or a similar path used by your distribution.
Another very common problem relates to the keyboard layout . The MOK Manager interface (like the LUKS password prompt in many atomic distributions) doesn't usually respect the keyboard layout configured on your system. It most commonly uses a US QWERTY layout by default, which can be confusing for users with AZERTY keyboards or different regional layouts.
In practice, this means that if your password includes symbols or letters whose position changes on your keyboard, you're likely entering a different sequence than you think. This discrepancy makes it seem like the password "doesn't work," when in reality, it's just interpreting different keys. Therefore, when setting a one-time password in Mokutil, it's advisable to use characters that don't change position between your keyboard and the standard US layout, or to mentally remember which keys you're actually pressing on that layout.
Verification, SBAT and advanced Secure Boot management
In addition to managing MOK key registration, mokutil also allows you to view and adjust some advanced parameters related to the SBAT (Secure Boot Advanced Targeting) mechanism . SBAT is used, among other things, to revoke older versions of critical boot components such as shim or GRUB2 using generation numbers.
The most recent versions of mokutil (from approximately 0.6.0 onwards) include options to review and update the SBAT revocation status. With the command `mokutil --list-sbat-revocations` you can see the current SBAT level your system is running at, that is, what minimum generation of those binaries is still considered valid.
On many systems with Secure Boot enabled, the default SBAT policy is set to ` previous` . This means that previous revocations are applied, but it may still allow relatively recent versions of shim and GRUB2 to boot. Changing the policy with `mokutil --set-sbat-policy latest` will apply the latest revocation layer and prevent older versions of these components from booting.
Conversely, there is the option to revert to the previous policy if needed. Both policies (latest and previous) can only set a revocation level that is no earlier than the one applied by the last installed shim package; that is, you cannot revert to a less secure situation than the one determined by the recent updates.
For extreme diagnostic tasks or if something has broken after a complex update, you might need to reset the SBAT policy to its default revocation level. In such cases, the general recommendation is to disable Secure Boot in the firmware first and only then use a command like `mokutil --set-sbat-policy delete`, which clears that additional revocation policy so the system returns to the starting point set by the current firmware and shim.
It's important to keep in mind that messing with SBAT and binary revocation isn't something you should take lightly: if you revoke versions you're still using, you could end up with a system that won't even boot into safe mode until you reinstall critical components or reconfigure the UEFI firmware.
Is it really necessary to use MOK and Secure Boot on your computer?
Although from a theoretical standpoint this whole mechanism of MOK, Secure Boot, shim, and SBAT provides an interesting layer of security, not all environments have the same needs. In a typical home environment , where the computer rarely leaves the house and no one else has physical access, the risk of an attacker manipulating the boot process without your knowledge is relatively low.
Secure Boot is primarily designed for scenarios where there are concerns that someone with physical access could inject malware into the boot chain or replace components with malicious versions. These cases are more common in businesses, educational institutions, laboratories, or shared environments , where there are many users and it is more difficult to control who accesses what.
At home, if someone has forced their way in and is sitting down in front of your computer, the biggest problem is probably no longer whether or not they've installed a bootkit on your UEFI. Even so, many people prefer to keep Secure Boot enabled because it's a Windows 11 requirement and because it gives them added peace of mind knowing that the firmware won't run just anything without checking it.
That's where MOK becomes a good compromise tool: it allows you to continue enjoying Secure Boot and meet the requirements of Windows 11, but without giving up a fully functional Linux, with proprietary drivers, custom modules or specific kernels that, under normal conditions, Secure Boot would block for not being signed by the "official" entities.
If you don't want to complicate things, there's always the radical option of disabling Secure Boot in the UEFI settings and forgetting about MOK altogether, but you'd lose that boot security layer and, in some cases, you might encounter warnings or limitations from Windows. That's why, on many modern computers, the most practical approach is to learn to live with Secure Boot and use MOK as a tool to seamlessly integrate your Linux systems.
Ultimately, understanding what MOK Manager is, what mokutil is for, and how these elements work with UEFI, shim, and SBAT will allow you to manage a dual-boot or multiboot environment with much greater confidence . MOK blue screens will no longer seem like strange errors but will simply be confirmation that you have control over the keys that govern your machine and what software can run during the first few seconds of your system's life.
Passionate writer about the world of bytes and technology in general. I love sharing my knowledge through writing, and that's what I'll do on this blog, show you all the most interesting things about gadgets, software, hardware, tech trends, and more. My goal is to help you navigate the digital world in a simple and entertaining way.