• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Tachytelic.net

  • Get in Touch
  • About Me

How To

Modify the BIOS of a Lenovo M92 to enable native NVMe support

July 5, 2022 by Paulie Leave a Comment

In this post I will show you how you can modify the BIOS of a Lenovo M92 so that it can support an NVMe drive as a native boot device. This is a similar procedure to a post I wrote on how to enable NVMe support on a Dell Optiplex 7010 last year.

The Dell OptiPlex 7010 and the Lenovo M92p share the same Intel Q77 chipset, so I decided to see if I could make it work again. The procedure is very similar.

Once again the results are astounding, here is the results of a Crystal Disk Mark benchmark using a Samsung 970 EVO Plus:

Benchmark from Samsung 970 EVO Plus installed into a Lenovo M92p

The Lenovo M92 was released in 2011, adding NVMe support is an incredible upgrade. It can boot Windows 10 from a cold start in around 12 seconds!

Image of Samsung NVMe SSD installed into a Lenovo ThinkCentre M92p
The Samsung 970 EVO Plus installed into the PCI Adapter in the Lenovo M92p SFF.

Warning

This blog post contains instructions on how to modify your BIOS.

You could easily break your machine. Proceed at your own risk!

Table of contents

  • Required Hardware
  • Procedure Overview
  • Required Software
  • Put the machine into Service Mode
  • Modify and Upgrade the BIOS
    • Backup the existing BIOS
    • Modify the BIOS and Inject the NVMe Driver
  • Optimise BIOS Settings
  • Multiple M.2 Drives
  • Can this be done on other Lenovo Desktops?
  • Conclusion

Required Hardware

In order to do this amazing upgrade, you will need a few things:

  • A Lenovo M92 to upgrade.
  • An NVMe to PCI Adapter. I bought this cheap one from Amazon.
  • An NVMe SSD. I used this Samsung 970 EVO Plus from Amazon, but any NVMe SSD would work.

Procedure Overview

This process involves the following steps:

  • Upgrade to the most recent BIOS from Lenovo (9SKT9CA).
  • Downloading Required Software.
  • Backing up your current BIOS.
  • Adding NVMe driver support into the BIOS backup.
  • Writing the modified BIOS back to the system.
  • Installing your operating system to the new SSD.

Required Software

Download the following:

  • Intel Management Engine System Tools v8 r3
  • NVME Driver
  • UEFI Tool 0.28

Extract the Intel Management Engine System Tools to the root of your C Drive. So the path should be:

C:\Intel ME System Tools v8 r3

Put the machine into Service Mode

Under normal circumstances it is not possible to read or write to the BIOS freely. So you must first enable service mode:

  • Shut the machine down.
  • Remove the mains Power Supply.
  • Locate the two pin ME_DIS jumper and put a jumper on to it.

The jumper is located between the CLR_CMOS jumper and the SATA ports:

Image of ME_DIS header on Lenovo M92 motherboard.

If you do not have a spare jumper to hand, you can borrow the one from the password reset pins and put it back after the modification is complete.

Once the jumper is in place, boot back into Windows.

Modify and Upgrade the BIOS

Now that the machine is in service mode, we can continue and modify the BIOS.

Backup the existing BIOS

Open an command prompt as administrator and change to the directory where you extracted the Intel Management Engine System Tools. Then navigate to the subdirectory \Flash Programming Tool\Windows64 (or Windows if you are on 32-Bit installation).

Within that directory use the command:

fptw64.exe -d backup.bin

Image of FPTW tool making a backup of a Lenovo BIOS

Modify the BIOS and Inject the NVMe Driver

Next, open UEFI Tool and open the backup.bin file. Expand the sections as per the following screenshot to get to the highlighted section:

Image of UEFI Tool navigating the contents of a BIOS Backup.

Scroll to the bottom of this section and you should see an area that looks like this:

Image of UEFI Tool

Next, right click on item with the name 8D4AB7ED-99B0-4389-84D4-557C449610DC and choose Insert After.

Choose the file NvmExpressDxe_Small.ffs that you downloaded earlier and you will see it appear right after the UsbVfs entry:

Image of UEFI Tool inserting an NVMe Driver into a BIOS Image.

Now go to File -> Save Image File and save the file in the same location as the flash tool as NVME.bin.

Now we need to write the new BIOS to the machine, this involves a strange step. The command to write the new BIOS back to the machine is:

fptw64.exe -bios -f NVME.bin

But if we run that command now, we will get an error:

Image of Intel FPTW tool attempting to flash a bios image to a machine but failing with an error.
Error 280: Failed to disable write protection for the BIOS space!

So instead of running the command, put the machine into sleep mode, do not shut it down:

