Hacker News new | past | comments | ask | show | jobs | submit login

This is a really interesting approach, as embedding into an option ROM means you could potentially flash it into a modded BIOS.

My preferred method to boot NVMe on a legacy system though is to boot tianocore UEFI with an NVME module in it[1]. This is a UEFI firmware that you can chainload from a legacy bios. Extremely good compatibility this way, and a great option for any system with an unused usb header.

1: https://winraid.level1techs.com/t/guide-nvme-boot-for-system...




> you could potentially flash it into a modded BIOS

Indeed you can [0]. I have a Supermicro X9DRi-LN4F+ booting from an NVMe drive in a PCIe adapter, works great.

[0]: https://winraid.level1techs.com/t/howto-get-full-nvme-suppor...


I knew that you could boot an "EFI bios" from experience with rEFIt from my time as a Mac Admin, so when I got my rEFInd USB drive working with a NVME drive on a pci-e adapter I was ecstatic until a month later when the USB drive failed and I forgot everything I had done.

Make backups of that USB drive or yeah it would be super cool if you could leverage the bios chip on a motherboard.


Yeah, I have one of the rare old laptops (HP ZBook G2) that has a PCIe M.2 slot for storage drives, but no support for NVMe booting.

This means that the only M.2 drives it’ll boot from are non-NVMe PCIe drives, which were actually made as an HP OEM part (Z Turbo Drive) for this specific model of laptop, but are otherwise nonexistent.

It would be really nice if I could somehow add NVMe support to the laptop’s UEFI, but AFAIK there are no existing solutions for this, other than chainloading from a second drive.

The subsequent model (ZBook G3) actually does support NVMe, but HP never backported that support to the G2/G1 (of course, according to them, if you simply use the specified OEM parts there’s no problem…). Oh well, 2.5” SATA drives work just fine for such an old beast.


Definitely an interesting problem.

If you're interested in going down the rabbit hole, some light googling suggests that HP uses an AMI BIOS. You might be able to mod it: https://winraid.level1techs.com/t/howto-get-full-nvme-suppor...


> the only M.2 drives it’ll boot from are non-NVMe PCIe drives

This is not as rare, there were some drives which are logically seen as a PCI AHCI device (aka SATA controller). It is also possible to directly use actual SATA signaling in M.2 socket. This was way more common, and has a slightly different key position in the connector so it is easy to see visually. However I find it more likely it is a NVMe driver but with the proper option BIOS that makes it bootable.


Yes, you are correct that they are PCIe AHCI drives. Looking on eBay again, they are only available as the aforementioned HP (or Lenovo) OEM parts directly from China (so you can’t really know if they aren’t fake), and they’re very overpriced (around €50 for a 256GB drive, which is the only available size).

Contrast this to NVMe drives, which are ubiquitous and cheap.

The laptop unfortunately doesn’t support M.2 SATA, but it does have a regular 2.5” SATA bay, so that’s what I’m using (it still has the OEM drive from the factory :))


Note that if you are 100% sure it is an PCIe AHCI drive, an PCIe NVME drive with the correct option ROM will also work, and be bootable. The first NVMe drives all had working option ROMs; you can google around and you'll find people compiling lists.


Ah, that's interesting. Perhaps if I get around to upgrading some other parts, I'll take a look at that too. Thanks!


I was pretty astounded this wasn't part of the standard. When did they make these, and was it common?


I know for sure the Samsung 950 Pro has a working option ROM, and it was pretty common at the time. The successor apparently doesn't have it but I don't know that for sure.


> My preferred method to boot NVMe on a legacy system though is to boot tianocore UEFI with an NVME module in it[1]. This is a UEFI firmware that you can chainload from a legacy bios.

If you already have UEFI, but no NVMe support all you need to do is boot into a UEFI shell-script (it’s a thing) which 1. loads a NVMe module (which you’ll need to provide, get it from tianocore), 2. does a device probe and 3. chain boots from the NVMe drive.

It’s not too much work to get going, barely a few megabytes and any old USB stick you have should make do without causing the USB stick to wear out because it won’t have to endure bootloader updates in the booted OS (which may happen if you put your whole /boot on the USB drive).


It looks like the formatting in the post got broken when level1techs migrated their forums from a different platform? I'm seeing strings of sequential numbers (intended as line or ordered-list numbers?) prior to a block of code with some lines blank.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: