How to get a Apple OEM SSD to boot in a normal PC


I got a couple of broken Mac’s (one water damage: A1466, the other broken screen: A1502, and booth have dead batteries), but the ssd’s were fine so I thought it would be cool to reuse them to boot some of my PC’s.
Problem: the ssd’s are connected via PCIe so I got a couple of adapters, and in windows they are recognized and work.
as expected however the BIOS does not know what to do with them :confused:

So I tried the clover boot loader as described here: [Guide] NVMe-boot without modding your UEFI/BIOS (Clover-EFI bootloader method) (21) unfortunately on my test system it hangs with … scan entries … :confused:
Then I tried this guid: [Guide+Video] How to install windows on NVME SSD 960 EVO without clover on a board without NVMe support.
And it also did not work. after loading the NVM.efi no new devices appear when running map -r

I rebooted to windows and took a look into the device manager again, and noticed that in contrary to my laptop, where the the NVMe drive appears connected to a NVMe controller, on the test system the Apple OEM SSD is attached to a standard AHCI controller.
So it seams the Apple SSD’s are not proper NVMe drives.

EDIT: the drives are Generation 3 SSUBX drives (…cs-and-upgrades)

btw: when running windows setup it detects the drive just fine just that the system cant boot from it :confused:

So now the question can I somehow still use them as a boot drive? is there a standard AHCI driver for UEFI to boot from not bios/uefi supported controllers?

@DavidXanatos - If you want to boot from them do a clean install, depending on your motherboard BIOS you may need to do a NVME mod. There is only NVME or not, no in between, and from your link those appear to be NVME.
What is your motherboard model, link to the BIOS and I will check it and see if you have to do the NVME mod or not.

The board is a “Intel S2600CP” in fact i have 3 of this boards one on my NAS one in my VM Server and one in a testing setup.

I would like to use the old apple drives to boot at least one of the machines from them.

I also have a very no name board Running x79z-vb10,
as well as a couple of Gigabyte GA-6PXSV4 boards in fact one of the two has a minor defect so i could try something risky on it.

The page about apple drives (…cs-and-upgrades) says this about Gen 3 drives:

But i did a mistake never the less as it says:

My drives have SSUBX printed on them, so these are gen 4 drives not gen 3 as I mistakenly wrote earlier.

Yet the windows still detects them as "AHCI standard controller", I would very much prefer a solution with a boot loader instead of having to mod tie bios.

@DavidXanatos - Boot loader method is here, and yes I read that too on the page you linked before. If you’re sure they are NVME, and BIOS is not NVME Compatible, then you can’t boot from them without boot loader or BIOS Mod.
I didn’t think NVME even show up in system without BIOS mod or BIOS already NVME compatible, but maybe that is possible and mods are only necessary if you want to boot from the drive @Fernando ?
[Guide] NVMe-boot without modding your UEFI/BIOS (Clover-EFI bootloader method)

Yes, it is no problem for modern Windows Operating Systems to detect the NVMe Controller even if no NVMe module is present within the BIOS. The EFI NVMe BIOS module is only required, if the user wants to boot off the NVMe SSD.

Thanks Fernando, I wasn’t sure if it was mod for Boot only, or Mod to see period, thanks for clearing up for me!

Hi @DavidXanatos

did you manage to boot from those SSUBX SSDs? I have the exact same situation as you and I came so far as to see the SSD in the BIOS of my ASUS B85M-E, but when I try to install Windows 10 it refuses to, because "This computer’s hardware may not support booting to this disk. Ensure that the disk’s controller is enabled in the computer’s BIOS."

Ubuntu 16.04 installed, but it wouldn’t boot, it was hanging at the blinking cursor.
Ubuntu 18 installed and booted but after some errors and like 5 Minutes… which kind of defeats the purpose of an SSD.

ASUS B85M-E - will need NVME BIOS mod before you can boot from NVME, and pay attention to step #4 in the “This is what you should dot” section for clean OS Install. If you already did the NVME mod, then see #4 as mentioned
[Guide] How to get full NVMe support for all Systems with an AMI UEFI BIOS

Hi Lost_N_BIOS, thanks for the reply. I managed to install Windows 10 on the SSUBX, it was exactly #4 from the guide that made it work, i.e. prefer EFI over legacy, or disable legacy completely. Nevertheless, after I install Windows 10 the SSUBX shows up as a "Standard SATA AHCI controller". The exact same thing happens with Ubuntu 16.04 LTS and 18.04 LTS. Could the cause be that there are no NVMe drivers for the Apple SSD?

i believe i have a answer for the questions asked by the above poster

the apple gen 3 ssd’s were AHCI/pcie, used the SSUAX controller and only used 2 pcie lanes

the apple gen 4 ssd’s were AHI/pcie, used the SSUBX controller and used 2 or 4 pcie lanes

from what i know/understand the samsung SSUBX controllers were configured to be either AHCI “or” nvme at the time the ssd’s were made at the factory (while the controller supported AHCI/NVME, only one could be made active)

this is why the apple SSUBX gen 4 ssd shows up in windows as a AHCI controller, it’s due to the SSUBX being configured as such)

so why won’t the apple gen 4 ssd boot in legacy mode on a PC?
again i suspect that the apple LEGACY boot code is incompatible with the PC boot code
however, the NVME boot code is a much newer protocol and was designed to be platform agnostic (IE, generic) from it’s inception
as such the boot code will run on many different platforms PC’s by default will try legacy devices first and then UEFI if “CSM” compatibility is enabled in a PC’s Bios and it seems the PC hangs when trying to execute/merge the apple boot code into the pc bios, where the uefi code will run

so what you end up when using a apple gen 4 ssd on a pc is that it uses the AHCI protocol for data xfer, but boots using the UEFI code which is not something you would normally see on a pc

hi everybody, I reached this forum trying to boot an Apple Oem SSD on a mobo without NVME boot support using a PCIE adapter.
Thanks to the tips I found here, I installed successfully windows 10 and, trying hard, now I am able to regularly boot it from that Apple disk.
Regularly but in a pitiful way…
As already stated here in the thread, the UEFI GUI interface of clover doesn’t load the Apple disk. It doesn’t even appear in the map table via shell command.
…if I boot legacy (I can choose to boot the Clover usb in Uefi or in Legacy mode) I can use the textual interface.
If I click on “Boot manager” no disk is shown, but if I select “Boot Maintenance Manager”, I surf this path “boot Option” - “Add Boot Option”…and here it is the magic (at least for me): the disk is shown(!) as a sata disk. I can select the disk, navigate to the efi\boot\bootx64.efi file of my windows 10 installation, give it even a description (“nvme disk” in my case) and save(?) by pressing F10.
Coming back to main page and clicking on “Boot Manager” , voilà the “Nvme disk” appears, I can choose and I regularly boot into windows 10!
It would all be very nice but, despite I save the configuration, at every boot the configuration is lost…and i have to redo all the process…

Now, a couple of questions:
- why in uefi shell and uefi GUI no disk is displayed but if in the legacy I can add it?
- why saved configuration do not last in the legacy mode? Any idea how to mantain the working configuration at every boot?

Thank you, guys!

@Yopale :
Welcome to the Win-RAID Forum!
If you want to boot directly off the NVMe SSD, you will have to insert the required NVMe module into the AMI UEFI BIOS of your mainboard (proovided, it has such BIOS). >Here< is the related guide.
Good luck!
Dieter (alias Fernando)

Hello everyone, thanks very much for the guide!

It looks like the driver NvmExpressDxe.efi is not seeing the Apple NVMe SSD with SSPolaris or SSPhoton controller. These are NVMe SSD, as opposed to the SSUAX or SSUBX that were AHCI SSD.

Motherboard - Fujitsu d2912-a1.
HDD - ST3500418AS, Win10 is installed.
USB stick - Clover is installed, I’ve selectively tried versions from 4003 to 5141.
NVMe SSD - APPLE SSD SM0128L (SSPolaris controller) and APPLE SSD SM0032L (SSPhoton controller), they are both visible in Device Manager and in Disk Management, partition table - GPT. Windows installer allows me to install Win10 on any of the two NVMe SSD (before the first reboot, then Clover is loaded - and the NVMe SSD is not visible again).

In the preboot.log - the Clover sees the NVMe SSD and loads the NVMe driver NvmExpressDxe.efi.

But it sees block devices from [02] to [127] instead of the NVMe SSD:
9:779 0:034 === [ ScanVolumes ] =============================
9:779 0:000 Found 131 volumes with blockIO
9:779 0:000 - [00]: Volume: PcieRoot(0x0)\Pci(0x16,0x2)\USB(0x80,0x51)
9:786 0:006 Result of bootcode detection: bootable unknown (legacy)
9:786 0:000 - [01]: Volume: PcieRoot(0x0)\Pci(0x16,0x2)\Ata(0x0)
9:786 0:000 Result of bootcode detection: bootable unknown (legacy)
9:786 0:000 - [02]: Volume: PcieRoot(0x0)\Pci(0x16,0x2)\VenHw(CF31FAC5-C24E-11D2-85F3-00A0C93EC93B,82)
9:786 0:000 - [03]: Volume: PcieRoot(0x0)\Pci(0x16,0x2)\VenHw(CF31FAC5-C24E-11D2-85F3-00A0C93EC93B,83)

…further from [04] to [126]…