Image showing how to put Windows to sleep.

Once the machine has gone into a sleep state, wake it back up again by pressing a key on the keyboard or moving the mouse. When it comes back on, run the command:

fptw64.exe -bios -f NVME.bin

You should see the following output:

Image of Intel FPTW tool writing a modified BIOS to Lenovo M92p

Shut down the machine and remove the jumper from the service pins and move it back to the password reset pins if you took it from there.

Install the PCI NVMe SSD

If you have not yet physically installed your SSD into the machine, you can do it now.

Optimise BIOS Settings

To install your operating system on to your new SSD, you must ensure that you disable legacy boot and use UEFI mode:

Thumbnail of Lenovo BIOS Setup Utility Startup Screen

After you have run the Windows installation, you should see something like this:

Thumbnail of Lenovo BIOS Setup Utility Primary Boot Sequence
I disabled most of the other boot devices.

There are tools which would enable you to copy and convert your existing installation to the NVMe drive, but they are out of the scope of this post.

Multiple M.2 Drives

By using a different PCI adapter you can also add an M.2 SATA SSD to the machine as well as the NVMe drive. This adapter from Amazon takes the NVMe drive at the bottom and the M.2 SATA Drive at the top (which the connects to the SATA ports on the mainboard).

Image of Dual M.2 PCIe Adapter installed into a Lenovo M92 Small. The drive is populated with one SATA SSD and one NVMe SSD.

As you can see I have installed:

  • The Dual M.2 PCIe Adapter.
  • A 500Gb Samsung 970 EVO Plus.
  • A 1Tb WD Blue SATA SSD.

Because the Western Digital SATA SSD is connected to the SATA 3.0 connectors on the motherboard the maximum speed it can reach is around 500Mb/second. But it makes for a very tidy setup with good storage potential.

The adapter comes with everything you need:

  • Small Screwdriver and mounting screws.
  • Half height and full height brackets
  • A SATA Cable (I used a shorter one that I had spare).
  • Two heatsinks for the SSDs.

Can this be done on other Lenovo Desktops?

The BIOS file for the Lenovo ThinkCentre M92 is the same file issued for:

  • ThinkCentre Edge 92
  • ThinkCentre M82
  • ThinkStation E31

I don’t know if this upgrade would work on those machines, but I suspect that it would. If anyone tries it out I would be interested to hear your results.

Conclusion

Adding NVMe support to the Lenovo ThinkCentre M92 provides a truly fantastic value upgrade. If your existing machine has a mechanical hard drive the speed boost will be immense. If you have a SATA SSD already then the speed increase is certainly worthwhile, but perhaps not essential.

Filed Under: How To Tagged With: NVMe

Install and boot from an NVMe SSD on a Dell OptiPlex 790 or 990

February 13, 2022 by Paulie 20 Comments

In this post I will show you how you can modify the BIOS of a Dell OptiPlex 790 or 990 so that it can support an NVMe SSD drive as a boot device.

Although these machines have a UEFI BIOS, they do not contain an NVMe driver. By adding the driver into the BIOS you can boot from a PCIe NVMe SSD. I managed to achieve these speeds with a 256 Gb Western Digital Blue from Amazon.

Image showing performance of a NVMe drive installed into a Dell OptiPlex 790

As the machine only has PCIe 2.0 it is not able to reach the full speed of the NVMe drive, but it still represents a significant boost in speed over a SATA SSD.

Here is the PCI adapter and the Western Digital SSD installed in an OptiPlex 790 Small Form Factor:

Western Digital Blue NVMe SSD Installed onto a PCI Adapter inside a Dell OptiPlex 790 Small Form Factor.

Warning

This blog post contains instructions on how to modify your BIOS.

You could easily break your machine. Proceed at your own risk!

Table of contents

  • Required Hardware
  • Procedure Overview
  • Install the Required Drivers and Software
  • Put the machine into Service Mode
  • Modify and Upgrade the BIOS
    • Backup the existing BIOS
    • Modify the BIOS and Inject the NVMe Driver
  • Install the PCI NVMe SSD
  • Optimise BIOS Settings
  • Enjoy your NVMe Enabled OptiPlex 790 / 990

Required Hardware

In order to carry out this upgrade, you will need a few things:

  • An NVMe SSD. I used a 256Gb Western Digital Blue NVMe SSD.
  • An NVMe to PCIe Adapter, I used this one from Amazon.
  • A Dell OptiPlex 790 or 990 to upgrade.

The procedure is slightly different depending on the model and form factor, but mostly the same. I have not tried this on an OptiPlex 390, so I have no idea if it will work.

Procedure Overview

This process involves the following steps:

  • Upgrade to the most recent BIOS from Dell:
    • A22 for the OptiPlex 790.
    • A24 for the OptiPlex 990.
  • Installing Required Software and drivers.
  • Backing up your current BIOS.
  • Adding NVMe driver support into the BIOS backup.
  • Writing the modified BIOS back to the system.
  • Optimising BIOS settings.

Install the Required Drivers and Software

Before being able to read from or write to the BIOS, you need to install Intel Management Engine drivers. But instead of installing them from Dell, get these more up to date drivers from Lenovo.

Next, download the Intel Management Engine System Tools v7 r2, which contains the tools required to flash the new bios.

Also download the NVME Driver which will be injected into the BIOS Image.

Finally you will need UEFI Tool 0.28 to make the actual BIOS modification. Here is a direct link to that version.

Put the machine into Service Mode

Now that you have the machine prepared, you need to put the machine into service mode before you can proceed:

  • Shut the machine down.
  • Remove the mains power supply.
  • Locate the two pin service connector and put a jumper on it.

If you are upgrading a Small Form Factor machine, the service jumper is in an awkward position which will require you to remove the Optical Drive and Hard Drive cage to access it. Once those are out of the way, you can find near the RAM slots. Here is an image of the motherboard from a 790 SFF:

Image of Dell OptiPlex 790 Motherboard.

If you do not have a spare jumper, you can borrow the one from the Password reset jumper. Simply shift the jumper from the password pins to the service mode pins as shown below:

Image showing Service Mode Pin on Dell OptiPlex 790

You can now boot the machine again in service mode, but you will receive a couple of warning messages:

Warning from Dell OptiPlex 790 when the Password Reset Jumper has been set.
This warning passes after a few seconds and will be gone when the jumper is put back into the correct position.

You will then receive a message informing you that the machine is in Service Mode:

Warning from Dell OptiPlex 790 when the Service Jumper is active.
Press F1 to continue or Press F2 to access the BIOS settings.

If you do not put the machine into service mode you will not be able to backup or update the BIOS properly.

Modify and Upgrade the BIOS

Now that you are in service mode, you can continue with the backup and modification.

Backup the existing BIOS

Open a command prompt as an administrator and change to the directory where you extracted the Intel ME System Tools. Then navigate to the subdirectory \Flash Programming Tool\WIN64 (or WIN32 if you are on 32-Bit installation).

Within that directly use the command:

fptw64.exe -d backup.bin

Image of Intel Flash Programming Tools taking a backup of a Dell OptiPlex BIOS.

Modify the BIOS and Inject the NVMe Driver

Next, open UEFI Tool and open the backup.bin file. Expand the sections as per the following screenshot:

UEFI Tool with Dell OptiPlex 790 BIOS Loaded

Scroll to the bottom of this section and you should see an area that looks like this:

Image of UEFI Tool at the correct position to insert an NVME Driver.

Next, right click on item with the name E0364FEE-1440-4A41-AD3E-50E0B106A83D and choose Insert After.

Choose the file NvmExpressDxe_Small.ffs that you just downloaded earlier and you will see it appear right after the DellDaBfa section:

Now go to File -> Save Image File and save the file as nvme.bin and put it in the same location as the flash tool. Go back to your command prompt and run the command:

fptw64.exe -bios -f nvme.bin

Image of Intel Flash Programming Tool writing an NVMe enabled BIOS to an OptiPlex 790.

Shut down the machine and remove the jumper from the service pins and move it back to the password reset pins if you took it from there.

The BIOS modification is complete!

Install the PCI NVMe SSD

If you have not yet installed your SSD into the machine, you can do it now.

Optimise BIOS Settings

Now that you have written the new BIOS, restart the machine. If you do not have any SATA drives connected you will receive a warning on start-up that says:

Alert! Hard Drive not found

You can fix this by going into the BIOS Setup and then System Configuration -> Drives. Untick all the SATA ports which do not have drives connected:

Finally, if you want the maximum possible speed from your new drive, consider disabling C-States in the BIOS. This makes it marginally faster, but I doubt you would notice much difference:

Enjoy your NVMe Enabled OptiPlex 790 / 990

Now you can install an operating system of your choice or clone one of your existing drives to your new NVMe drive and enjoy a decent performance increase.

In my opinion, upgrading the Dell OptiPlex 790 or 990 with PCI NVMe Solid State drive is a brilliant value upgrade. If an old machine can be given a new lease of life, then that is a great win. The performance boost if you are upgrading from a mechanical hard drive will be huge.

On my machine I can boot to the Windows 10 Desktop in 11 seconds. The configuration of my machine is:

  • Intel Core i5-2400
  • 16Gb Ram (4 x 4Gb)

Again, here is the PCI adapter that I used:

  • Western Digital Blue SN570
  • NVMe to PCI Adapter (The adapter comes with a heatsink also)

If you upgrade your OptiPlex 790 or 990, please let me know your results in the comments.

Filed Under: How To Tagged With: NVMe

Install and boot from an NVMe SSD on a HP Compaq Elite 8300 SFF

January 11, 2022 by Paulie 9 Comments

In this post I will show you how you can install an NVMe SSD into a HP Compaq Elite 8300 Small Form Factor and modify the BIOS so that the machine can boot natively from it. The 8300 SFF does have a UEFI BIOS, but there is no NVMe driver present.

I recently wrote a post on how add NVMe support to a Dell OptiPlex 7010 which has the same Q77 chipset at the HP 8300. I was asked if the the same procedure could be used to upgrade the HP.

It is possible to modify the BIOS on the HP 8300 Elite, but it is much more difficult to do. The completed modification does produce impressive results. Here is my CrystalDiskMark Result from the 8300 using a Samsung 970 EVO Plus:

Why is the HP Compaq 8300 Difficult to modify

On the Dell OptiPlex 7010 I was able to put the machine into service mode and gain full read and write access to the BIOS. The HP 8300 motherboard has a similar function called FDO (Flash Descriptor Override):

Putting a jumper on to these pins allows the Intel Management Tools to fully read the BIOS, but the Intel Flash Programming Tool (fpt.exe) is not able to write back to it, and displays the message:

C:\Intel ME System Tools v8 r3\Flash Programming Tool\Windows64>fptw64.exe -bios -f nvme.bin

Intel (R) Flash Programming Tool. Version:  8.1.60.1561
Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.

Platform: Intel(R) Q77 Express Chipset
Reading HSFSTS register... Flash Descriptor: Valid

    --- Flash Devices Found ---
    W25Q128BV    ID:0xEF4018    Size: 16384KB (131072Kb)

PDR Region does not exist.

Error 28: Protected Range Registers are currently set by BIOS, preventing flash access.
Please contact the target system BIOS vendor for an option to disable Protected Range Registers.

I tried various methods to enable write access to the BIOS with software solutions, but I was unable to. So I tried using an SPI programmer directly on the BIOS chip, which works, but is not easy to do for the following reasons:

  • My CH431a programmer only came with an 8 pin chip connector, but the BIOS chip on the 8300 is 16 pin.
  • The BIOS chip is located so close to the RAM slots that it is difficult to access.

If anyone reading this blog finds a way of writing to the BIOS with software tools, please let me know! It must be possible as the HP Firmware updates are able to write to the flash chip.

Here is a top down view of the HP 8300 Elite Motherboard, with an arrow pointing at the BIOS Chip:

Image of motherboard from a HP Compaq 8300 Elite

and here is a close-up of the BIOS chip, which is a 16Mb Winbond W25Q128BVFG:

Image of the Winbond 16-Pin BIOS Chip on a HP 8300 Small Form Factor motherboard.
Note: PIN 1 on the BIOS chip is identified by a small circle above the PIN

The retaining arm for the RAM makes it impossible to attach the SPI Programmer, so to solve that problem, I simply snapped it off. It was not very strong and snapped in half easily. I would love to hear if someone has a more elegant method. The retaining clip still works fine.

Warning

This blog post contains instructions on how to modify your BIOS using a hardware programmer.

You could very easily break your machine. Proceed at your own risk!

Modifying the HP 8300 Elite BIOS

So in order to modify the BIOS, I required the following hardware:

  • KeeYees SOP8 SOIC8 Test Clip and CH341A USB Programmer.
  • 16 Pin DollaTek SOIC16 SOP16 Test Clip.
  • Samsung 970 EVO Plus NVMe SSD.
  • Cheap M.2 NVME to PCIe 3.0 x4 Adapter.
  • A spare machine with a USB 3 port to read and write from the BIOS chip.

Attaching the chip clip to the BIOS

I attached the 16-Pin chip quite easily once the RAM clip was snapped off:

Image of 16-Pin Chip Clip attached to the BIOS Chip of a HP 8300

Note: I did all of this with the machine fully assembled. But it was very difficult to get a good photo, so I took the motherboard out. Notice the red cable on the ribbon of the clip indicates the location of Pin 1, which corresponds to the location of Pin 1 on the BIOS chip.

At the USB Programmer end it looks like this:

Image of CH431a USB Programmer with  8-16 Pin Header Installed

For the purposes of clarity, this picture shows:

The 16 pin clip and ribbon, connected to a 8 to 16 Pin Header, which is connected to the CH431a USB Programming tool. The 16 pin clip I ordered came with both a 16 to 16 pin header, and a 16 to 8 pin header.

