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:
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!
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
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:
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:
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
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:
Scroll to the bottom of this section and you should see an area that looks like this:
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:
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:
So instead of running the command, put the machine into sleep mode, do not shut it down:
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:
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:
After you have run the Windows installation, you should see something like this:
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).
As you can see I have installed:
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.