Clover Bootloader Page 3: Options Menu Guide for Legacy Hackintosh

Learn how to use Clover’s page 3 options menu to troubleshoot boot failures, test kexts, and diagnose kernel panics on legacy Hackintosh builds. Includes key fields, common workflows, and risks.

Press the Options button on the Clover boot screen and you'll land on page 3 — the bootloader's temporary configuration panel. Unlike the main volume list (page 1) or the submenu for boot entries (page 2), this page doesn't show drives or kernel selectors. Instead, it gives you a set of controls that override entries in your config.plist for the current boot session only. For legacy Hackintosh builds running Clover r5127 or earlier, page 3 is where you troubleshoot boot failures, test kext configurations, and diagnose kernel panics without permanently altering your settings.

Accessing Page 3

After Clover loads its GUI, you see a list of bootable volumes (page 1). To reach page 3, select any volume with the arrow keys, then press the Options key (typically F2 or O on older versions, depending on your Clover theme). Some themes place a visible Options button at the bottom of the screen; if not, the keyboard shortcut always works. Once on page 3, you'll see several fields: Boot Arguments, Kext Injections, SMBIOS override, Boot Flags, and sometimes CPU or ACPI overrides, depending on your Clover version and installed drivers.

All changes made on page 3 are temporary — they apply only to the next boot. If you reboot or shut down, the values revert to whatever is in your config.plist. This is a safety feature, but it also means you must remember to save any successful changes to your configuration file if you want them to persist. Before making any permanent edits, create a backup of your current config.plist. The archive guide for preserving your build explains how to keep a copy of your bootloader configuration alongside your kexts and ACPI tables.

Key Fields and Their Uses

Boot Arguments

This is the most commonly used field on page 3. It accepts a space-separated list of boot flags. For legacy Hackintosh, the essential flags include:

Flag Purpose When to Use
-v Verbose mode – shows kernel and driver messages during boot Always use when troubleshooting boot failures; the last line before a panic often indicates the culprit.
-x Safe mode – boots with minimal kexts and disables injectors If you suspect a kext conflict or a faulty graphics injection.
-f Rebuild kernel cache – forces a fresh kext cache After installing new kexts or updating drivers; often resolves cache corruption.
debug=0x100 Enables detailed debug output from the kernel When the verbose log is too short; captures more information before a panic.
npci=0x2000 Disables PCI device configuration during boot On some X79 or X99 boards that hang during PCI enumeration.
dart=0 Disables the IOMMU (VT-d) Required for many Sandy Bridge and Ivy Bridge builds to avoid kernel panics related to AppleIntelCPUPowerManagement.

Type the flags exactly as shown, separated by a single space. Do not include trailing spaces. If you need to pass a value with a space (e.g., a path), enclose it in quotes — but that is rare for legacy builds.

Kext Injections

Below the boot arguments field, you'll see a list of kexts that Clover can inject. By default, Clover injects kexts from /EFI/CLOVER/kexts/Other/ and version-specific folders. On page 3, you can toggle injection on or off for individual kexts, or disable all injection. This is invaluable when you suspect a particular kext — such as FakeSMC.kext, NullCPUPowerManagement.kext, or a graphics injector — is causing a boot loop. Temporarily disable all injection, boot with -x, then re-enable one kext at a time to isolate the problem.

SMBIOS and Boot Flags

Some Clover builds expose the SMBIOS (System Management BIOS) override on page 3. You can change the product name, board ID, or serial number for the current boot. This is helpful when testing whether a different SMBIOS model resolves sleep issues or iCloud lockouts. The iMessage and iCloud guide covers the risks of changing serial numbers on the fly — never use temporary overrides to bypass activation checks, as that can lead to Apple ID blacklisting.

The Boot Flags section lets you toggle features like WithKexts (always inject kexts), WithKextsIfNoBoard (inject only if no board ID is set), or NoCaches (ignore kernel cache). For most legacy builds, leaving these at their defaults is safest. Changing NoCaches to Yes forces a full kext scan every boot, which slows down startup but can resolve cache-related panics.

Common Workflows Using Page 3

Diagnosing a Kernel Panic

  1. Boot to the Clover GUI and select your macOS volume.
  2. Press F2 to enter page 3.
  3. In the Boot Arguments field, add -v debug=0x100 (overwrite any existing flags).
  4. Press Esc or select Back to return to page 1, then boot the selected volume.
  5. When the panic occurs, note the last line of the verbose output. Common panic strings include AppleIntelCPUPowerManagement, IOBluetoothFamily, or com.apple.driver.AppleGraphicsControl.
  6. Return to page 3, add the appropriate workaround flag (e.g., dart=0 for VT-d, -xcpm for Haswell power management), and boot again.

Testing a New Kext Without Editing config.plist

  1. Place the kext in /EFI/CLOVER/kexts/Other/ (or a version-specific folder).
  2. Boot to page 3 and locate the kext in the Kext Injections list.
  3. Ensure its checkbox is enabled. If you want to test only that kext, disable all other injection flags.
  4. Boot with -v -f to force a cache rebuild so the new kext is loaded.
  5. If the system boots successfully, the kext is compatible. If it panics, you can boot again with that kext disabled on page 3 to recover.

Risks and Limitations

Because page 3 changes are temporary, they do not risk permanent damage to your bootloader configuration. However, there are two important caveats:

  • Forgotten Overrides: If you enable a flag like dart=0 on page 3 and then boot without adding that flag to your config.plist, the next reboot (without page 3) will fail. Always transfer successful flags to your configuration file after testing.
  • Kext Injection Conflicts: Disabling injection for a critical kext (e.g., FakeSMC.kext) on page 3 can prevent the system from booting at all. If that happens, reboot, press F2 again, and re-enable the kext before booting. For this reason, never rely on page 3 to disable injection for a kext you know is essential — instead, edit the config.plist properly.

Page 3 also does not expose ACPI patching (SSDTs, DSDT overrides) or kernel presets. Those must be configured in config.plist under the ACPI and Kernel and Kext Patches sections. When you need to troubleshoot ACPI issues, boot with -v and note the ACPI_SMC_PlatformPlugin or AppleACPIPlatform errors; then refer to your SSDT files. The analysis of a 2015 SSDT screenshot demonstrates how to decode ACPI errors from verbose output.

Final Practical Tip

Before closing the options menu, always check the Boot Arguments field for any lingering spaces or invalid characters. A stray space after a flag can cause a kernel panic that is difficult to trace. Verify the string by selecting the field and pressing Enter to confirm; then choose Boot Mac OS X to proceed with the modified settings. If the boot fails, reboot and clear the field entirely before trying again.