The ribbon is quite short, so the machine you connect the USB Programmer to has to be quite close by.

Disconnect the HP 8300 from the mains before connecting the USB Programmer to the host computer. You will know when you have got a good connection because a small light between the RAM slots will light up:

Image showing power light between RAM slots on a HP 8300 Motherboard

Create a BIOS Backup

With the clip successfully connected you can now proceed to backing up and modifying the BIOS. Download and install the following software.

  • CH341SER.EXE – USB to serial driver.
  • CH341PAR.EXE – Multiprotocol interface driver.
  • AsProgrammer.

With all the drivers installed and the hardware connected you can run AsProgrammer. The first thing to do is change the hardware settings to CH341a:

Image of AsProgrammer Tool

Next, you can ensure the chip is properly connected by clicking on the Read-ID Button:

Selecting a Flash Rom Chip in AsProgrammer

You should get output like the image above. Choose W25Q128BV. If your output is different, do not continue further.

  • Select Read IC from the toolbar. This will take a few minutes to execute.
  • Select Save File from the toolbar. I saved mine as HP8300.bin

Make sure you keep your backup file safe! If things go horribly wrong, you can use it to restore your machine back to it’s original state.

Leave AS Programmer open as we will be coming back to it, to write the modified BIOS.

Modify the BIOS in UEFITool

Next we will modify the BIOS using UEFI Tool:

  • Download, extract and open UEFITool 0.82.
  • Open the BIOS backup that you created with ASProgrammer.
  • Expand the BIOS Image like this:


  • Scroll to the bottom of this section until the final DXE driver, which should be HpDigitalSignatureVerification.
  • Download this NVME Driver and save it to your machine.
  • Right click on the final DXE driver and choose Insert After.


  • Choose the NvmExpressDxe_Small.ffs that you just download and then save the file as NVME.bin.

Write the modified BIOS back to the HP 8300

Now that you have the modified BIOS image complete, go back to ASProgrammer:

  • Click the Open File button and open NVME.bin.
  • Click the Programm IC button and wait for the flashing process to complete.
  • Disconnect the programmer.

Add the NVMe Adapter and Drive

The system will now be able to from an NVMe drive! You can either complete a fresh install of your Operating system or clone your existing installation to the new NVMe SSD

Here is my Samsung 970 EVO Plus NVMe SSD from Amazon installed on to a PCI Adapter in the machine:

Image of Samsung NVMe SSD installed into a HP Compaq 8300 Elite after boot support has been added.

Conclusion

Adding NVMe support the HP Compaq 8300 Elite does provide a massive boost in performance. The machine I upgraded had a mechanical hard drive so the difference was astonishing. Here is the difference in speed results:

Image showing speed difference between Seagate 7,200 RRPM Hard Drive and a Samsung NVMe SSD in a HP Compaq Elite 8300

You will have to judge if this is the right upgrade for you. A SATA SSD would be much easier to fit and does not require the use of additional hardware to modify the BIOS. This NVMe modification provides greater performance, but at the cost of added complications and the risk of damaging your machine.

If anyone is able to find a method to update the BIOS without using the USB Programmer I would love to hear from you.

Filed Under: How To Tagged With: NVMe

Install and boot from an NVMe SSD on a Dell OptiPlex 3010, 7010 or 9010

December 26, 2021 by Paulie 104 Comments

In this post I will show you how you can modify the BIOS of a Dell OptiPlex 3010, 7010 or 9010 so that it can support an NVMe SSD drive as a boot device. This is a follow up to a post I did on how boot a Dell OptiPlex 7020 with an NVMe drive.

I also wrote an upgrade guide for the Dell OptiPlex 7010 which showed how to use Boot Disk Utility to boot from an NVMe drive by using a USB Stick. The method described in this post will allow the machine to boot natively without the need for any additional hardware.

Although these machines have a UEFI BIOS, they do not contain the NVMe driver. By adding the driver into the BIOS you can boot from a PCIe NVMe SSD. I managed to achieve these speeds with a Samsung 970 EVO Plus from Amazon:

Speed results from a Samsung EVO Plus NVMe drive installed into a Dell OptiPlex 7010

This is the same drive that I put into an OptiPlex 7020, but for reasons that I do not understand, the same drive is even faster in the 7010.

Here is the PCI adapter and the Samsung NVMe SSD installed in an OptiPlex 7010 Small Form Factor:

Samsung 970 Evo Plus installed into a Dell OptiPlex 7010 on a PCI Adapter.

Warning

This blog post contains instructions on how to modify your BIOS.

You could easily break your machine. Proceed at your own risk!

Table of contents

  • Required Hardware
  • Procedure Overview
  • Install the Required Drivers and Software
  • Put the machine into Service Mode
  • Modify and Upgrade the BIOS
    • Backup the existing BIOS
    • Modify the BIOS and Inject the NVMe Driver
  • Install the PCI NVMe SSD
  • Optimise BIOS Settings
  • Conclusion

Required Hardware

In order to carry out this upgrade, you will need a few things:

  • An NVMe SSD. I used a 512Gb Samsung 970 EVOPlus
  • An NVMe to PCIe Adapter, I used this one from Amazon.
  • A Dell OptiPlex 3010, 7010 or 9010 to upgrade.

The procedure is slightly different depending on the model and form factor, but mostly the same.

Procedure Overview

This process involves the following steps:

  • Upgrade to the most recent BIOS from Dell:
    • A22 for the OptiPlex 3010.
    • A29 for the OptiPlex 7010.
    • A30 for the OptiPlex 9010.
  • Installing Required Software and drivers.
  • Backing up your current BIOS.
  • Adding NVMe driver support into the BIOS backup.
  • Writing the modified BIOS back to the system.
  • Optimising BIOS settings.

Install the Required Drivers and Software

Before being able to read from or write to the BIOS, you need to install the Intel Management Engine Components from Dell.

Download the Intel Management Engine System Tools v8 r3, which contains the tools required to flash the new bios.

Also download the NVME Driver which will be injected into the BIOS Image.

Finally you will need UEFI Tool 0.28 to make the actual BIOS modification. Here is a direct link to that version.

Put the machine into Service Mode

Now that you have the machine prepared, you need to put the machine into service mode before you can proceed:

  • Shut the machine down.
  • Remove the mains power supply.
  • Locate the two pin service connector and put a jumper on it.

If you are upgrading a Small Form Factor machine, the service jumper is in an awkward position which will require you to remove the Optical Drive and Hard Drive cage to access it. Once those are out of the way, you can find it just above, and to the right of the RAM slots. Here is an image from a 7010 SFF:

If, like me, you do not have a spare jumper, you can borrow the one from the Password reset jumper.

On a Mini Tower – the jumper is in a different position and easier to access:

Password Reset and Service Mode Jumpers from a Dell OptiPlex 7010 Mini Tower Motherboard

You can now boot the machine again in service mode, but you will receive a couple of warning messages:

Dell Security Warning that is shown on system boot when the jumper is removed from the password pins.
This warning passes after a few seconds and will be gone when the jumper is put back into the correct position.

You will then receive a message informing you that the machine is in Service Mode:

Dell warning that shows when the machine is in service mode.
Press F1 to continue or Press F2 to access the BIOS settings.

If you do not put the machine into service mode you will not be able to backup or update the BIOS properly.

Modify and Upgrade the BIOS

Now that you are in service mode, you can continue with the modification. I’ve also made a video that shows how to insert the NVMe driver into the BIOS:

Backup the existing BIOS

Open a command prompt as an administrator and change to the directory where you extracted the Intel ME System Tools. Then navigate to the subdirectory \Flash Programming Tool\Windows64 (or Windows if you are on 32-Bit installation).

Within that directly use the command:

fptw64.exe -d backup.bin

Image of Intel Flash Programming tool dumping the BIOS from a Dell Optiplex 7010.

Modify the BIOS and Inject the NVMe Driver

Next, open UEFI Tool and open the backup.bin file. Expand the sections as per the following screenshot:

Image of UEFI Tool with a BIOS Image open.

Scroll to the bottom of this section and you should see an area that looks like this:

Image of a BIOS file loaded into UEFI Tool at the correct location for adding an NVMe driver.

Next, right click on item with the name D95D6B4F-92FA-4E78-9C48-C68C0813688E and choose Insert After.

Choose the file NvmExpressDxe_Small.ffs that you just downloaded earlier and you will see it appear right after the OemLinkDELLPwdLib section:

Image of UEFI Tool having has the NVMe driver injected.

Now go to File -> Save Image File and save the file in the same location as the flash tool as NVME.bin. Go back to your command prompt and run the command:

fptw64.exe -bios -f nvme.bin

Image of Intel Flash Programming Tool writing a new NVMe enabled BIOS to a Dell Optiplex 7010.

Shut down the machine and remove the jumper from the service pins and move it back to the password reset pins if you took it from there.

The BIOS modification is complete!

Install the PCI NVMe SSD

If you have not yet installed your SSD into the machine, you can do it now. If possible use the Blue X16 PCI slot, it is much faster than smaller black one.

Optimise BIOS Settings

Now that you have written the new BIOS, restart the machine. If you do not have any SATA drives connected you will receive a warning on start-up that says:

