[Guide] NVMe-boot for systems with legacy BIOS and UEFI board (DUET-REFIND)

hmm so ok…
i have made a usb drive using windows media creation tool and now i get this error when trying to install the os using refind to select the usb drive…

photo5771403098055618977.jpg



anyhow. that sata speed bottlenec
the bios indeed is set to sata 2 mode (AHCI)
but for whatever reason. it seems like whenever i boot from the created usb drive. it seems to “switch” itself to ATA 133 mode (IDE mode)
SATA 2 is 3Gb/s aka roughly 300mb trough-put…

the speeds i’m having right now is very close to SATA 1 wich is 1.5Gb/s for a max of roughly 150mbs
do you know anywhere i could go with this problem?
after some checking i confirmed that i have a ICH10 6 port SATA AHCI Controller onboard.

@sebaskitty

If you use a real SATA device on one SATA controller it will roughly go to 30MB and then fall anywhere to 8MB and less depending by the volume fragmentation and year of production.
You are assuming to achieve the theoretical speed limit on SATA2 with a mechanical hard-drive?
does it have at least an beefy DDR module for cache? if not only few 15000K RPM disk-to date in RAID will somehow goes on near the SSD access\read\write time.

0xc0000005 basically mean the upgrade is not supported duo a per-existing condition.
Delete the offending partition or detach all other disk and re-initialize the NVME drive as “Drive 0 Unallocated Space” before proceeding.
It could also mean you didn’t run the CLEAN command on the USB with the OS installer FILE after having its partition table modified to hold a sort MBR bootlader.

@noInk
I have checked both the manual and possible settings in my current BIOS and I can’t find any settings for bifurcation in my MB. Which is the best way to go, do a BIOS mod or just buy an NVMe adapter with support for bifurcation?
Can I add NVMe RAID drivers to [USB]\EFI\Boot\drivers directory?
The best solution maybe is a single slot NVMe - PCIe adapter and take backups manually instead of RAID1?
I know what ROM is, but what is an OROM?

@Kahl

If you can disable or change the operator lane X4/X8/16 from the bios it basically mean your board support bifurcation.
SLI certification or Crossfire support also implicit make the board capable.

There no public ROM or DXE from intel with NVME capability for the ICH10.
Intel monetized such function with the VROC key.

Best solution is to have one or two 4TB hard disk with embedded 256MB cache in conjunction of one NVME of at least 500GB a CPU with a good architecture/clock and somehow a powerful GPU.

@noInk
I have read the manual and there are no "bifurcation" settings in BOIS for neither Crossfire or SLI, the only settings shown are in the drivers for each graphics card.
If I understand you correctly, it is not possible for my MB to use NVMe RAID, so this is not a possible solution. What is possible to try with NVMe in an legacy system is your "Best solution …"

Thanks for now :slight_smile:

@Kahl

Bifurcation is not an exposed option and it’s not required to boot an NVME from a PCI-ex slot.
Most of X58 support the feature by having an NF100\NF200 bridge.
An adapter can have it’s own bifurcation chip, it add latency, it’s specific but allow to use more then one physical device on the same physical slot.
NVME adapter usually doesn’t provide bifurcation bridge unless specified by the adapter manufacturer, generic adapter rely on the motherboard support for such function for pricing and possible licensing purpose.


@sebaskitty

Eventually let me know which one of the issue was, or if it was both.

i need your help ,

I have 2 xeon servers , ML350 G6 , DL160 G6 , same chipset intel 5520 ,same cpu s x5650 , same type ram , only differences is bios screen , so DUET perfectly works fine in ML350 G6 but i couldnt get the refind screen in DL160 G6 . I have tried 2015 , 2017 , 2019 ,2020 , no luck :frowning:
I only see ! symbol keep blinking . ( I use same usb that works in other server )
Any thoughts ?

I have gigabyte ex58 ud3r with xeon x5690 installed… and have succesfully install win 10 on Adata sx8200 pro using duet… But windows cannot shut down… any thoughts?

@gleo4

Did it worked before? I’ve recently made a change on the 2015.
Download THIS older archive and replace the EFILDR on the root USB with.
It’s the last confirmed build to work with board with nested page issue by user @bloodfor

If it work, I’ll revert the changes but first check also on THIS other newer version while at and report back.

Might be also unrelated and it never worked.

@when2

Unstable overclock ([CLOCK] <> QPI/MEMORY ratio) or any wrong spec PCI-ex adapter (NVME/USB/NETWORK) can cause the shutdown to not work.
Usually it happen with device with external power requirement not accepting\understanding the power down sequence.
These device once identified should NOT be used and can cause electrical damage to the motherboard\PSU component/regulator especially during a power outage.

Try to load the default bios option or reset the CMOS or remove any other adapter from the PCI-ex slot.
If the issue is not solved by the CMOS reset or by other PCI-Ex adapter removal there also a chance the NVME adapter is out of specification or the NVME SSD is failing or making wrong contact.

I have tried removed all the other pcie adapter and all sata device/ drive… its still didnt work… tried using the nvme drive as storage… its still wont shut down… may be its the nvme adapter…

@noInk

i tried with your old version , it didnt work also . So i have 2 HP generation 6 servers. Hp ML 350 g6 has been working quite sometime even with the newest DUET . However I was never able to get it working my other server DL 160 g6 in any of the versions. these both servers have same chipset but different bios type.
https://drive.google.com/drive/folders/1…D5y2znnW2-FRbpO

