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.
Eugene says
Would you make a video or topic on how to do nvme support on an Lenovo ThinkCentre M93p
seddik says
hello and thank you for this amazing tutorial, i am a fan of improving PC beyond their limits
I have one question, I have a m92p tower, if we installed a PCIe M2 adapter we will not be able to add a graphic card. is it possible to add a PCIe X16 bifurcation, is it possible to activate it in the BIOS or modify the BIOS to do that?
thank you for your answer.
seddik says
Hello it’s me again.
i put my hand on a fonctional M93p which is more interesting than the M92p (4th gen CPU and double PCIE X16. I tried to copy this tutorial on it but i was blocked in the very early step (backing up of the bios), with a code error : [FPTw64.exe] cannot be run on the current platform. i suspected that the intel ME tool does not support the Q87 chipset ? i dont no i am not an informatitian.
so i put my voice next to Eugene voice, can you please provide a tutorial on the M93p NVME BOOT.
thank you very much.
Your the man 🙂
Zdun says
Hi, I managed to read and edit M83/M93 bios with Intel ME Tools 9.1 v7 but after trying to write it gos well :
PDR region dose not exits
– reading 100%
but Im getting messages on writing :
error 7: Hardware seuencing faild. Make sure that you have access to target flash area!
Trying to erase same block (iteration: 2)
error 7: Hardware seuencing faild. Make sure that you have access to target flash area!
Trying to erase same block (iteration: 3)
error 7: Hardware seuencing faild. Make sure that you have access to target flash area!
Failed to erase this block 3 times!!
( of course I have jumper ME_DIS set on )
What can be the reason ? maybe some suggestions ?
Zdun says
My next observation is that when Im flashing with backup.bin it gos well no errors. So the bios modifications changes something
still about M93/M83 Thinkcenter so some how the data aren’t identical with NVME.bin and system prevents overwriting
Zdun says
Reffering to M93/M83
Interesting – after updating to newest bios FBJY0USA –
writing stops with Error 280: Faild to disable write protection fro the Bios Space ! ( so Lenovo prabably have found the week spot )
good to know that previous bios FBJYDEUSA should be fine for upgrade
seddik says
Thanks Zdun, so if i am understanding correctely, the add of NVME drivers works fine in the bios version FBJYDEUSA but not in FBJY0USA ? i think i alredy updated the bios to the last version to see if there is adding of nvme from lenovo. Is there a way to get back to the FBJYDEUSA version ? thnks for your help.
Mistergi says
I have done some tests on multiple Lenovo machines.
1. M93p BIOS FBKTE0AUS – 12/23/2021 – stock latest bios still no NVME support from lenovo
2. M93p BIOS FBKTDBAUS – 12/24/2019 – no S3 bug, i get Error 280: Faild to disable write protection fro the Bios Space when writing back
3. M93p BIOS FBKTB9AUS – no S3 bug, i get Error 280: Faild to disable write protection fro the Bios Space when writing back
4. M83 BIOS from 2013 – S3 bug. I can read bios and flash stock back. Shows everything unlocked. When I try to flash back modified NVME BIOS image, i get
error 7: Hardware seuencing faild. Make sure that you have access to target flash area!
Trying to erase same block (iteration: 2)
error 7: Hardware seuencing faild. Make sure that you have access to target flash area!
Trying to erase same block (iteration: 3)
error 7: Hardware seuencing faild. Make sure that you have access to target flash area!
Failed to erase this block 3 times!!
Can someone help? I reall want to get this to work, I don’t really care on which motherboard M93p/m83, I only need one working mobo 🙂
dreams says
Hi there… I followed your tutorial for Dell 3020 and was successful. Thanks a lot. I was wondering whether the present tutorial would be applicable to Lenovo M72e desktops. Kindly share some tips to make it work.
mrman says
Doesn’t work. Did everything exactly as instructed. Windows 7/10 both complain: “Windows cannot be installed to Disk 0”. The NVME drive does not show up anywhere in the BIOS as a bootable drive, UEFI or Legacy.
Paulie says
If you received that message from the Windows installer, it means that you booted in legacy BIOS mode. The NVMe support will only be available in UEFI mode.
mrman says
I set the bios to UEFI (CSM disabled). Any ideas on why it’s still boots in legacy mode, how to fix?
mrman says
It seems the only way I can boot from my USB drive is to hit F12 and get the boot menu. I choose UEFI, but it still boots in legacy. If I don’t use F12, then it will attempt to boot in UEFI mode, but then get an error, “Windows failed to start… File: \EFI\Microsoft\Boot\BDC”. This was created with WinSetupFromUSB.
mrman says
Just tried with an OEM Windows 10 USB drive. Seems to boot up okay. Looks like an issue with WinSetupFromUSB. Will figure out the problem and post a fix. This setup works fine with newer UEFI motherboards btw.
mrman says
Finally got it to boot, with Devuan Linux, that is, not Windows. Using Windows 7, I had to resort to a DVD, which got me passed the first setup stage, but eventually froze on the Starting Windows/Logo screen. I’m glad I did not pursue the USB setup because it wouldn’t have worked. With that said, it’s truly amazing how zip-quick these ancient systems are. For productivity apps, browsing, etc, there’s not a huge difference compared to newer systems. Definitely worth it.
mrman says
Finally got Windows 7 installed. The trick? I used Clover: Clover-5151-X64.iso.7z at https://github.com/CloverHackyColor/CloverBootloader/releases
1. Use Rufus to put Clover on a USB drive.
2. For slip-streamed Windows 7 setups, us a DVD, it won’t work with a USB drive. If there are OEM Windows 7 USB setup drives, those may work without having to use Clover. Good luck getting Windows 7 all patched up, after-the-fact, however.
For some reason, the built in motherboard UEFI will cause Windows 7 setup to freeze, but not Clover’s UEFI. You can complete the setup, then when it’s done, remove the Clover USB drive, leave your bios settings as is, and it will boot up Windows 7 just fine.
Note 1: I continued to using Clover -> Windows 7 UEFI until the setup was finished.
Note 2: Nothing works with a WinSetupFromUSB or Rufus ISO->USB Windows 7 setup, neither does it work with IsoToUSB.
Note 3: I’ve had issues with older MB’s locking up under UEFI and Linux. This Clover thing looks like it could be indispensable for getting you out of a rut (like this one).
Note 4: I keep trying, but no matter what, I can’t boot from a Rufus-produced Windows 7 setup USB stick, even under Clover, latest error: “No mapping returned from cdboot.efi”. Windows 10 setup works using the original OEM USB. Haven’t tried a Rufus/Win10 setup.
The bios:
CSM = Enabled (must always be this way!)
Boot Mode = Auto
Boot Priority UEFI First
Quick Boot = Disabled
Always remember to disable Secure Boot. It will often reset to Enabled, for example, when switching between CSM/UEFI.
mrman says
Okay guys, sorry……..but there are yet more discoveries. It turns out you don’t need Clover (still cool to have). Simply put, you only need to stick with the above noted bios settings. DO NOT disable CSM. I know it’s instructed in the blog, but doing so may cause all sorts of potential problems, as you can tell, with my little venture today. As long as Boot Priority = UEFI First, then you should be okay. If push comes to shove, you can always hold down the F12 key and force a UEFI boot. I hope this is my last post 😐
mrman says
So it wasn’t my last post, 😐
Forgot to mention, with these bios settings, you can safely use a slip-streamed ISO->USB stick to install. Screw the DVD.
Fred says
Hi, I’m trying to do this on linux on my Thinkcentre m92p. I have a PCIe adapter with an SK Hynix P31 1TB nvme all installed in my machine and I am a little confused since most tutorials are for Windows and if you or anyone could help with some tips or basic guidelines for achieving this on Linux without screwing everything up that would be greatly appreciated thanks in advance.
seddik says
Hi
i tried this tutorial on lenovo M92p with the last version of bios and it works very well.
however, lenovo M93p with the last version of bios (or the previous) , with ME 9.1 r7, it can read but it does not write (flash)
i get Error 280: Failed to disable write protection for the BIOS space!
is there anyone good enough with bios programing that can overcome this ?
this is the link for the NVME.bin modded bios as in this tutorial.
https://drive.google.com/file/d/1NjwguBBhuHRdIYObnhE3yV2HXZPIZ3E1/view?usp=share_link
mrman says
“if you or anyone could help with some tips or basic guidelines for achieving this on Linux”
The utilities are for Windows. I’d recommend temporarily installing Windows.
mrman says
“Error 280: Failed to disable write protection for the BIOS space”
You need to go back and carefully read the howto. You need to put the computer in ‘Sleep’ mode, then resume and it will work. If it doesn’t, let me know. I have an M93 that I can test on.
seddik says
Hi mrman
Thanks for your reply
Yes i tested this tutorial on the last release of windows 10, i did correctely all the steps mentioned in this tutorial -which BTW works fine for the m92p- including put on sleep and move the jumper to ME_DIS.
and i tried many times and i got the Error 280.
i tried to read about this and some people sayed that the lock is in the bios file it self, but anyway am not a informatitian 🙂
thanks for your help
Hi mrman
Thanks for your reply
Yes i tested this tutorial on the last release of windows 10, i did correctely all the steps mentioned in this tutorial -which BTW works fine for the m92p- including put on sleep and move the jumper to ME_DIS.
and i tried many times and i got the Error 280.
i tried to read about this and some people sayed that the lock is in the bios file it self, but anyway am not a informatitian 🙂
thanks for your help
mrman says
ME_DIS – I honestly forgot about this step. I believe I removed the ME_DIS jumper and put it on the PW reset. Try that.
mrman says
Or maybe the jumper is bad?
mrman says
Also, try Windows 7. That’s how I did it.
seddik says
Hello
Mrman, so you want me to put the jumper in Password write reset which is the CLR CMOS mode? therefore i should put it when the Pc is on otherwise he will never start the operating system.
thats clever, i will try it with windows 7 also.
Thanks
Mehmet S. says
Hello. O was just searching for bios dump for is6xm. I couldnt find it anywhere on the net for free. ?’d appreciate if you can share, no matter the bios versiyon. Chip is 8mb but original bios file on Lenovo website is only 2 MB and I think it is partial, not the whole. Thanks very much.
David says
I was the first one ever to perform this mod I got to say. Cool that its picked up this level of attention. Anyhow did not know lenovo had service pins that unlocked their bios for custom rom flashing. Always thought you needed a usb programmer. Good to know. Thanks.
Adrien says
Hello Paulie,
Thank you so much for your post! I’ve been able to reconfigure my M92p bios thanks to you.
To be noted, if I disable CSM then the unit won’t start. It’s not showing the startup screen nor can I enter the bios to reconfigure. I had to clear the BIOS many times…
With CSM enbled and Boot mode set to UEFI, the disk never appeared in the bios boot order configuration but I was able to boot from it using F12.
As, I’ve repurposed my M92p as a TrueNAS server. For TrueNAS to start in UEFI, I had to add an entry in the UEFI table using this command line (while booted on a Debian Live USB key) :
efibootmgr -c -d /dev/nvme0n1 -p 1 -L “Windows Boot Loader” -l ‘\efi\boot\BOOTx64.efi’
The dev and bootloader might depend on your configuration.
Again after that, the disk never appeared in the bios configuration but doing so my M92p starts directly from the NVME disk. Before the computer wouldn’t start from it without me hitting F12 and selecting the disk.
Last but not least, thanks to mrman comments for some usefull hints.
Ralf says
Great tutorial! Love it!
Tell me, would it be possible in the same way to add other UEFI drivers to the BIOS, let’s say a filesystem driver for a linux filesystem like btrfs-efi or those from the rEFInd project? I mean similarly to the HFS support on Macc?
nvme_mod_creator says
I think thats possible in same manner as nvme mod. Rufus creator has all those file system drivers I believe ready in ffs format ready for insertion. If they’re not and exist as efi they would have to be converted to ffs which is easy.
JLD says
Just wanted to thank you for this excellent tutorial. Was able to easily follow your clear instructions and now have an nvme M.2 ssd in my M92P. Worked a treat!
Nick_ says
Hi. I gave up trying on the m93. In the end I fitted my nvme and installed windows 10 from a pen drive (which found the nvme). The next step was putting clover on an old pen drive I had, putting that in a rear usb port, booting to bios, and changing that pen drive to first boot option. You can adjust how long clover waits before booting your default operating system or hit any key to load. Windows 10 loads in about 18 seconds including clover launching. The difference between nvme and hdd is astonishing. The good thing is that these thinkcentres come with windows pro licence built in so windows 10 pro is free.
Dreams says
Hi everyone…. writing back after a long time. Good News is that I have been able to install the NVMe drivers on Lenovo M72e model (Lenovo ThinkCentre M72e 3597). Only change I have done is that I did not update the BIOS to latest one. My previous trial with updated BIOS on the same model was preventing me from writing back the modified BIOS. After some tweaks in the BIOS settings, I was able to get the SSD recognized. Will share the BIOS settings shortly. Thanks to PAULIE for this great tutorial.
Jeffrey says
Hi Dreams,
I think your work is very important for the machine with BIOS wirte protect. Could you pelase share the detail configure to remove write protect? You t upload photos to here (https://imgbb.com/) then paste photo link in you answer.
Thanks
Jeffrey
BigK says
FYI – It worked on an Lenovo ThinkCentre M82.