Installing Windows 7 on an m.2 NVMe drive?

I have an Asus Sabertooth Z170 motherboard, with a Samsung 950 Pro m.2 NVMe drive on it. I've heard in the past that installing Windows 7 on an NVMe drive was a significant amount of work. Its now August 2016, is it still difficult? I've seen updates from Microsoft saying they've added support for NVMe in Windows 7.

Can I just download Windows 7 from Microsoft (https://www.microsoft.com/en-us/software-download/windows7) and put it on a USB drive and install?

Is it harder than that?


Solution 1:

Winaero posted a guide how to do this. You need to download the updates KB2990941, KB3087873, the NVMe driver from samsung and integrate them via DISM into your install.wim/boot.wim:

dism /Mount-Image /ImageFile:c:\temp\src\sources\boot.wim /Index:1 /MountDir:c:\temp\mount
dism /Image:C:\temp\mount /Add-Package /PackagePath:c:\temp\hotfix
dism /Image:C:\temp\mount /Add-Driver /Driver:c:\temp\drivers /Recurse
dism /Unmount-Image /MountDir:C:\temp\mount /Commit
dism /Mount-Image /ImageFile:c:\temp\src\sources\boot.wim /Index:2 /MountDir:c:\temp\mount
dism /Image:C:\temp\mount /Add-Package /PackagePath:c:\temp\hotfix
dism /Image:C:\temp\mount /Add-Driver /Driver:c:\temp\drivers /Recurse

Solution 2:

Here is an Intel (.PDF) that explains more.

I've used NTLite before and it's a great utility. But NTLite alone can't do all the mods needed to make a Windows 7 install DVD for this purpose. But I did use it to make the final ISO, after completing "Method 1" from the PDF.

I added in the recommended IRST and USB drivers from the .PDF using NTLite.

The modded Windows 7 install DVD booted and "saw" the NVMe PCI-E SSD without loading any other drivers.

Because of the use of the setup.exe from the Windows 10 ISO, the background of the installation was purple like Windows 10, but it really was Windows 7.

Windows 7 Pro x64 is now successfully installed from only the DVD on an Asus Z270-P motherboard with an Intel 6 series PCIe M.2 SSD.

www.intel.com/content/dam/support/us/en/documents/solid-state-drives/Intel_6_Series_PCIeNVMe_InstallGuide.PDF

Solution 3:

The latest generic NVMe driver available for Windows 7 SP1 and Windows Server 2008 R2 SP1 can be extracted from KB3125574 (Convenience rollup update).

Only 4 files are needed to have NVMe support in Windows 7 SP1 RTM / Server 2008 R2 SP1 RTM: stornvme.inf & stornvme.sys (this is the actual driver)
Classpnp.sys & storport.sys (stornvme.sys requires the updated version)

I was able to integrate those 4 files into WinPE 3.0 x64. Once booted into WinPE 3.0 with NVMe support, I have started the Windows 7 setup and it was able to install Windows directly to the NVMe disk - I have used the original Windows 7 SP1 / Server 2008 R2 SP1 installation media (mounted from a network share).

The Windows 7 setup detected the stornvme.sys driver used by WinPE and copied it to 'C:\Windows\system32\drivers'.

After the copy phase of the setup finished ('setup.exe /noreboot' is helpful) I had to copy the updated Classpnp.sys & storport.sys to 'C:\Windows\system32\drivers'.

And that's it - both Windows 7 and Server 2008 were able to complete the installation directly to the NVMe drive.

This is the script I used to create WinPE 3.0 x64 with NVMe support (You will need the Windows 7 Automated Installation Kit):

Dism /Mount-Wim /WimFile:"C:\WinPE_amd64\winpe.wim" /index:1 /MountDir:"C:\WinPE_amd64\mount"
Dism /image:"C:\WinPE_amd64\mount" /Add-Driver /Driver:"C:\Drivers\NVMe\Windows 7 x64" /ForceUnsigned
copy "C:\Drivers\NVMe\Windows 7 x64\Dependencies\Classpnp.sys" "C:\WinPE_amd64\mount\Windows\System32\drivers\Classpnp.sys" /y
copy "C:\Drivers\NVMe\Windows 7 x64\Dependencies\storport.sys" "C:\WinPE_amd64\mount\Windows\System32\drivers\storport.sys" /y
Dism /Unmount-Wim /MountDir:"C:\WinPE_amd64\mount" /commit
move "C:\WinPE_amd64\winpe.wim" "C:\WinPE_amd64\ISO\sources\boot.wim"

oscdimg -m -o -u2 -udfver102 -bootdata:2#p0,e,bc:\WinPE_amd64\etfsboot.com#pEF,e,bc:\WinPE_amd64\efisys.bin c:\WinPE_amd64\ISO c:\WinPE_amd64\winpeuefi.iso
  • Note that support for both BIOS and UEFI was added.

  • Note: The 'C:\Drivers\NVMe' content is as follows:

    C:\Drivers\NVMe\Windows 7 x64\stornvme.inf
    C:\Drivers\NVMe\Windows 7 x64\stornvme.sys
    C:\Drivers\NVMe\Windows 7 x64\Dependencies\Classpnp.sys
    C:\Drivers\NVMe\Windows 7 x64\Dependencies\storport.sys

You can download the final WinPE 3.0 x64 with NVMe support ISO from here: