How to install Windows 7 on a PCI Express (NVMe) SSD

If you try to install Windows 7 on an SSD disk which is connected via the PCI Express bus (NVMe), you might face the issue that the drive is not presented in the Setup program. Due to this behavior, it is not possible to install the Windows 7 operating system on such hardware. Here is the solution.

nvme windows 7

Most modern PCs come with SSDs which are use either SATA (AHCI) or NVM Express. They use a SATA connector if using SATA, otherwise the connector may be different depending on the form factor - in a desktop PC, they go into the PCIe slot, in an ultrabook, they use the M.2 connector. But Windows 7 was only designed to work with SATA disks. It was Windows 8.1 which first got support for NVMe. Thankfully, Microsoft has released an update with native drivers for Windows 7 which add NVM Express support.

To fix the problem of not being able to install Windows 7 on an NVMe SSD, the first step you should take is download KB2990941 and KB3087873 patches. After that, you can rebuild the installation media and integrate the updates into it. These updates also enable TRIM support for your NVMe SSD!

Do the following.

  1. Download patches using the following links:
    KB2990941
    KB3087873
  2. Suppose you download the packages (MSU files) to C:\packages
  3. Copy all the files from Windows 7 SP1 setup media (ISO/DVD/USB) to a folder, let's say it will be C:\ISO\Win7SP1.
  4. Open an elevated command prompt.
  5. At the elevated command prompt, type the following command:
    Dism /Get-WIMInfo /WimFile:C:\ISO\Win7SP1\sources\install.wim

    It will show you the indexes of the images contained in the WIM file. Note the edition of Windows 7 for which you have the product key and its appropriate index. Suppose for example, you are using Windows 7 Ultimate.

  6. Type the following command to mount the offline Windows image.
    Dism /Mount-WIM /WimFile:C:\ISO\Win7SP1\sources\install.wim /Name:"Windows 7 Ultimate" /MountDir:C:\ISO\unpacked

    This command will mount the Windows 7 SP1 Ultimate edition files to the folder C:\ISO\unpacked. The folder must exist on your system, otherwise correct the path.

  7. Type the following command to integrate KB2990941 for Windows 7 64-bit
    Dism /Image:C:\ISO\unpacked /Add-Package /PackagePath:C:\packages\Windows6.1-KB2990941-x64.msu

    For 32-bit Windows 7, type the following command

    Dism /Image:C:\ISO\unpacked /Add-Package /PackagePath:C:\packages\Windows6.1-KB2990941-x86.msu

    Correct the file paths and file names as necessary. I used the actual paths and file names on my computer as an example.

  8. Now, type the following command to add the KB3087873 package to the image. Do it as follows.
    For 32-bit Windows 7 SP1, execute this command:

    Dism /Image:C:\ISO\unpacked /Add-Package /PackagePath:C:\packages\windows6.1-KB3087873.msu

    For 64-bit Windows 7 SP1, execute this command:

    Dism /Image:C:\ISO\unpacked /Add-Package /PackagePath:C:\packages\windows6.1-KB3087873.msu

    Again, correct the file paths and file names as necessary. I used the actual paths and file names on my computer as an example.

  9. Once this is done, type the following command to commit the changes and unmount the image.
    Dism /Unmount-WIM /MountDir:C:\ISO\unpacked /Commit

You are done. Now you can use the updated WIM file to install Windows 7. Now it will be possible to install it on PCI Express (NVMe) SSDs.

5 thoughts on “How to install Windows 7 on a PCI Express (NVMe) SSD

  1. Miki

    No, it does not work. Computer simply won’t boot from it running Windows 7.

    Like or Dislike: Thumb up 1 Thumb down 0

    Reply
  2. Tommy

    Worked wonderfully. Thanks for the write up!

    Like or Dislike: Thumb up 0 Thumb down 0

    Reply
    1. Sergey Tkachenko Post author

      You are welcome.

      Like or Dislike: Thumb up 0 Thumb down 0

      Reply
  3. mark

    did not work for me , it could be my cosair force mp500 ssd as their website shows it is for win10 OS

    Like or Dislike: Thumb up 0 Thumb down 0

    Reply
  4. Benjamin

    Worth noting that you also need a motherboard with a BIOS that can see NVMe PCI drives at boot time – and offer them as a boot option. Not all motherboards do. Many manufacturers are only including this functionality on new mobos rather than offering updated BIOS firmware for older mobos.

    Like or Dislike: Thumb up 0 Thumb down 0

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *