Mitigating driver issues during Windows 7 installation

Within productive corporate environments Windows 7 is still the preferably used Windows version since its successors come along with quite a few downsides. While Windows 7 is able to operate quite well even on progressive hardware the installation process is generating more and more trouble due to unsupported devices. Issues are mostly caused by unsupported storage devices, making it seem nearly impossible to install Windows 7 on some systems. Loading additional drivers at the beginning of the installation process is also likely to fail in most scenarios. The search for a way to install Windows 7 on a Intel Skylake platform featuring a Samsung SM951 M.2 NVMe as its solely storage device led me to the following solution, that most likely will solve many similar issues.

The basic idea behind this is the utilization of the Windows 10 installer to install a Windows 7. This might sound like a very bulky way, but is actually quite easy and straight forward to achieve. However, you will need both a Windows 7 and a Windows 10 image to get started. Each image actually internally comprises two Windows images, one contains a minimal set of features and acts as the installer (/sources/boot.wim), while the second one is the one being copied to the target device (/sources/install.wim). Since the installation process seemingly did not change much since Vista the possibility of combining different installer and target images should now become obvious. Depending on the source of your Windows image, they might come in different formats. Take a look into the /sources folder of your image to determine whether it already contains the desired /sources/boot.wim and /sources/install.wim files. If you find the image to come along in any other format you will first need to convert it into .wim images. This can simply be done using Rufus [1] to copy the image to a USB flash drive, which is in case of the Windows 7 most likely desired anyway. Rufus will automatically convert the image to the .wim format and the files may then be copied from the USB drive. Now simply take the /sources/boot.wim and /sources/setup.exe from the Windows 10 drive and replace the corresponding files on the Windows 7 USB flash drive. That’s it!

While this approach will solve most driver issues during the installation itself it might be necessary to take further measures in order to obtained a working Windows 7 installation in the end. Booting after the installation might still fail if drivers are not existent. Therefore you need to carefully evaluate which additional drivers you want to include into your Windows 7 image to get a properly booting system. In the specific case that was investigated NVMe support had to be added to the Windows 7 image. Integrating the .msu packages can be done using the free version of ntlite [2]. Microsoft provides NVMe support through KB2990941 [3] and a corresponding bugfix KB3087873 [4]. Additionally it might be advantageous to further include KB2685811 [5] and KB2685813 [6]. This provided a fully working Windows 7 system and a seamless install experience.

[1] https://rufus.akeo.ie/
[2] https://www.ntlite.com/
[3] https://support.microsoft.com/en-us/kb/2990941
[4] https://support.microsoft.com/en-us/kb/3087873
[5] https://www.microsoft.com/en-us/download/details.aspx?id=38423
[6] https://www.microsoft.com/en-us/download/details.aspx?id=38421

This article is licensed under CC BY-NC-SA 4.0