Thanks for compiling this guide Fernando. I have been following the thread for a few months and recently received my CH341a to attempt this myself. I have an H61 chipset MS-7782 with a Winbond W25Q64FV.
I have followed the guide to the letter using AsProgrammer and UEFITool, flashing separate BIOSes to test with both the small and larger drivers respectively.
For both I am getting the message:
Copyright (C) 2000-2011 Broadcom Corporation
Copyright (C) 1997-2000 Intel Corporation
All rights reserved.
PXE-E61: Media test failure, check cable
PXE-M0F: Exiting Broadcom PXE ROM.
ERROR: No boot disk has been detected or the disk has failed.
I have been able to freshly install Ubuntu to the drive from a LiveCD, so the drive is operational. Might I have missed something?
I have uploaded my original and modded BIOSes here if useful.
@Lorenzo
Did you dumped the new flashed bios and confirmed the NVMe module in it?
You may missed the part of the guide related to: Step 4 - Installation of the OS onto the NVMe SSD
Small variant mod seems bad, the 5 variant seems OK, pad and DXE insertion.
By the way, since you have a programmer, why not using a mod on the latest 8.15 (18 de set de 2014) bios revision, your backup is 8.13 (23 de out de 2013)
@MeatWar
Thank you, dumped and double checked - DXE 5 driver is present.
For Step 4 Windows installer shows NVMe drive. I deleted existing partitions from here, freshly installed Windows, but after removing Rufus USB and rebooting I get the same PXE-E61 and PXE-M0F errors as before. âWindows Boot Managerâ is top of Boot Order in âUEFI Boot Sourcesâ.
I should note, that in Part A of Step 4 I donât have a âPATAâ or âPATA_SSâ listed. For âLegacy Boot Sourcesâ I have âHard Driveâ and âNetwork Controllerâ only.
Thanks for advice on BIOS revision. I have updated to v8.15, modded, reflashed and dumped to double check. DXE 5 driver is present, but still getting those PXE errors as above. Original and modded v8.15 BIOSes here if useful.
@Fernando
Thank you - long time lurker, first time poster Happy new year!
@Lorenzo:
As MeatWar already has posted your modded BIODS named new_bios_dxe_5.bin seems to be fine (I checked it myself and agree with him). So you should definitively be able to get Win10 or Win11 installed onto the NVMe SSD after having successfully flashed the modded BIOS.
Are you sure, that the OS has been installed before you removed the Rufus USB stick? This procedure at least needs 1 reboot.
If a âPATAâ drive should not be listed wthin the BIOS as bootable device after having enabled CSM, the flashing of the modded BIOS hasnât been successful.
@Fernando
Thanks for checking - with AsProgrammer I erased IC, verified blank check, reflashed checked new_bios_dxe_5.bin BIOS back and verified, reinstalled Windows, removed Rufus USB, rebooted twice and still getting the same PXE errors.
What should I try next with no âPATAâ drive listed? Iâve attached image Boot Order in BIOS:
I may try erasing and reflashing with SkyGzâs CH341a Programmer shortly just to rule out any potential issue flashing with AsProgrammer. The BIOS loads though, so I assume flashing was successful? EDIT: same result using âCH341a Programmerâ.
You can check the success/failure of your recent BIOS flash by doing a complete backup of your HP mainboardâs chip BIOS Region or SPI content. The BIOS Region should contain the NvmExpressDxe_5 module.
Furthermore you should check
the connection of the NVMe SSD (is it currently shown within the âDisksâ section of the Device Manager?),
the quality of the HP deviceâs Power Supply Unit (powering-on the PC with several connected disk drives needs more power),
the required BIOS settings and
the âStep 4â advices of my Guide (first post), that means: disconnection of the previously used system drive while tryingto get the OS installed onto the NVMe SSD.
That HP has enough power, now as Fernando and i already mentioned, verify the current flashed mod bios.
Further bla bla is irrelevant till then.
If indeed the module is present, Disable secure boot, clear HP keys (loaded back again after 3rd boot) and disable Legacy Support, if the OS iso is correctly done in the USB, install will be successful.
According to your attached last picture your NVMe SSD is an Apple one. That may be the reason for your troubles to get it detected while booting.
Please do a look into >this< thread.
@Fernando
This is very interesting, thank you - as it is a Sandisk drive (12+16 pin, Marvell controller) following the other posterâs link I believe it is Gen 3, so AHCI. So the NVMe BIOS mod is not required at all? Strange why it isnât booting, in that case.
Following that linked thread and Ethanielâs advice, UEFI Shell shows the NvmExpressDxe_5 driver loaded (at part FC) but if I understand correctly the map command is not showing the SSD; FS0 and FS1 appear to be the Rufus USB and blank USB for text output file storage respectively. uefi_shell_pre_biosblackiodxe_unload.zip (14.3 KB)
BIOSBLKIO (at 119) is shown, but the description is <null string>. The command unload 119 returns Result Unsupported.
Livebooting Ubuntu and running sudo lspci I believe shows the PCI card at 02:00.0 and lsblk shows the SSD at sda:
Running connect -r returns Connect - Handle [130] Result Success.
However running devices I canât find PciRoot(0x1)/Pci(0x0,0x0) per Ethanielâs advice on the other thread. devices.txt.zip (772 Bytes)
â Just read further down the thread, could PciRoot(0x0)/Pci(0x1c,0x0) be it? â
Iâm not sure what to try next as it looks like Ethanielâs debugging efiâs may have been specific to ducks_utkiâs Samsung drive. I can reply on the other thread if this is best continued there.
@Lorenzo
To find out the reason why your âApple SSDâ resp. its Storage Controller hasnât been detected by the OS Setup I recommend to do the following:
Connect the SSD to any PC, which is able to boot Win10 or Win11.
Run the Device Manager of the PC and expand the âStorage Controllersâ section (if applicable).
Check and post the HardwareIDs if all listed âUnknown Devicesâ and âControllersâ
(Right-click onto them > âPropertiesâ > âDetailsâ > âPropertyâ > âHardwareIDsâ)
@Lorenzo
Thanks for your quick reply, which confirms, that your âApple SSDâ is not an NVMe one (doesnât use the NVMe data transfer protocol).
Please look into the âIDE ATA/ATAPI Controllersâ section and check the HardwareIDs of the listed AHCI Controllers.
@Lorenzo
Now that you told us, finally what hardware you have, nothing else to do besides doing a fresh OS install in the Apple SSD (not NVMe and no MOD needed), now is it still Apple APFS/HFS file system or already GPT/NTFS?
In windows environment an SSD with Apple file system disk will only be visible, as you presented, in the device manager, but not visible as normal disk in windows explorer.
Free partition apps around can manage/convert to windows disks.
As Apple file system it will not be visible in bios boot manager, or as a storage disk only.
Upon the windows setup (as UEFI) you can also manage this (cant deal with some OEM hidden partitions), by deleting Apple partitions and proceed to Windows OS installation, if indeed the OS setup can identify the SSD in the mounted pcie m.2 adaptor, for troubleshooting disconnect other disks during setup, besides the USB OS setup drive.
In windows drivers, the SSD will be using standard AHCI OOBE from Microsoft or Intel RST12/13 drivers if later installed.
@Lorenzo@MeatWar
Since it turned out, that Lorenzoâs help request has nothing to do with the topic of >this< thread, I have moved the related discussion into a separate thread.
@Lorenzo
As I already told you, you should check the HardwareIDs of the AHCI Controller, which is within the SSD.
If it should be a Samsung AHCI Controller, you may have to insert the SAMSUNG_M2_DXE module into the mainboard BIOS to get the SSD bootable. You can find the related guide >here<.
BIOS flashed back to v8.15, original and unmodded. Disconnected rust drive, only SSD and USB stick connected. Rufus Win10 stick GPT, UEFI. In Win10 installer deleted existing partitions on Apple SSD (back to Drive 0 Unallocated Space) and reinstalled Win10, all defaults to NTFS. Rebooted twice, still getting error messages
PXE-E61: Media test failure, check cable
PXE-M0F: Exiting Broadcom PXE ROM.
ERROR: No boot disk has been detected or the disk has failed.
From Win10 rust drive boot, Apple SSD shows in Explorer. Able to read/write to disk.
The Controller with the HardwareIDs VEN_8086%DEV_1C02 is the mainboardâs on-board âIntel(R) Desktop/Workstation/Server Express Chipset SATA AHCI Controllerâ. Any HDD/SSD, which is connected to one of the Intel SATA ports, is bootable. Since your Apple SATA SSD has the M.2 format, you can only connect it to a PCIe slot via adapter.
The other Controller with the HardwareIDs VEN_1B4B&DEV_9183 is a Marvell 88SE9220 PCIe SSD AHCI Controller. I donât know whether you will get the Apple SSD bootable by inserting the SAMSUNG_M2_DXE module into the mainboard BIOS. What you may need is a MARVELL_M2_DXE module. Ask Apple for it.
So can confirm the Sandisk drive SD0128F from an A1466 is compatible with the Samsung driver. I understand from DavidXanatosâs link from another thread all Generation 3 drives share the same controller, so perhaps all may be compatible with this module.
Just to update, as the mod to the HP BIOS was successful I thought Iâd try the same on my Dell Optiplex 3020 machine, but unfortunately this was unsuccessful. I followed the same steps as Fernandoâs guide, and also tried this guide (however with the SAMSUNG_M2_DXE module) but could not get the Optiplex to boot. Same SD0128F drive and adapter as previously.
The original unmodded and modded BIOSes Iâve tried can be found here. The only other thing I thought I could perhaps try is inserting before the Freeform GUID and after the last DXE module âDummyImageDxeâ, but any advice is appreciated.
My thinking is my issue is probably unlikely due to the SAMSUNG_M2_DXE module itself, as it worked correctly in my HP BIOS?
But Fernandoâs post #18 re finding a specific Marvell M2 DXE module got me thinking, so I took a backup of the Macbookâs Macronix EFI chip in case I may be able to extract this from source.
UEFITool A65 has been helpful parsing human-readable GUIDs, but Iâm not entirely sure what I should be searching for. There are a few entries for searches of âM2â and âAHCIâ, if Iâm on the right track?