@gleo4

Unfortunately I have no clue, maybe the way ILO 100 is implemented. Try to change setting around.
If you already checked on THIS and its the same, you need to find an alternative for the DL 160 g6.

@noInk

Thanks … replaced my nvme adapter … now its working normally …

After a flash drive failure the new build doesn’t function. Please link older builds. It is appreciated.

@silekonn

I need more info to establish the version used before, there only an older version of 2015 and a sort of release candidate.
If that’s happening with the 2020 but it worked before with the 2017/2019 try to make again the USB by using the CLEAN function.
If you used other stuff on the USB try also to run a full FORMAT from WINDOWS before using the CLEAN.
If the OS DISK was modified by something else you might need to make a CLEAN install.

It is working with 2020. I spent quite a while on it. It has been a long while since DUET was utilized. The catch is Win10 cannot write the DBR. Win10 on my system had trouble cleaning/formatting the drive, for which MiniTool was utilized (without success - read on).

The GUI does not clearly indicate failure. The last step is the only one to show up, MBR succeeded or something similar. It doesn’t make sense to indicate a final ‘success’ after something (i. e. DBR) failed.

The solution was to use a Win7 VM. VirtualBox combined with any generic 7sp1 media (unactivated is fine) does the job. Vanilla win7sp1 does not have .NET to utilize the GUI. The command line utilities are case sensitive, an oddity. I was aware of this and the other issues (after researching my own posts in this thread). It would be stressful for the uninitiated.

Never the less, it was a success. DUET+REFIND 2020 is prepared and the system again boots Win10, albeit without a working keyboard until GUI, causing a separate difficult to troubleshoot Win10 issue (freeze at login, causing difficulty because the 5 or F5 to select Safe Mode is not registered - the workaround is using installation media and manually editing the BCD string).

Kudos for continuing the project’s support. As always, if I can be of any assistance, please do ask. Keep up the good work.

@silekonn

The helper gracefully fail or complete the task and the GUI doesn’t read the output. It a sort of stub duo the textual line x size constriction of the GUI.
On WIN7 and under certain circumstance on older WIN10 version (2015) the original BootSectImage & GenBootSector found on UDK2014 [ZIP]\BaseTools\Bin\Win32\ must be used.
About the keyboard try to see if your require the PS2 protocol found in [ZIP]\DUET_EDK2020_REFIND\DUET\EFI\Drivers on VM it’s required and not included on the last binary.
An user must put the driver within the [USB]/EFI/Boot/drivers

@noInk Thank you for the response. The GUI should be increased is what was understood. The system with no keyboard fails with a USB or PS/2 keyboard. Are you suggesting PS/2 might correct the USB issue?
TIA

@silekonn

The process work by reading certain unique information out the USB boot sector, these value are merged with the bootloader and wrote back on the USB.

If the information are not available that’s an underlying issue with the device used.
Usually running a full format and the clean command restore the USB sector affected.

The application and it’s helper require administrative privilege access.
A miss-configured account or broken system policy can affect the privilege escalation process.

About the keyboard, if what appear an USB keyboard doesn’t work it might be an staged USB device with something else wrapped with keyboard capability.
Change keyboard.
For Virtual Box or by using the PS2 port the Ps2KeyboardDxe and Ps2MouseDxe are required to be dropped in [ZIP]\DUET_EDK2020_REFIND\DUET\EFI\Drivers on 2020.

hello. sorry for the lack of updates. most of the issues i’ve found i seem to have traced back to just…
a wank motherboard.

i decided to buy another motherboard wich offers overclocking.

but so far i havent had success yet in booting.

I bought a gigabyte g1 guerrilla rev 1.0 wich is also x58. updated the bios so it supports 4tb hdds and some bug fixes.


from what i’ve seen. it only allows to boot from legacy (only cd boot offers legacy or efi mode)
the only thing regarding "efi i’ve found is this in the manual

"Hybrid EFI Technology combines the benefits of GIGABYTE’s mature BIOS platform including stability and compatibility with 3rd party products with 3TB+ HDD support from EFI technology, allowing GIGABYTE to offer the best of both worlds through a quick and easy BIOS update using GIGABYTE’s @BIOS utility that is freely available from the GIGABYTE website.
GIGABYTE DualBIOS™ is a patented technology that automatically recovers BIOS data when the main BIOS has crashed or failed. Featuring 2 physical BIOS ROMs integrated onboard, GIGABYTE DualBIOS™ allows quick and seamless recovery from BIOS damage or failure due to viruses or improper BIOS updating. In addition, GIGABYTE DualBIOS™ now supports 3TB+ (terabyte) hard drive booting without the need for partitioning, and enables more data storage on a single hard drive."


i’ve used the same usb drive i’ve used on the previous motherboard and tried the 2015 and 2020 version of the bootable method you provided.


when i tried to boot from the usb that booted on the intel board. i see the text “restart” in red and then a red blinking cursor forever.

so i remade the usb both with the 2015 and 2020 version of DUET and that results into it being stuck on a white blinking cursor on the bottom of the screen.

i’ve tried to boot the usb as usb-HDD and usb-CDROM with no change.

what would you recommend? thank you in advance ^^

edit. maybe handy info. trying to make the usb drive on another machine. tried it on a laptop wich gets stuck on coyping boot but another laptop running w10 worked right away