9:789 0:000 - [127]: Volume: PcieRoot(0x0)\Pci(0x16,0x2)\VenHw(CF31FAC5-C24E-11D2-85F3-00A0C93EC93B,FF)
9:789 0:000 - [128]: Volume: PcieRoot(0x0)\Pci(0x16,0x2)\USB(0x80,0x51)\HD(1,MBR,0x04FDA583,0x3F,0x3D7FC1)
9:795 0:006 Result of bootcode detection: bootable unknown (legacy)
9:812 0:017 label : BDU
9:812 0:000 This is SelfVolume !!
9:812 0:000 - [129]: Volume: PcieRoot(0x0)\Pci(0x16,0x2)\Ata(0x0)\HD(1,MBR,0x27987793,0x3186,0x400800)
9:812 0:000 Result of bootcode detection: bootable Windows (vista,win)
9:813 0:000 - [130]: Volume: PcieRoot(0x0)\Pci(0x16,0x2)\Ata(0x0)\HD(2,MBR,0x27987793,0x40466C,0x39F80800)
9:813 0:000 Result of bootcode detection: bootable Windows (vista,win)
9:813 0:000 Searching volumes for latest nvram.plist …

I’ve tried a lot of NvmExpressDxe.efi from different sources - everything is the same.
Has anyone tried booting from an Apple NVMe SSD (with SSPolaris or SSPhoton controller) on older motherboards?
What could be wrong?

Regards, ducks_utki

Hello everyone, Good day,

In continuation of the previous post #13.

I extract NVMe EFI module from Bios dump "iMac A1418 (EMC 2889) 820-00430-A.bin", insert it in Clover, and Clover loaded the NVMe driver:
4:342 0:000 Loading NvmExpressDxe.efi status=Success
But the Apple NVMe SSD is not visible again.

Then I extract NVMe EFI module from Bios dump "iMAC A1419 EMC3070 820-01134-A.bin", insert it in Clover, and I get red text on black screen…

Maybe someone knows a solution?
Thank you, guys! (11.3 KB) (15.6 KB)

Although I am not an expert regarding your problem, here is my comment:
The detection of a specific Disk (HDD/SSD) and the detection of a specific Storage Controller, which is within the SSD’s chip, is a quite different task.
The NVMe EFI BIOS module is only required for the booting procedure, but not necessary for the detection of the SSD by the OS.
If the Apple OEM SSD should not be detected by the Windows OS (not shown within the “Disks” section of the Device Manager), the insertion of an NVMe.efi module into the BIOS doesn’t help. It may be the Apple data on the track-0 of the SSD, which prevents its detection by any Windows OS. If I should be right, only a “Secure Erase” of the SSD will solve the problem.

Dear Fernando, thank you very much for your reply!
Apple NVMe SSD - SM0128L (SSPolaris controller) and SM0032L (SSPhoton controller) - are both visible in Device Manager and in Disk Management, partition table - GPT. Windows installer using Clover allows me to install Win10 on any of the two NVMe SSD before the first reboot, then Clover is loaded - and the NVMe SSD is not visible again!
I’ve tried a lot of NvmExpressDxe.efi from different sources - everything is the same.
It looks like the driver NvmExpressDxe.efi is not seeing the Apple NVMe SSD with SSPolaris or SSPhoton controller.
How to select/adapt drivers for these SSD?


Maybe it is the Clover method, which doesn’t work. What about inserting the NVMe module into the mainboard BIOS (if natively not present there)? Which mainboard (manufacturer/model) are you using? Can you upload or link to the latest BIOS?

If you should mean the NVMe storage driver, there is nothing to do for you. Win10 has an on-board generic MS NVMe driver, which supports all NVMe Controllers from all manufacturers.

Dear Fernando,
Motherboard - Fujitsu d2912-a1. The description of the motherboard and the BIOS file are in the attachment.
I’ve selectively tried Clover versions from 4003 to 5141.
But, if DXE driver NvmExpressDxe.efi in Clover does not see the APPLE SSD, then will DXE driver NvmExpressDxe.ffs in the BIOS see the APPLE SSD?

mainboard-d2912-short-description-kurzbeschreibung-en-de-20091204.pdf (381 KB) (945 KB)

The NvmExpressDxe.ffs module is only required to be able to boot off an NVMe SSD, but not for the detection of it.
As soon as I have access to the BIOS of your mainboard I will check it to verify, whether it is possible to insert an NVMe module directly.
Edit: Unfortunately the BIOS is a Legacy and not an UEFI one. So it is impossible to insert any EFI module.

Dear Fernando, thank you very much for your reply!
I would like to make the APPLE SSD bootable.
Why does the DXE driver NvmExpressDxe.efi not see the disk in Clover?
I’ve selectively tried Clover versions from 4003 to 5141, and I’ve tried a lot of NvmExpressDxe.efi from different sources - everything is the same. What could be wrong?