Skip to content
Ausdauersportler edited this page Oct 18, 2024 · 11 revisions

Welcome to the IMAC-EFI-BOOT-SCREEN wiki!

Motivation

The EFI boot picker is Apples way to select the boot device on power on. There is no (visible) PC BIOS which one could access to rearrange the boot order if something fails on the standard boot drive. The complex thing with iMacs compared to MacPro5,1 or modular PC systems: You have to open an iMac, disassemble glas, LCD panel, numerous cables just to disconnect or attach internal drives. Trust me, if I think about opening one of my iMacs again a get a cold shower on may back, it is a real pain. There is always the risk of breaking some parts and the iMac (27") is a heavy beast.

OpenCore and the rise of the OpenCore Legacy Patcher would make it (in theory) superfluous to have an EFI boot picker. OpenCore provides it's own version which works reliable. Unfortunately it depends on a piece of software residing within the EFI partition of one of the internal or external disks. When replacing, updating, editing the config in the worst case one can end up in a situation where booting fails.

Unfortunately there is no other way to force a boot selection of all attached internal SATA and external USB devices than using an EFI boot picker. The only noticeable exception is pressing and holding the C key after power on and during the boot phase forcing the system to boot from the internal DVD (but this needs the DVD to be in good shape). You need to create an bootable OpenCore CD in advance. Another way out would be using a FireWire cable and using the Target Disk Mode (by pressing and holding the T key during power on and boot) and mount the internal disks of your iMac from another Mac and fix the software problem. Both solutions need additional hardware - which is not in place in any case.

Contents

After waiting for a decade to solve this riddle two solutions came around, one based on Apples own firmware which I call EG2 here and another based on the OpenCore emulated boot picker which is called EnableGop (aka EG, just to confuse all readers here).

The main difference between EG2 and EG - the former does not need special settings provided normally with OpenCore and therefore can be used with natively supported macOS versions like Sierra and High Sierra while the latter uses the UEFI 2.0 GOP driver and you will have Windows 10/11 driver support. Of course you can always reload the AMDGOP driver via OpenCore to get Windows driver support with EG2 vBIOS versions.

You will find a complete recipe how to create an iMac ready video BIOS based on Apple firmware EG2 firmware modules. Additionally I loaded vBIOS versions up created by and with all contributors listed.

The hardware modifications

You need to de-install the old and replace it with a new AMD metal MXM dGPU. To understand all the minor tasks there has been a hardware section added to this wiki containing an introduction (what works with what) and a few additional pages about soldering modifications necessary for a few cards in a few iMacs. All of this knowledge has been reverse engineered and collected by @franetic. Finally there will be a page added about heat sink Dremel modifications needed for the W6150M/W6170M/M6100/M6000 and RX 5500XT cards.