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.

Tip: Here's how to tweak your PC to ensure top performance for a specific type of task, be it gaming, document work or something else.

  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.

Driver Updater

24 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.

    Reply
  2. Tommy

    Worked wonderfully. Thanks for the write up!

    Reply
    1. Sergey Tkachenko Post author

      You are welcome.

      Reply
    2. joseph capobianco

      i’ve tried this method. i’ve unzipped the original iso in the c:\iso\win7 folder, i’ve unzipped the packages in c:\packages
      i read the WIM file, i mont the .wim image. then i add the packages (i don’t understand why the program write in the unpack folder), when i finish the work. i don’t know how to create the iso file. i’ve the putt all the content of the win7 folder in a new iso file ?

      can someone explain it to me ?

      Reply
    3. joseph capobianco

      does this command unmount the WIm and create the iso ?

      Dism /Unmount-WIM /MountDir:C:\ISO\unpacked /Commit

      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

    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.

    Reply
  5. Raymond

    This will let Windows see the drive, but you would still have to F6 the drivers for your brand of NVMe

    Reply
  6. John H

    If the article specified that those DISM commands should ALSO be used to inject these hotfixes into the boot.wim file (Index #2), then the Windows Setup application would be able to see NVMe SSDs without the need for manually supplying drivers during Setup.

    Reply
  7. TearRel

    Doesnt work for me – device driver still missing.

    Reply
  8. bildmacher

    this will NOT work.
    You have to do this for the BOOT.WIM also
    for BOTH of the included images 1 and 2 !

    Reply
  9. Julius

    For me, installing Windows 7 Professional x64, it had to be;

    Dism /Mount-WIM /WimFile:C:\ISO\Win7SP1\sources\install.wim /Name:”Windows 7 PROFESSIONAL” /MountDir:C:\ISO\unpacked

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

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

    Reply
  10. Mervyn

    I tried all of this after adding USB 3 support to the install media. I injected both items into both sections of boot.wim & the ultimate section of install.wim. What I then found is the usb 3 driver problem rose it head again! Reinstalling the usb 3 drivers did not solve the problem, I had to start over!
    So to recap, I can get past the usb 3 driver problem, but as soon as I use this advice to install SSD support I cannot get past the screen asking for CD/DVD drivers, to get to see if Install programme can recognise the SSD!

    Reply
  11. Jack

    Can you tell me how do I do this in Ubuntu? It doesn’t have CMD, so I can’t type “Dism /Get-WIMInfo /WimFile:C:\ISO\Win7SP1\sources\install.wim”

    Reply
  12. Robert

    OK, after trying MILLIONS of ways to get W7 installed on my Samsung NVMe drive, I found that MSI has the only working solution for me, and it is mega simple !
    You will need:
    – MSI W7 Smart tool
    – W7 iso file
    Fucking simple.
    Simply run the MSI W7 Smart tool, select the W7 iso file, select to add USB, NVMe and iRST drivers.
    Then select your USB target flash drive.
    MSI then makes a bootable USB disk with NVMe drivers.

    All the fucking bullshit I had to do for fucking 2 days trying to install W7 on this Samsung 950 drive.
    Nobody except for MSI decided to make this simple tool, Not Intel, with their incomprehensible technical note, not Microsoft who should have included the NVMe drivers standard in the downloadable W7 iso.

    I guess that MS tries to make this stuff as difficult as possible, so ppl will not try to install W7 anymore. So, I think MS is telling everybody that they are not allowed to use the NVMe drivers or whatever. In fact, the Reddit poast about this subject has a not working link to the Samsung drivers.
    Anyway, I might have gotten a bit crazy, because how on earth is it possible that such a small missing driver can cause such problems, and so many post on internet with EXTENSIVE DIFFICULT explanations, all not working. (except for the solution of MSI, which is childish simple)
    My next mobo will be MSI, not Asus.

    Reply
    1. RW33

      I want to thank Robert for pointing me in the right direction. It truly was the most simplest streamlined solution. Especially since Samsung has forsaken Windows 7 install (the only drivers I could find were executable and could not be extracted. Not ideal for Preinstall environments! for shame Samsung!)

      Reply
    2. Buddy

      Wish this can be upvoted. +rep my dude and shot to MSI for making that tool.

      Reply
    3. HugoMo

      I wanna thank you, i really do, i was strugling with this for over a month now, i have a WD Black NVME and i downloaded 10 iso of windows 7 i think, looking for one with nvme drivers and usb 3.0.
      Its f… simple as using that tool!! OMG Thanks Man!

      Grettings from Bolivia, im sorry for my english.
      Thanks.

      Reply
    4. Charles

      Thank you Robert. I was trying the dism commands above and they did not work for me. The MSI Smart Tool is fucking awesome. I primarily needed the nvme driver so I could install Windows 7 on my Samsung 960 EVO. Thanks again for your help!

      Reply
    5. tried everything

      Robert, your post was exponentially more helpful than the article itself. Thank you!

      Reply
  13. Compiller

    Asus already have utility for this Asus EZ Installer (newest version is available for Z370 chipset mb)

    Reply
  14. Compiller

    There is another universal utility – Windows Download Integrator

    Reply
  15. Jack

    Good job! I used the MS patches to install drivers on an existing Win7.
    Only site I found that helped.

    Reply
  16. zorg

    a very big thank you for you man you saved my day !!!

    Reply

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.