Legacy macOS Installer DMGs: A Hackintosh Builder’s Guide
Learn how to handle legacy macOS installer DMGs for Hackintosh builds: types, mounting, verification, and common pitfalls for versions 10.4 through 10.13.
Downloading a legacy macOS installer from Apple's developer portal or the App Store gives you a .dmg file. For Hackintosh builders, that DMG is the starting point for creating a bootable USB installer, extracting BaseSystem.dmg, or patching the installer for non-Apple hardware. Get the DMG handling right, and you're on track for a reliable build—mess it up, and you're looking at a weekend of failed boots.
A standard macOS installer DMG (e.g., InstallMacOSX.dmg for Snow Leopard or InstallESD.dmg for later versions) contains a bootable volume or a package bundle. The internal structure changed dramatically between 10.6 and 10.13. In Snow Leopard, the DMG held a flat directory with the installer bundle. Starting with Lion (10.7), Apple introduced the InstallESD.dmg inside the main App bundle—a read-only disk image that holds the actual BaseSystem.dmg and the Packages folder. Understanding this hierarchy is essential because you must mount the nested DMG to access the installer payload.
Why the DMG Format Matters for Legacy Hackintosh Builds
Legacy versions of macOS (10.6 through 10.13) rely on the HFS+ file system for the installer volume. The DMG stores the filesystem image with a checksum (block-level or a full SHA-1 hash). If you download a DMG from an unofficial source, the integrity of the image is the first thing you should verify. A corrupted DMG can cause kernel panics during the first stage of installation or silently fail to copy the boot.efi. More importantly, a tampered DMG could inject malicious kexts into the system before you even see the first boot screen.
For the same reason, never mount a DMG directly on a system that you rely on for daily work without first verifying its hash. The macOS installer volume is writable only after a restore—but the DMG itself is read-only. This property makes it safe to inspect the contents as long as you do not modify the image. Use hdiutil verify or shasum to check the file before mounting.
Common DMG Types in Legacy macOS Installers
InstallESD.dmg (10.7–10.13)
This is the primary disk image used by the Install macOS app. It contains a single partition with the BaseSystem.dmg and a hidden Packages folder. The BaseSystem.dmg is a compressed read-only image that expands to the recovery partition or the installer volume. To create a bootable USB, you must restore the BaseSystem.dmg onto a partition, then copy the Packages folder manually—otherwise the installer will lack the kernel and kexts for the target macOS version.
BaseSystem.dmg
This is the minimal bootable system that launches the installer GUI. It is also a DMG file nested inside InstallESD.dmg. The BaseSystem.dmg is typically 1–2 GB and contains the System/Library/CoreServices folder with the Boot.efi and kernelcache. For Hackintosh, you may need to replace the Boot.efi with a patched version (e.g., for older CPUs) or add kexts to the System/Library/Extensions inside BaseSystem.dmg. This is a common step for legacy builds running on unsupported hardware.
InstallMacOSX.dmg (10.4–10.6)
For Snow Leopard and earlier, the installer DMG contains the full installer package bundle. Mounting it gives you a Mac OS X Install DVD volume with the System/Installation/Packages folder. These packages are MPKG files that can be expanded manually if you need to extract specific kexts or frameworks.

Mounting and Extracting the Contents
The standard tool for working with DMG files on macOS is hdiutil. On a Hackintosh, you can also use it from the command line during the build process. The most common sequence for a legacy installer is:
- Mount the outermost DMG:
hdiutil attach InstallESD.dmg - Locate BaseSystem.dmg: It is usually at
/Volumes/OS X Install ESD/BaseSystem.dmg - Mount BaseSystem.dmg:
hdiutil attach /Volumes/OS X Install ESD/BaseSystem.dmg - Copy the Packages folder from the first mount to the target USB volume (not the BaseSystem volume).
This two-step mount is required because the Packages folder is stored outside the BaseSystem.dmg to keep the bootable image small. If you skip copying the Packages folder, the installer will fail with “Can’t download the necessary components.”
For Snow Leopard, the procedure is simpler: mount the DMG and use Disk Utility to restore it to a USB drive or SSD. However, the restore process writes the entire HFS+ image—including the bootable partition map—so the target device must be a GUID partition table (GPT) drive for the installer to boot on a Hackintosh with UEFI firmware.
Verification Before Use
Before you mount any DMG that you did not download directly from Apple’s servers, check its integrity. The official checksums for legacy macOS installers are archived in forums and developer release notes. A simple SHA-1 verification command:
shasum -a 1 InstallESD.dmg
Compare the output against the known good value. For a more thorough check, use hdiutil verify InstallESD.dmg, which validates the internal block checksums stored in the DMG header. This is particularly important for images that have been recompressed or repackaged by third parties. A failure in the verification step means the image is corrupt or has been altered—do not use it.
For a detailed walkthrough of verifying legacy Hackintosh images, including how to interpret the checksum listings and what to do when the hash does not match, see the dedicated guide: Downloading AMD DMG 2: What It Is and How to Verify Legacy Hackintosh Images. That article covers the specific pitfalls of images repackaged for AMD processors, but the verification principles apply to all DMG files.
Common Pitfalls and Risks
- APFS vs. HFS+: Legacy macOS installers (pre-10.13) expect HFS+ volumes. If you restore a High Sierra BaseSystem.dmg onto an APFS volume, the installer will not boot. Always format the target USB as Mac OS Extended (Journaled).
- Corrupted download: A partial download of a large DMG (3–6 GB) can lead to a silent failure. Verify the hash before mounting.
- Nested DMG permissions: When you manually copy Packages from the outer mount, ensure you do not modify the ownership. The installer expects the packages to be owned by root and wheel. Use
dittoorcp -pto preserve permissions. - Boot.efi replacement: On legacy Hackintosh builds with non-Apple CPUs, you may need a patched boot.efi inside BaseSystem.dmg. This is a separate step that must be done on a copy of the DMG, never on the original file.
Tooling Summary
| Tool | Purpose | Example Usage |
|---|---|---|
hdiutil attach |
Mount a DMG as a volume | hdiutil attach InstallESD.dmg |
hdiutil verify |
Check internal checksums | hdiutil verify InstallESD.dmg |
shasum |
Compute SHA-1/256 hash | shasum -a 256 InstallESD.dmg |
ditto |
Copy files preserving metadata | ditto /Volumes/ESD/Packages /Volumes/USB/Packages |
diskutil |
Erase and format USB for restore | diskutil eraseDisk JHFS+ "Installer" /dev/disk2 |
For legacy macOS versions, keep a copy of the hdiutil man page handy—it changes slightly between macOS versions, and the options for shadow files or image encryption are rarely needed but can rescue a stuck build.
Before you move on to the actual installation, compare the SHA-1 hash of your DMG against the value published by Apple or a trusted developer archive. This single step eliminates the most common cause of inexplicable kernel panics during the first boot of a fresh Hackintosh installer.