Alert! Hard Drive not found

You can fix this by going into the BIOS Setup and then System Configuration -> Drives. Untick all the SATA ports which do not have drives connected.

Finally, if you want the maximum possible speed from your new drive, consider disabling C-States in the BIOS. This makes it marginally faster, but I doubt you would notice much difference.

Conclusion

Now you can install an operating system of your choice or clone one of your existing drives to your new NVMe drive and enjoy a decent performance increase.

Upgrading the Dell Optiplex 7010 with PCI NVMe Solid State drive is a brilliant value upgrade, and completely transforms the machine. Especially if you are upgrading from a hard drive.

Again, here is the PCI adapter that I used:

Image of Samsung NVME SSD Installed onto a PCI NVMe Adapter.
  • 512Gb Samsung 970 EVOPlus
  • NVMe to PCI Adapter (The adapter comes with a heatsink also)

If you try it, I would love to know how you got on and what your results were.

Filed Under: How To Tagged With: NVMe

Install and boot from an NVMe SSD on a Dell OptiPlex 9020, 7020 or 3020

December 25, 2021 by Paulie 97 Comments

In this post I will show you how you can modify the BIOS of your Dell OptiPlex 9020, 7020 or 3020 so that they can support an NVMe SSD drive as a boot device. These machines have a UEFI BIOS, but they do not contain an NVMe driver. By adding the driver into the BIOS you can boot from a PCIe NVMe SSD.

I managed to achieve these speeds:

Image of Crystal Disk Mark Showing the performance of a Samsung NVMe SSD in a Dell Optiplex 7020.
Drive Speed result for OptiPlex 7020
Image of Crystal Disk Mark Showing the performance of a Samsung NVMe SSD in a Dell Optiplex 3020.
Drive Speed result for OptiPlex 3020

The speed results above are from the same SSD. ( Samsung 970 EVOPlus )

It took me quite a bit of research to figure out how to do this modification. But it is actually very easy and provides an immense boost in speed. Here is the card and SSD installed and working in OptiPlex 7020.

Samsung PCIe NVMe SSD installed into Dell OptiPlex 7020.

Warning

This blog post contains instructions on how to modify your BIOS.

You could easily break your machine. Proceed at your own risk!

Required Hardware

In order to carry out this upgrade, you will need a few things:

  • An NVMe SSD. I used a 512Gb Samsung 970 EVOPlus
  • An NVMe to PCIe Adapter, I used this one from Amazon.
  • A Dell OptiPlex 9020, 7020 or 3020 to upgrade.

I have personally tried this procedure on the 3020 and 7020 Small Form Factor and a 9020 Minitower. It works for every variant of the machine. There are slight variations in the procedure for each machine.

Procedure Overview

This process involves five steps:

  • Upgrade your current BIOS if required.
    • A18 for the OptiPlex 7020.
    • A20 for the OptiPlex 3020.
    • A25 for the OptiPlex 9020.
  • Backup your current BIOS.
  • Add NVMe driver support into the BIOS backup.
  • Writing the modified BIOS back to the system.
  • Install the PCIe NVMe SSD and Adapter.
  • Optimise BIOS settings.

Machine Preparation

Before starting the the physical installation of the NVMe SSD you can do all of the required preparation while the machine is running on your existing drive.

Upgrade your BIOS

The first step, is to upgrade your current BIOS:

  • A18 for the OptiPlex 7020.
  • A20 for the OptiPlex 3020.
  • A25 for the OptiPlex 9020.

Just download the BIOS update from the Dell website and run the update. Before the update runs it will show your current version and the version that you will be updated to:

Dell BIOS Update Utility for Dell Optiplex

Install Intel Management Engine Components

Next install the Intel Management Engine Components from Dell. These management components will allow you to access the BIOS in order to back it up. Reboot once after installation of the management tools.

Download Intel Management Engine Tools

Now download Intel ME System Tools and extract the Zip file to your machine. For the purposes of this blog post I will assume that it has been extracted to: C:\Intel ME System Tools v9.1 r7.

The Intel ME System Tools will be used to backup the BIOS and write the modified image back to the machine.

Backup your current BIOS

Parts of the BIOS are protected and cannot be read to or written from. In order to get a complete backup the machine must be put into service mode.

  • Switch the machine off completely.
  • Disconnect it from the mains Power.
  • Move the jumper from the two pin PSWD connector, to the two PIN SERVICE_MODE connector. It is located between the Power Supply and the PCI Slot closest to it:

Note: If you have a spare jumper you could leave the password jumper in place.

