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

Oh my goodness, I have the x58a-ud3r ver 2 and could not get the usb with duet to work until coming across this post that stated to disable the onboard usb 3.0 and then it finally worked.

It seems my USB-Stick was defective or to small. With a new 16GB Usb-Stick I was able to get to the refind boot menu.

But the programm doesn’t seem to find a bootable windows despite windows 10 beeing installed on a ssd connected to a sata-port and a NVMe-ssd on an adapter in the pcie-express port.

Do I have to install windows 10 from refind? I only cloned my windows 10 on my sata-ssd to the NVMe-ssd and thought I could get it running with DUET/refind

whew…57 pages to read thru !

I have a evga x58 classified…I have win 7 and want to continue using it…most I see discusses installing win 10

can I clone my MNVE from my current drive and use duet for the boot loader …or does it have to be a fresh install ?

if fresh install…how do i back up my current drive to the MNVE ?

is a win 7 install different than win 10 due to no native 7 MNVE drivers?

evga forums brought me here :slight_smile:

Okay, decided to give this finally a go on an older Dell PowerEdge server. The server only has (legacy) BIOS and no UEFI.
So booting from NVMe would normally be impossible. So I decided to give this solution a go.

However I am experiencing some difficulties. What I have tried so far;

On the first go;
1. Created an USB stick with DUET with optional REFIND (used DUET_EDK2020_REFIND)
2. Made the created USB stick to boot first
3. Received “BErrorart!”-message

On the 2nd go;
1. Created an USB stick with DUET with optional REFIND (used DUET_EDK2015_REFIND)
2. Made the created USB stick to boot first
3. Received “BErrorart!”-message

Started re-reading the forum and then I thought, I should install CentOS 7.x first on the NVMe storage device.
Installation went fine and gave it a new go (3rd attempt):

1. Created an USB stick with DUET with optional REFIND (used DUET_EDK2015_REFIND)
2. Made the created USB stick to boot first
3. Received “BErrorart!”-message

So I keep getting that “BErrorart!”-message for everything I try / do. So I have no clue what I am doing wrong.
Maybe someone can advice?

Also, I don’t know if it’s normal, but should the contents of the USB stick look like this: https://i.imgur.com/dRSFLbs.jpg
This happens with both versions of DUET (DUET_EDK2020_REFIND as well as DUET_EDK2015_REFIND).

If you need more information, let me know and I will try to do my best to provide them ofcourse.

Regards,
HHawk


//EDIT

After reading muffel’s reply, I decided to test also a different USB stic and I redid everything again (with DUET_EDK2020_REFIND).
Checked the USB contents and everything look more normal. And now I get an UEFI screen, so I made some progress. Will see how I can now make it work with CentOS 7.x.

Hi,

I have a DELL T7610 workstation. I used Clover previously and I tried to clone my os to the new ssd but it can’t work. then I tried to do a clean install of win10 to the ssd, although I can install, I can’t boot from it.

I then switched to using duet refind. I found that I can boot from the newly installed win10! However, I thought that it would be better if I can just clone my current win10 to the new ssd. However, after doing it, I can’t boot from it - the option to boot from the ssd is not available? I also tried to change the partition from MBR to GPT but it still can’t work.

so it is possible to clone a win10? or must I do a clean install?

thanks!

TigTex! Hello :raised_hand_with_fingers_splayed:
I have an old PC with Legacy BIOS without UEFI support. Main bootloader * Grub2 * HDD-1-TB-GPT
the mechanics are: Grub2 > pbr.bin > EfiLdr20 > file.efi > OS

* Create a backup PBR (partition ESP)
# dd if=/dev/sda? of=/path/pbr.bin bs=512 count=1

* Install the boot sector program, BootDuet
# dd if=bd32.bin of=pbr.bin bs=1 skip=90 seek=90 count=420 conv=notrunc

* grub.cfg:
menuentry ‘Boot DUET - pbr.bin’ {
chainloader /pbr.bin
}

PS: File bd32.bin took from the package: tianocore_uefi_duet_installer-master.zip on github

Why isn’t EFILDR20 saving settings?

Hi, I am running Windows 10 off of NVME drive in PCI-Express slot on EP35-DS3P motherboard, from, I have tried both DUET and CLOVER solutions, but both give me, for some reason, ONLY PCIE 1.0 Communication on GPU and NVME!

motherboard is 2.0 when booted normally on BIOS and MBR Sata drive.

any ideas?

Hello guys followed the instructions on setting up the USB sticks very easy and straight forward but when I boot from the Duet stick I do not get the windows logo appearing just the three bottom logos and when I put the windows USB stick in I get a message saying something about EFIx64 loader not found see attached picture. Hoping you can point me in right direction and help me.

MSI h61m-e23 (3)
16 GB Ram
Sandybridge I5
Corsair MP 510 NVME attached to 16x PCIE

IMG_20201011_124437.jpg

