Sandy Bridge-era motherboard gets M.2 SSD boot support 12 years after launch

71 mobilio 39 5/7/2025, 12:14:27 PM tomshardware.com ↗

Comments (39)

rfv6723 · 12h ago
You can boot an OS on NVME drive from another bootloader on a USB drive.

I have been using CloverBootloader for years.

https://github.com/CloverHackyColor/CloverBootloader

Calwestjobs · 11h ago
or KEXEC from linux kernel.
rwmj · 9h ago
Kexec is fine but I think the NMBL folk (https://fizuxchyk.wordpress.com/2024/06/13/nmbl-we-dont-need...) found that some hardware doesn't really like being initialized by the kernel twice (or by two different kernels if you prefer). This hardware or the drivers is written to assume that the kernel only boots once between resets.
oakwhiz · 4h ago
Kexec is amazing when this doesn't happen to you
Calwestjobs · 8h ago
How Clover deals with that ?

Im not sure about initializing twice problem, sounds more like FUD to me. it is possible to leave computer as is for next kernel even with "whole memory allocation intact". maybe problem for "soft restart", but not for using linux as bootloader providing NVME boot capability usecase.

you can literally tell linux kernel - make my cpu XYZ look like cpu ABC... and everything works fine. [this was possible even before AI chatbots were a thing (ai joke sorry)]

hedora · 11h ago
It's cool they issued a new BIOS. I have an extremely similar (but older, I think -- it is the first gen of boards that support EFI) Gigabyte motherboard, and the community hacked in support for M.2 boot (with a PCIe adapter passthrough board) maybe 5 years ago.

I only looked into this because I had to upgrade the video card (NVidia's drivers go obsolete way before the hardware), and the new video card wouldn't post without a new BIOS. Gigabyte had issed one even though the motherboard was ten years old. I thought about going the NVME route, but didn't bother. The video card higher priority.

I even ran stable diffusion on a machine like that one, but a few years newer (with a covid-era video card).

eqvinox · 12h ago
Reminds me of editing NVMe support into my Supermicro X9DR7-LN4F server mainboard (Sandy/Ivy Bridge) I have at home. It involved "unpacking" the 'BIOS' (UEFI) image, adding an NVMe module that was published somewhere (I think it was actually generic, as in plain UEFI and not specific to the BIOS vendor, AMI in this case), repacking it, and then flashing it on the mainboard (with clenched buttcheeks — I'm not sure this board has a recovery mode…)

(It works perfectly to this day.)

It's a little sad that Supermicro didn't do this at their end, it's maybe an hour of work, two with testing…

> inclusion of the NVMe DXE trifecta (Nvme, NvmeSmm, NVMEINT13)

Now that I think about it, this sounds very much like what I threw into the X9DR7-LN4F BIOS image.

Ed.: apparently these are the files I used, though I cannot dig up how or where I did this :)

  -rw-r--r--   1      41917 May 28  2020 P-X9DR7-E-LN4F_BIOS_3_3_release_notes.pdf
  -rw-r--r--   1   30493975 May 28  2020 FD12LITE.zip
  -rw-r--r--   1   16293994 May 28  2020 Aptio_V_AMI_Firmware_Update_Utility.zip
  -rw-r--r--   1     818096 May 28  2020 UEFI_Shell_Spec_2_0.pdf
  -rw-r--r--   1    2104626 May 28  2020 AMIBCP 4.53.zip
  -rw-r--r--   1    5910147 May 28  2020 UEFITool_v0.27.0.rar
  -rw-r--r--   1      10665 May 28  2020 NvmExpressDxe_4.rar
  -rw-r--r--   1     404236 May 28  2020 MMTool 4.50.0.23.zip
  -rw-r--r--   1    6150536 May 28  2020 Aptio_4_AMI_Firmware_Update_Utility.zip
(…10kB compressed for the actual NVMe DXE…)

    ..A....     20832  2018-04-18 00:00  NvmExpressDxe_4.ffs
os2warpman · 12h ago
I take the even riskier route.

Frankenstein motherboards direct from Shenzhen with recycled parts and features that didn't exist at the time that allow me to strip out high core count Xeons and max-capacity ECC DIMMs from servers being tossed at work and shove them in standard mATX/ATX motherboards in tiny quiet cases at home for my homelab.

Plus, the recyclers add in NVMe boot support (and M.2 slots) at the factory!

myself248 · 10h ago
Now that's intriguing. I presume you underclock/undervolt them or something to keep the thermals reasonable without jet-engine-level fans?
Calwestjobs · 10h ago
you need to underclock/undervolt for motherboard to handle energy flowing into it.

big desktop cooler for example Corsair A115 can cool 250W TDP under 40db

for sandy bridge XEONS - 2/3 of CPUs were under 100 w TDP, all of them were under 150W TDP

ahartmetz · 8h ago
Well, that sounds fun. Do you find these boards on AliExpress?
Teever · 7h ago
Do a search for x79 and x99. Or the socket type of your preferred xeon chip.

People recommend the machinist brand motherboards. I've had good experience with the Killrser (typo) brand.

At the prices you see it seems too good to be true but those xeon CPU/motherboard/ram kits are the real deal. It's mind blowing buying a Xeon processor for the price of a cup of coffee.

If you live in an area with low electricity costs, or a cold climate where the computer ends up heating your house it's a hell of a deal.

Check out YouTube for reviews and gaming benchmarks on these systems too.

remlov · 12h ago
I did something similar, I patched a Gigabyte Z77-DS3H bios with the SAMSUNG_M2_DXE module to get a Samsung SM951 AHCI M.2 SSD working. It's not SATA and not quite NVMe, PCIe AHCI existed for a short while before NVMe became ubiquitous.

This was to enable a screamer of a Hackintosh based on Mavericks which didn't have native NVMe support at the time.

eqvinox · 12h ago
> not SATA

> PCIe AHCI

…AHCI is the SATA controller standard, how and why did they put in extra effort to make it not work?!? (I'm not questioning they did in fact break it, it's in line with other dumb things HW vendors do… just… ugh!)

toast0 · 10h ago
Well m.2 sata would be using one lane as sata with an ahci controller elsewhere (probably embedded in a chipset or cpu).

PCIe AHCI have the controller on the m.2 device, maybe better than sata speeds? But I think to boot from an unexpected AHCI controller you might need a boot rom? And why would you put a boot rom on a device that's all about storage?

wtallis · 4h ago
> But I think to boot from an unexpected AHCI controller you might need a boot rom?

The whole point of AHCI was that you wouldn't need a boot ROM. You already have firmware support for talking to an AHCI controller to find drives and locate an operating system, because that's how the system boots off the built-in SATA ports. The firmware modules required to do the same with an AHCI add-in card are the firmware modules you're already using, so the add-in card doesn't need to bring them along in an option ROM. Same for drivers in the OS.

Most likely, the motherboards in question simply never implemented code to probe for any other AHCI devices beyond the built-in one, and would have been equally unable to boot from an AHCI controller card providing more SATA ports.

remlov · 10h ago
Definitely was faster than standard SATA but nowhere near NVMe potential. It still came with all the AHCI warts as AHCI was optimized for spinning disks and had 32 commands per queue, while NVMe supports up to 64,000 and so on and so forth. The major limiting factor was utilizing SATA-based command structures over PCIe.
remlov · 10h ago
My guess is at the time it was a familiar protocol stack which apparently made it easier to retrofit legacy systems before NVMe? AHCI was already well-supported across major OSes then (Windows, Linux, macOS), but UEFI firmware still needed to understand this abomination.
Calwestjobs · 11h ago
yes, it can flash new "bios" from USB in case of bad update. this function is inate to intel "chipset" so every motherboard with direct to "chipset" connected usb port can recover bad update.

but you need to have usb flashdrive connected for long time, like 5 minutes or so, after powerup, without leds blinking so it can be scary / confusing.

fat32 formatted drive.

eqvinox · 9h ago
good to know, luckily I didn't need it :)

I'm not sure any of this is possible nowadays, I'm assuming a modified BIOS/UEFI image would be rejected due to missing some vendor signature…

Calwestjobs · 7h ago
i can not comment on icelake or newer. but i can say a lot of insane ↕ things can be found on russian / chinese forums.
Nexxxeh · 11h ago
I followed a tutorial a couple of years ago to add NVMe support to an ASUS MAXIMUS VII GENE. Worked great!

(I think it was this one: https://winraid.level1techs.com/t/howto-get-full-nvme-suppor... Also praise be to Level1Techs and ArchiveTeam I think for rescuing it along with the rest of Win-Raid)

accrual · 13h ago
Always cool to see old boards learn new tricks. I thought for a second "wait, my Thinkpad X230 from 2012 can boot from M.2" but then I remembered it has mSATA, not M.2.
muziq · 7h ago
Could stick a drive on an ExpressCard to NVMe adapter.. I’ve got one in mine, I don’t boot off it, but I believe it can.. Runs a bit warm, but it’s been powered up and running 24/7 for 2 years with no issues..
Dwedit · 11h ago
Way way back, there were hard disk size limitations that were really only software limitations rather than hardware limitations. So there were tools that could install themselves to the boot sector of the drive, and provide support for larger hard disks by replacing the BIOS's disk access functions.

There's the 504MB or 2GB limit that was removed by using EZ-Drive, and the 8GB limit that was removed by using EZ-BIOS.

ahartmetz · 8h ago
I managed to boot Linux from a multi-GB drive in a Siemens 486, years after the 486 era. There was a BIOS update to IIRC fully support somewhat (several times) larger disks than the original version and at least not choke on even larger ones. It allowed to boot Linux from a low position on the disk, and Linux had no trouble at all using the full size of the disk.
fithisux · 14h ago
The issue here is the lack of open documentation of chipset, device providers.

The end user is hostage.

We talk about AI/smartphones whatever

but the devices are not open or smart.

doublerabbit · 12h ago
nor are the users 95% of the time.
claudex · 12h ago
I'm concerned that you want to open users /j

No comments yet

lotharcable · 5h ago
Board firmwares are full of copy-paste and code lifted from other devices that is never intended to get used and is supposed to be disabled by default.

I wouldn't be surprised if this was 100% by accident.

jeffbee · 13h ago
It is weird how the article freely confuses M.2, a physical expansion card form factor, with NVMe, a logical peripheral device interface. The motherboard obviously did not gain M.2 slots after the fact, even as the article points out that it has always been possible to use adapters to put M.2 devices into any PCI slot, and there have always been NVMe devices in the larger card form factors. What the platform gained from its new software is NVMe support.
sjsdaiuasgdia · 13h ago
"Notably, Gigabyte has seemingly updated the 13-year-old B75M-D3H motherboard to support booting from NVMe SSDs, like M.2 SSDs, a previously unavailable functionality."

"An analysis of the F16f firmware using UEFITool reveals the inclusion of the NVMe DXE trifecta (Nvme, NvmeSmm, NVMEINT13), which is essential for booting from NVMe drives, like M.2."

"The motherboard features one SATA III and five SATA II connectors for storage, explaining its initial lack of support for booting from NVMe drives. Nonetheless, users can employ M.2 to PCIe adapters, allowing M.2 drives to connect with the motherboard via its expansion ports."

The article says NVMe before it says M.2 for every sentence where M.2 is mentioned. Every time, it's using M.2 as an example of NVMe storage. Given M.2 is the most common format most consumers experience for NVMe storage, this seems sensible.

This criticism seems like it's intended for a different article that didn't make the effort to be clear. This one made the effort.

jeffbee · 12h ago
cstrahan · 10h ago
Figured I'd provide the old version of those examples from above in the thread.

Here are the NEW sentences again, for convenience:

"Notably, Gigabyte has seemingly updated the 13-year-old B75M-D3H motherboard to support booting from NVMe SSDs, like M.2 SSDs, a previously unavailable functionality."

"An analysis of the F16f firmware using UEFITool reveals the inclusion of the NVMe DXE trifecta (Nvme, NvmeSmm, NVMEINT13), which is essential for booting from NVMe drives, like M.2."

"The motherboard features one SATA III and five SATA II connectors for storage, explaining its initial lack of support for booting from NVMe drives. Nonetheless, users can employ M.2 to PCIe adapters, allowing M.2 drives to connect with the motherboard via its expansion ports."

And here are the OLD:

"Notably, Gigabyte has seemingly updated the 13-year-old B75M-D3H motherboard to support booting from M.2 NVMe SSDs, a previously unavailable functionality."

"An analysis of the F16f firmware using UEFITool reveals the inclusion of the NVMe DXE trifecta (Nvme, NvmeSmm, NVMEINT13), which is essential for booting from M.2 drives."

"The motherboard features one SATA III and five SATA II connectors for storage, explaining its initial lack of support for booting from M.2 drives."

whalesalad · 13h ago
is it not in the title? boot support ?

even if you populate a pcie card with nvme drives a lot of platforms won't let you boot from it.

cstrahan · 10h ago
The article received a ton of edits since it was first posted.

See this comment: https://news.ycombinator.com/item?id=43915500

And see my comment with examples of edits below that.

Calwestjobs · 13h ago
Who cares, people still use bootloaders in era of UEFI (uefi can directly call your freaking kernel), so this is like throwing pearls to pigs.

But it is awesome that there is community of people who are interesting enough in this stuff to find these things out.

tyami94 · 9h ago
The ROMs on these old boards typically don't have the driver needed to speak NVMe. Can't load your kernel if the UEFI doesn't know how to talk to your drive. This patch adds a driver to the ROM that allows it to natively access NVMe drives as block devices, solving the problem. Newer boards don't have this issue since nowadays it's standard practice to embed NvmExpressDxe or a similar driver from the factory.
Calwestjobs · 7h ago
yes. similar as with ZFS, iSCSI Target,...

or they ship with coreboot which can have final linux kernel payload without shims or kexec.