How to Resolve Bootloader Config Reset and Single-Boot Cycles
A frustrating issue in Hackintosh configurations is when the system boots successfully into macOS once, but on subsequent reboots, it fails with a "couldn't find config.plist" or "OC: Failed to load configuration" error. This behaviour occurs because the motherboard is unable to write boot variables permanently to the NVRAM, or the BIOS resets the bootloader path.
1. Prerequisites
- Target Hardware: Hackintosh PCs using OpenCore.
- Required Tools: ProperTree, MountEFI.
2. Compatibility Snapshot
- NVRAM Types: Some motherboards (especially older ASUS or Gigabyte boards) lack native NVRAM support, requiring emulated NVRAM configuration.
3. Installation Preparation
- Verify Folder Layout: Mount your EFI partition and verify that your folder layout matches
EFI -> OC -> config.plist.
4. EFI and config.plist Review
- Emulated NVRAM: If your board has write issues, go to config.plist -> Booter -> Quirks and ensure
DiscardHibernateMapis enabled, and in NVRAM -> LegacyEnable, set it to True. - Disable Fast Boot: Ensure Fast Boot is disabled in BIOS, as it blocks OpenCore from writing variables during reboot.
5. Post-Installation
- Register Boot Option: In config.plist -> Misc -> Boot -> LauncherOption, set the value to
Full. This forces OpenCore to recreate the boot entry in the UEFI firmware on every boot.
6. Troubleshooting
Reported Issue: System only boots once
- Corrupted NVRAM: If the BIOS fails to boot after the first run, perform a hard CMOS reset (short the JBAT1 pins or remove the CR2032 battery for 5 minutes) and reconfigure BIOS settings.
- BIOS Write protection: Ensure "BIOS Write Protect" or "Secure Boot" is disabled in your BIOS.
7. Dual Boot and Advanced Configuration
- Windows overwrite: Windows Update frequently sets Windows Boot Manager as the default option. In UEFI BIOS, re-order the boot options to put OpenCore first.
8. Verification, Maintenance and Rollback
- Test reboot: Reboot the machine 3 times in a row without making modifications to ensure OpenCore boots consistently.
9. References and Glossary
- NVRAM: Non-Volatile Random Access Memory, where UEFI boot variables are saved.
Post a Comment