It looks like duet/refind - looks like the error Target is the nsh scriptfile from the additional Addon to load a raid driver. ( did you copy that or uncomment it?

Second issue your loader did not add/find any possible entry’s where you can boot from. The only possible option is your efi-shell.

Maybe the second issue is a result of the first one. Otherwise manually add Nvmex64.efi to the drivers folders. ( if it is not already compiled into the second stage boot loader.

Thank you for reply I am a complete newbie to this stuff and was wondering should both the Duet USB stick and the Windows 10 USB stick both be connected when booting up or just the Duet and add the Windows USB as it it boots up. My Bios only sees one USB stick in the bios boot menu does not see both sticks and if the windows 10 USB is connected it goes straight to that and just dismisses the duet USB. Was also wondering should use Two different manufactures Sticks as both of mine are Sandisk.
Have added the driver to the duet driver folder and tried booting with both sticks in and it goes straight the windows 10 stick I am using both front USB sockets on this tower will try having the Duet in the back and the windows 10 in the front see if that makes any difference.
Will try Putting the Duet on a PNY stick as well.
Would appreciate your thoughts on the above.
Thanks

solved After further research I found the issue my windows 10 usb was done using the microsoft usb migration tool and is not fat32 using the windows commands I split the large file in windows resources folder and using ultraiso opened the windows iso and deleted the large file then added the split one and created a bootable fat32 iso then using rufus burned to a fat32 formatted usb stick.
I read that clover does not like booting from an NTFS formatted stick.
I would like to help others encountering this issue and will look at uploading the windows 10 fat32 iso so that others can download it and use it as it’s a pain to create it if anyone is just let me know.
Side note
* Works if the clover usb is in the back usb socket and the windows 10 usb in the front socket just make sure the duet is set as the 1st boot device.

Can clover be run from a fat32 partition on my connected SSD drive?
Many thanks for all the great information on here

Well, I used clover before duet and got Issues booting from usb-ntfs sticks. It was more an efi driver issue like I.e. missing ntfs.efi. Also the backend from Rufus changed from version 2 to 3. For inspection the PBR, MBR I prefer bootice. You can view sector to sector and much other things. It is very great a hassle that the author seems not active anymore

That’s incredible! You think this can be used for booting with UEFI-only graphics cards installed in legacy bios systems? like some rx 5000 series cards?

Another success story:

Installed this: Intel 665p Series M.2 2280 1TB PCIe NVMe 3.0 x4 3D3, QLC Internal Solid State Drive (SSD) SSDPEKNW010T9X1 ($90 at Newegg)

Into this:
iBuypower S915i
i7 920 (2.66GHz)
NVIDIA GTS 250
MB: MSI X58 Pro-E Model MS-7522
PCIE 2x4 (Slot PCI E5)
Purchased 12/2009

Using: DUET (EDK2015) with REFIND and
QNINE NVME PCIe Adapter, M.2 PCIe NVMe SSD M Key to PCI Express 3.0 x2 Expansion Card with Low Profile Bracket for PC Desktop

Experience level: none (pre-newbie)

Huge huge improvement from 1 TB HDD

Thanks!!!

Hello there!
I have been trying to add UEFI support to my HP Microserver Gen8 and came across the 2020 version here with REFIND. Unfortunately I have not been able to make it work and was hoping to get some assistance debugging it. at first no matter what I did I only booted to a white blinking underscore. I went out and bought a new USB drive so I could try another one since it seems to have helped others and now I have managed to move a bit past, on on boot it goes to a white blinking underscore, then a quick flash of red text that says BErrorart! (as far as I can read the quick flash) and then it goes to a red blinking underscore. Any advice what might be wrong and what I could try out?

It looks like the mbr/pbr part is not written correctly to the usb stick. What you can try is to format the usb drive yourself with diskpart ( be careful and please check twice to use the right drive ) and the commands from the guide. After nights, and different tested duet compilations from noInk, of testing it can be happen that the gui tool place the pbr part on a different place when the drive is completely prepared from the tool instead of using diskpart this prevents booting my system.

But don’t get panic. Can you check under bootice > ( Destination Disk your usb drive ) Parts Manage the Start LBA . Then close the window, Sector edit > Sector 0 ( look for Duet ) and the Sector Number from Start LBA and look for “Efil”

The v2015 work?

Thank you for your reply. With the previous drive I had actually used used the command line version in addition to the GUI version, but since you mentioned it I tried it with the new drive, and I tried both GUI and command line with the 2015 version too. Unfortunately I could not use diskutil to format the drive because it is larger than 32GB so I tried twice, once formatted by Rufus and once by HP Format Tool. Nothing made a difference.

Checking with Bootice I can see that the start LBA is at 63 and looking at boot sector 0 I find DUET towards the bottom and looking at boot sector 63 I find Efil someplace in the middle. This was checked on the 2020 version. Still does the same thing, any advice what I could do next? Can I enable some logging so I can see where it fails?

Sorry for late reply, I need to figure out similar problems with the bootloader because i’ve switched from usb drive to harddrive. There are another option, or 2. create manually a 100 or 200 MB partition on the usb drive. The Guitool from NoInk can handle this. Alternative: create a bootable usb pen drive with the BDUtility then you need to rename the sectors to match with Duet or rename the efildr to the called loader from the pbr part.( MBUtility created bootdisk )

edit: s*it I forgot the screenshots look in attach working mbr+pbr allign at 2048

pbr3.jpg

mbr0.jpg

No worries for the late reply, I am happy someone is trying to work with me to get this working. I tried your two options, the first one was making a 256MB partition on the USB drive, and then used the GUI tool with every option except clean (because that would delete the partition), unfortunately the same issue still happened.

I then tried BDUtility, first I tried it just with Clover to see if that boots at least, but it just booted up to a number 6 displayed on the screen and a blinking underscore, all in white colour. Next I tried to rename the Efildr20 to boot and another copy to boot6 and another copy to boot7 which where the 3 files added by BDUtility (I though renaming files would be better than editing the sectors to begin with), but all I got was it booted to a red screen with lots of hex codes and the message division by zero.

I am completely at a loss at why it isn’t working.