How to Archive Your Hackintosh Build So You Don’t Have to Rebuild It
Stop losing your Hackintosh configuration. Learn a simple, low-tech method to archive EFI folders, kexts, ACPI patches, and the context behind them so you can restore or rebuild in minutes.
When you spend a weekend coaxing a 2012 Z77 board into running Mavericks with a working Ethernet port, the reward is not just a boot screen — it is a fragile web of decisions. The exact BIOS setting that made the USB3 controller behave, the SSDT that silenced the ACPI errors, the kext version that did not panic on wake. Six months later, you will not remember any of it. If the drive fails or you decide to rebuild, you will be back to square one, staring at a kernel panic with no notes.
This is not a theoretical problem. I have lost count of the forum threads where someone posts a half-remembered fix and then disappears. The solution is not better memory; it is a deliberate archive. This article covers a practical, low-tech approach to storing your Hackintosh guides, configurations, and the context needed to make them useful again.
What to Archive: Beyond the EFI Folder
Most people back up the EFI folder and call it done. That is a start, but it is not enough. The EFI folder contains the bootloader configuration, kexts, and ACPI tables, but it does not contain the reasoning behind them. When you revisit a build after a year, you need to know:
- Which macOS version and build number the config was tested with (e.g., 10.9.5, 10.10.2)
- The exact motherboard BIOS version and any non-default BIOS settings
- Which kexts are essential and which are optional; versions matter
- Bootloader version and settings (e.g., Clover revision, config.plist structure)
- Any patches that were applied manually, such as ACPI hot-patches or binary edits
- Hardware details that are not obvious, like the exact audio codec or Ethernet PHY
- What did not work, and why you chose a workaround
For example, if you used a patched DSDT for a Gigabyte GA-Z77X-UD3H, you need to note that the patch was for BIOS version F20 and that after upgrading to F22, the sleep worked without it. Storing the DSDT alone is useless without that context.
Structure Your Archive Like a Project
Create a directory per build, named with the date and a short identifier. For example: 2017-06_z77-mavericks_r1. Inside, use a consistent structure:
2017-06_z77-mavericks_r1/
├── EFI/ (full backup of the EFI partition)
├── kexts/ (all kexts, with versions in filenames)
├── ACPI/ (DSDT/SSDT originals and patched versions)
├── configs/ (config.plist, bootloader settings, nvram.plist if needed)
├── notes/ (text files, screenshots, forum links)
└── README.md (the master document)
The README is the most important file. Write it as if you are explaining the build to a stranger. Include the hardware list, the macOS version, the installation method (e.g., from a USB installer with Clover), and a step-by-step of any non-standard procedures. If you followed a guide, link to it or write down the key commands. If you made a custom SSDT for power management, describe what it does and how you generated it — the process is as valuable as the file.
Versioning and Redundancy
Do not overwrite your working EFI folder with every experiment. Before you test a new kext or a different bootloader revision, copy the current working state to a folder with a version number. This is the same principle as a system restore point. If the change breaks something, you can revert instantly. After a week of stability, you can prune old versions, but keep at least the last known-good state.
Redundancy is non-negotiable. A single USB stick or an internal drive is not a backup. Use at least two different storage mediums — for instance, a USB stick and a network share or cloud drive. Remember that flash media degrades, so verify the checksums periodically. I use a simple script that calculates SHA-256 hashes of all files and stores them in a manifest. If a file changes, the hash changes, and I know which backup is current.
The README as a Living Document
Your README should be updated every time you make a significant change. For example, if you replace the Ethernet kext, add a line in the changelog section. If you discover that a certain BIOS setting is required for sleep, note it. This is not documentation for others; it is documentation for your future self. When you return to the build after a year, the README is your memory.
Here is a minimal template for a legacy Hackintosh README:
# Hackintosh Build: Z77 Mavericks
## Hardware
- Motherboard: Gigabyte GA-Z77X-UD3H (BIOS F20)
- CPU: Intel Core i5-3570K
- GPU: NVIDIA GeForce GTX 660 (2GB)
- Audio: Realtek ALC892 (layout 1)
- Ethernet: Intel 82579V (IntelMausiEthernet)
## Software
- macOS 10.9.5 (13F34)
- Clover r5120 (or whatever version)
- Kexts: FakeSMC 6.20.1415, VoodooHDA 2.9.0 (if used), etc.
## Installation Notes
- Installed from USB with Clover; used -no_compat_check flag
- BIOS settings: XMP on, VT-d off, EHCI hand-off off
- Patched DSDT for sleep (see ACPI/)
## Known Issues
- Wake from display sleep sometimes shows artifacts; restart fixes
- iMessage does not work (see notes/)
## Changelog
- 2017-06-10: Initial build
- 2017-06-12: Replaced NullCPUPowerManagement with custom SSDT
This template is deliberately simple. The act of writing it forces you to think about what matters.
Storing Guides and External References
Hackintosh guides disappear. Forums go offline, blog posts get deleted, and the exact tutorial you used might be gone by the time you need it again. If you relied on a specific guide, save a copy of the relevant pages. You can use a browser's "Save as PDF" feature or a tool like SingleFile. Store these PDFs in a references/ subfolder. Even if you never open them, they are insurance.
For example, if you used a guide for creating a custom SSDT for LPC, save that page. The technique might be applicable to a future build. The same goes for forum threads that contain the exact patch for your audio codec. You do not need to archive the entire internet, but a hand-picked collection of a few dozen PDFs can save you hours of searching later.
Handling ACPI and Kexts: Preserve the Source
When you extract your DSDT or SSDT from the motherboard, save the original unmodified files separately from the patched ones. The originals are the base for future patches if you change hardware or move to a different macOS version. Similarly, for kexts, store both the compiled .kext bundle and the source code if you built it yourself. A kext without its source is a black box; if a new macOS version breaks it, you will need the source to patch it.
In my experience, the most common mistake is storing only the final working kext and discarding the original. When you later need to rebuild the kext for a different OS version, you have nothing to work from. Keep the original in a sources/ folder.
Archiving the Boot Environment: Beyond the EFI Folder
The EFI folder is the core, but the boot environment includes more than that. If you used a patched bootloader or a custom boot flag, document it. Also, save the current NVRAM dump if you have issues with boot arguments. Some Hackintosh users forget that the bootloader settings are not only in config.plist but also in NVRAM variables. A quick nvram -p command will give you a snapshot. Store that in the configs folder.
For a deeper look at the EFI structure and how to inspect it safely, see the article on What’s Inside an X99 DMG 2 Hackintosh Installer and How to Inspect It Safely. The principles apply to any installer: never run an unknown script without reading it first.
Cloud Storage and Synchronization Risks
Cloud storage is convenient, but be aware of synchronization issues. If you have a Dropbox or Google Drive folder on your Hackintosh, and you modify a file on another device, the sync might overwrite the version you wanted to keep. To avoid this, use a separate folder that is not synced, or use a versioning service like Git. Git is overkill for most people, but a simple local Git repository can give you a history of changes without needing a server. Initialize a repo in the build folder and commit after each successful change. This is the most reliable way to track modifications over time.
Why Bother? The Cost of Not Archiving
Let me illustrate with a real example. A reader once asked for help with a Sandy Bridge build that had worked for years but suddenly started kernel panics after a power outage. He had no backups, no notes, and no idea what kexts were installed. The only solution was to start from scratch, which took him a weekend. If he had a simple README and a backup of the EFI folder, the fix would have been a matter of restoring the working state. The time you spend archiving is a fraction of the time you will spend redoing the work.
Image Placeholder for the Article
Consider adding a visual placeholder to break up the text, such as a photo of a messy desk with external drives and cables, representing the chaos of unorganized backups.
Practical Steps to Start Today
You do not need to reorganize your entire life. Start with one build. Create a folder, copy the EFI folder, write a short README, and save a few PDFs of the guides you used. That is it. When you make a change, update the README. After a week, you will have a usable archive. After a year, you will have a collection of well-documented builds that are easy to maintain and rebuild.
If you are working with an older system, like a pre-Haswell build, the same principles apply. For example, if you are running High Sierra on a legacy Hackintosh, the archiving process is identical. The key is to start now, before the next failure.
Conclusion: The Archive is the Build
Every Hackintosh is a collection of choices — which kext version, which BIOS setting, which patch. An archive preserves those choices so you don't have to make them again. Without it, a single power surge can erase weeks of trial and error. With a folder and a README, you can keep a legacy system running for years, and when you finally upgrade, you'll have a library of working configurations to draw from.
Right now, open a terminal and run cp -r /Volumes/EFI ~/hackintosh-archive/ (adjust the path to your EFI partition). Then write a one-paragraph description: "Used Clover r5120, FakeSMC 6.20, patched DSDT for sleep. Ethernet works with IntelMausiEthernet." That single paragraph will save you hours of re-research the next time something breaks.