Image of Dell Optiplex 7020 Motherboard Service mode pins.
Service Mode pins for Dell OptiPlex 7020 SFF
Image of Dell Optiplex 3020 Motherboard Service mode pins.
Service Mode Pins for Dell OptiPlex 3020 SFF
Service Mode Pins for Dell OptiPlex 7020/9020 Mini Tower

Once the machine is in service mode, turn it back on, you will receive some warning notifications:

First a warning informing you that the password has been disabled. Don’t worry about this as you will be putting the password jumper back where it should be soon. It will show this message:

Image of Dell Security Manager warning when the password reset jumper has been removed from Dell OptiPlex

Next, you will also receive a message notifying you that service mode is enabled:

Warning from Dell OptiPlex when the service mode jumpers have been set.
Press F1 to continue and continue to boot normally

When your machine is booted up again you can take a backup of your existing firmware. Open a command prompt as administrator:

Showing how to run a command prompt as an administrator

Run the following commands:

cd "\Intel ME System Tools v9.1 r7\Flash Programming Tool\WIN64"
fptw64.exe -d backup.bin
Image of output from Intel Flash Programming Tool when taking a backup of a Dell OptiPlex BIOS

The example above is from an OptiPlex 7020, the output from the 3020 will look slightly different as it only has a single flash device and will give output such as:

Platform: Intel(R) H81 Express Chipset
Reading HSFSTS register... Flash Descriptor: Valid

    --- Flash Devices Found ---
	MX25L6405D    ID:0xc22017    Size: 8192KB (65535Kb)
	
	
- Reading Flash [0x800000] 8192KB of 8192KB - 100% complete.
Writing flash contents to file "backup.bin"...

Memory Dump Complete
FPT Operation Passed

You will now have a file named backup.bin which contains a full backup of your BIOS. Leave the command prompt open as we are going to use it again to write the modified BIOS back.

Modify the BIOS Image

Download and open UEFITool 0.28.0 to modify your BIOS (Direct link to version I used).

Open the backup.bin from the previous step in UEFI Tool and expand it like so:

Image of UEFI Tool with a Dell BIOS Image loaded.

Scroll to the bottom of this section and you should see an area that looks like this:

Image of correct location to insert NVMe driver in Dell OptiPlex BIOS

Now, download this NVMe Express Driver and save it to your machine. Next, right click on the final DXE Driver before the Freeform entries. Specifically these is IDs:

  • D95D6B4F-92FA-4E78-9C48-C68C0813688E for the OptiPlex 7020 or 9020
  • 6C58FC74-64DA-4D83-8BCD-9FD574C97316 for the OptiPlex 3020

Right click the item and choose Insert After:

Choose the file NvmExpressDxe_Small.ffs that you just downloaded and you will see it appear right after the item that you selected:

Image of NVMe Driver being inserted into Dell Optiplex BIOS

Now go to File -> Save Image File and save the file as nvme.bin.

Write the new BIOS to the machine

You are now ready to write the new file back to the machine. Go back to the command prompt session. Type the following command:

fptw64.exe -bios -f nvme.bin

You should get output like this:

Shut down the machine and take the jumper off the service pins and move it back to the password reset pins if you took it from there.

Install the PCI NVMe SSD

If you have not yet installed your SSD into the machine, you can do it now. For the 7020 use the blue PCI slot, it is approximately twice as fast as the smaller black one.

For the 3020 you need to install it into the PCI Slot closest to the Power Supply.

Optimise BIOS Settings

Now that you have written the new BIOS, restart the machine.

You should be able to see the adapter in the BIOS:

Image of System Information screen from a Dell Optiplex 7020 BIOS.

If you are not going to have any SATA drives connected you need to disable them in the BIOS, here you can see I have disabled all of the ports that do not have a drive connected:

Disabling the un-used ports prevents an error on startup.

Finally, if you want the maximum possible speed from your new drive, consider disabling C-States in the BIOS. This makes it marginally faster, but I doubt you would notice much difference:

Conclusion

Upgrading a Dell Optiplex 9020, 7020 or 3020 with PCI NVMe Solid State drive is a brilliant upgrade, and completely transforms the machine. Especially if you are upgrading from a hard drive.

Again, here is the PCI adapter that I used:

Image of Samsung NVME SSD Installed onto a PCI NVMe Adapter.
  • 512Gb Samsung 970 EVOPlus
  • NVMe to PCI Adapter (The adapter comes with a heatsink also)

If you try it, I would love to know how you got on and what your results were.

Filed Under: How To Tagged With: NVMe

  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Interim pages omitted …
  • Go to page 14
  • Go to Next Page »

Primary Sidebar

Link to my LinkedIn Profile
Buy me a coffee

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 270 other subscribers.

Go to mobile version