Solving OsxAptioFixDrv: AllocateRelocBlock(): can not allocate relocation block

Also read updated post:

https://nickwoodhams.com/x99-hackintosh-osxaptiofixdrv-allocaterelocblock-error-update/

I tried long and hard to find a solution to solve the OsxAptioFixDrv error for my new X99 Hackintosh and came up empty handed.

It turned out that the error was related to the number of PCIe devices installed in the system. When I had two PCIe slots occupied, the system would boot fine. When I added a third PCIe device, the system would fail over and over again. Here is the error I was getting:

OsxAptioFixDrv: AllocateRelocBlock(): can not allocate relocation block (0x16687 pages below 0x100000000)

The Problem

According one of the contributors to Clover, the error is stemming a firmware bug distributed to X99 motherboard manufacturers. Essentially there is a memory allocation issue with the PCIe cards. Multiple manufacturers are affected.

The Workaround

After trying just about every solution under the sun I did find one that worked for my Gigabyte X99-UD5 system.

So I started experimenting. Finally I arrived at the solution.

What I needed to do was recompile Clover from source with an edited OsxLowMemFixDrv-64.efi memory allocation file. I then included that file along with the regular OsxAptioFixDrv-64.efi file in the /EFI/ClOVER/drivers64UEFI folder.

Changes to OsxLowMemFixDrv-64.efi were simply editing 0x10000000 to 0x20000000.

The way it works is that it loads the edited OsxLowMemFixDrv-64.efi file first and wipes out the entire memory allocation table up to 0x20000000. I renamed the recompiled version to Test2.efi to avoid the confusion.

Then it loads the regular OsxAptioFixDrv-64.efi file and proceeds booting as normal because the memory addresses the system is trying to use have been freed up.

UEFI Drivers

Here are the drivers you should load into your /EFI/ClOVER/drivers64UEFI boot drive.

  • Test2.efi (My custom recompiled version.)
    Test2.efi Backup Link
  • OsxAptioFixDrv-64.efi
  • EmuVariableUefi-64.efi
  • HFSPlus.efi
  • OsxFatBinaryDrv-64.efi
  • FSInject-64.efi

Caveats

Even after the custom file was added to the drivers64UEFI folder, you may still get the error. I certainly did, which made me think the solution did not work. It's nonsensical and crazy what I had to do next.

  • Download your latest motherboard firmware to a USB drive.
  • Boot into BIOS.
  • Back up any custom motherboard settings. On the X99-UD5 you can just save a profile to the external USB drive.
  • Flash your motherboard with the newest firmware. It takes a few minutes. When completed, choose reboot.

Feel free to email me with any questions regarding this, I can remember what a hair pulling and arduous task it was to figure this out. :)

More Help

To solve the error I created a support ticket on Clover at Sourceforge. My experience and more information is included in this thread. If you're still having trouble, be sure to post here.

Was this helpful to you?

I would love to know. Please drop me a line on Twitter or Contact Me.


If you found this resource helpful; the greatest compliment you could give is a small donation. Your patronage really motivates me to invest more of my time into the community.