Currently the activation of this Utility needs a bit of effort. But if you put some effort into reading and understanding all the information, a lot of people can manage to get it working.
Are you experiencing system hangs or kernel panics on your Apple Mac or MacBook due to faulty memory? This EFI utility allows you to disable defective memory regions before macOS boots, preventing system crashes or unbootable Systems.
If you're receiving errors like:
- PPM002, PPM003, PPM004...: "There may be an issue with the onboard memory."
This utility offers a software solution by marking specific memory areas as defective, so macOS avoids them during runtime.
- Inform yourself: Read through this README, the Release-Notes and the Discussions-Page
- Identify Faulty Memory: Use diagnostic tools like Memtest86+ in Error-Summary-Mode to get the lowest and highest address of misbehaiving RAM.
- Run this EFI-Utility: Use tools like rEFInd to run this EFI-utility once before booting into macOS. This will mark the faulty RAM Area as unavailable for MacOS and therefore allowing a normal Operation of MacOs with only having a little bit less RAM.
- Boot MacOS
- Automate Booting into MacOs with disabled RAM-Areas: See this Guide.
- In case you have Questions not answered already - please open a new Discussion.
This utility is not affiliated with, authorized, endorsed by, or in any way officially connected to Apple Inc. The use of this software may affect the operation of your system and is provided as-is, without any express or implied warranties. It is intended for personal use only and serves as a workaround for users experiencing issues with defective memory on Apple Mac or MacBook devices. By using this utility, you acknowledge that Apple Inc. bears no responsibility for any consequences arising from its use. Do not attribute any success or lack of success with this tool to the Apple brand.
The author of this repository assumes no responsibility for any time invested in installing this tool or for any outcomes, whether expected or unexpected. This is a personal, hobbyist project with no formal support or obligations. Use at your own risk.
This utility has been successfully in use for several years on an MacBook Pro (Late 2013) running macOS Big Sur. Since uploading this EFI-Utility on Github it seems other people got it working too. For example on Macbook Pro 2019 16'. Please read the other Success-Stories on the Issues-Page or consider writing one yourself (please fill in your System Information) in case you found this Utility helpful. This tool doesn't work on Apple silicon Macs.
A possibly more user-friendly tool to use to disable RAM-Areas before booting into MacOS would be using the "Open Core Legacy Patcher". You configure your defective RAM-Areas in the config-file of OC and there is no need to use the utility provided here.
I see this as a great way to extend hardware lifespan, protect customer and shareholder value, and fight inflation by lowering demand for new devices, thus preserving the purchasing power of the dollar through more efficient resource use. Also such tools help keeping your soil and rivers less polluted from E-Waste and manufacturing waste material, which is good for your health and your health insurance.
Many modern Apple devices, including Macs and MacBooks, come with memory chips soldered directly onto the motherboard. Replacing or reflowing these chips requires advanced tools and expertise, making hardware repair difficult and expensive.
This utility provides a software-based workaround by disabling defective memory blocks before macOS boots. It’s similar to the GNU GRUB badram
command, but tailored for Apple hardware and macOS environments.
- No Costly Hardware Repair: Solve memory-related issues without the need for expensive hardware repairs or professional services.
- Extend the Life of Your Mac/MacBook: Keep your Apple device running smoothly, even with defective memory regions.
- Reduces E-Waste: This tool extents the life of your Apple Computer and therefore reduces E-Waste.
ToDos (Contributions welcome!):
- Testing with newer devices and newer macOs Versions
- Provide better documentation (how to compile, "apt-get install gnu-efi")
Documentation of this function: gBS -> AllocatePages(2, 8, 40960, & Addr);
efi-v1-10-specification.pdf Page: 119