Installing Windows 7 on a Skylake laptop

When Intel Skylake systems debuted some time ago, people were quick to notice that attempts to install Windows 7 on such systems often encounter considerable difficulties. If you install using the oldschool method (from a DVD drive), the installation itself will work, but USB keyboard and mouse do not respond during it, so unless your computer has a PS/2 port (or ports), you are stuck. Things are even worse if you try to install from a USB flash drive (a method that is becoming more and more common now that most laptops, and many desktops, are shipped without an optical drive at all). In this situation, the installation will not work at all, claiming that appropriate drivers are not present.

Fans of conspiracy theories and screaming headlines went as far to suggest that this is a result of a conspiracy between Microsoft and Intel, to push people to abandon Windows 7, and move to Windows 10. At first glance it can seem plausible, since Microsoft never made it a secret that it wants everyone to move to Windows 10 as soon as possible. However, between that, and deliberately removing support, there is a thick line, and this line has not so far been crossed. The truth is simpler:

  • In the Skylake platform Intel completely removed the USB 2.0 (EHCI) controller, leaving only the USB 3.0 (xHCI).
  • The installation media for Windows 7 does not include drivers for any USB 3.0 controllers, which would allow it to install over a USB 3.0 port. Back when Windows 7 was released, such controllers were not yet mainstream.

One can theorize why Intel decided to remove USB 2.0 exactly now, or why Microsoft, which was certainly aware of this issue ahead of time, did not release an updated installer. People who insist in seeing conspiracies everywhere will, undoubtedly, see one here, but the point is that anyone who talks about “Microsoft / Intel removing support for Windows 7 from Skylake” is plain wrong. Nothing was removed. It was just not there to begin with, and no one bothered to specifically add it.

So, Win7 does not support Skylake out of the box, but this support can be added. Workarounds exist for every issue that can be encountered in the process of installing and setting up Win7 on a Skylake system, and the rest of this article will attempt to document these issues and workarounds. The information was collected from various sources and verified personally by me, through the experience of installing Win7 on a friend’s laptop. During the process it felt like we hit every single issue that could possibly be hit, so I hope that in the end, the information here will suffice for almost any scenario.

The laptop in question originally came with Win10 installed, but the owner, for a variety of reasons, did not want to keep it, and preferred to install Win7, for which he had an existing retail DVD. He had no idea, though, what adventure he would have to go through to get it up an running. I have a feeling the if he had, he may have reconsidered. 🙂

Step 1: Prepare USB installation media

As the laptop did not have a DVD drive, a USB-based installation was required. This is pretty standard practice these days. First, a USB drive, large enough to contain all the files on the installation DVD (probably 8GB+), is made bootable, and then the contents of the DVD is copied onto it.

At this point, I will skip ahead a bit, and mention that if you want to install Win7 in UEFI mode, you should probably have the USB drive is formatted as FAT32 (the instruction above suggests NTFS). This is because most UEFI installations cannot be started from a NTFS-formatted drive, although lately NTFS boot support has been added to some flavors.

Step 2: Choose UEFI or Legacy BIOS installation mode

Modern computers have replaced the legacy BIOS firmware with UEFI firmware, which has many more capabilities. For compatibility with older operating system, a UEFI firmware can emulate legacy BIOS behavior.

Win7, like most modern operating systems, can operate in either mode, but the mode has to be chosen during the initial installation. One advantage of UEFI mode is support of the modern GPT partition table format (which is necessary to support 3TB+ hard drives). In legacy BIOS mode, the operating system drive must be partitioned in the older MBR format.

Most OEMs have moved to UEFI, and consequently GPT in all modern systems, regardless of whether 3TB+ drives are used or not. There is little reason not to use UEFI and GPT on a freshly installed modern system. However, it requires that the installation media is prepared in a way that supports UEFI.

Step 3: Inject USB 3.0 drivers into installation media

The USB installer, which was prepared in Step 1, booted successfully (depending on your system, you may need to tweak the BIOS boot order for it to boot from the USB drive first), but could not start the actual installation, complaining about missing drivers, as expected.

The fix involves injecting the appropriate USB 3.0 controller drivers into the installation media. The process has long been documented, but the typical home user would probably only need to do it in extreme situations, such as this one.

Intel issued a utility for updating an existing installation image with the necessary drivers. The utility must be pointed to the USB drive which we want to install from. After the process is complete, you will be able to start the Win7 installer from a flash drive connected to a Skylake USB 3.0 port!

Step 4 (Legacy BIOS install only): Convert disk to MBR

You may not be out of the hot water yet. If from some reason the destination drive was partitioned in the GPT scheme, and you wish to install Win7 in legacy BIOS mode, it will not be able to install itself onto any partition on your drive (it will clearly state that GPT is the reason). The drive must be repartitioned as MBR. One way to do so is to boot an external utility (such as GParted), and do it from there. However, it is not necessary, and can be done using Windows’ built-in diskpart utility, from within the installer itself.

A little known feature of any Windows OS installer, which has been around since at least Windows 2000, is the ability to open a command prompt during the installation process. To do so, simply press Shift+F10. From there, follow the instructions to convert the disk to MBR. Note that all data on the disk will be deleted.

Step 5: Post-install drivers

You are likely to find that even after Windows installs, the difficulties do not end. Win7 does not have any built-in drivers for USB 3.0 controllers. The process described above only injects them into the installer, but the installer does not transfer them to the installed OS, silly as it may sound. This means that all your USB ports are likely do be non-functional, so you should download them either from Intel’s site, or from the laptop manufacturer’s site. However, you will also, almost certainly, find that Win7 also does not have drivers for any of your network controllers, so you cannot get to the network to get the necessary drivers.

This presents a real pickle – your laptop now has an OS installed, but no functional network controllers, no functional USB ports, and no built-in optical drive (if it did, we would not have to go through this lengthy process to begin with). In other words – you have a working machine with zero ways to communicate to the outside world. And that’s in the year 2016. Wow!

So what do you do? The best solution I found was to download (on a different system, of course), the minimal set of drivers required for connectivity, then transfer them to the laptop. This set should include:

  • Chipset driver
  • USB 3.0 controller driver
  • At least one network controller driver (LAN, wireless)

Once these drivers are installed, you will be able to connect to the internet and easily download the rest.

How do you transfer the drivers to the laptop, though? You have to boot an OS that already has drivers for USB/network. For example, if you chose to install Win7 alongside Win10 (dual boot), you can just boot Win10 and download everything from there. If you wiped Win10 completely, you may boot a modern distribution of Linux from a USB drive. Finally, you can use the same Win7 installation flash drive that you prepared earlier. Just copy all the drivers to a separate folder on the drive, then boot from it. Once the Windows installer starts, press Shift+F10 to open the command prompt, and copy the folder over to the hard drive. You can use xcopy /s to do so. First you will need to determine which drive letters have been assigned to the USB drive and to the hard drive, respectively. It will most likely be something among A, C, D or E.

Alternative approaches

It is possible to use NTLite or something similar to integrate the needed drivers ahead of time into the installation image. While this may be overkill if you only do it once, it is a good idea to do it, if you need to install the OS on multiple systems with identical specs.

If removing the drive from the system is possible, then another alternative is to connect the drive to an older system, install Win7 there, download the drivers that you will need on the new system, and move the drive back. Windows may complain, but eventually should adjust to the modified hardware, after the proper drivers are installed. Sysprep can be used to try to make this process as smooth as possible.

Alternatively, it is possible to complete only the first part of the Windows installation (before the first reboot), immediately move the drive back to the Skylake system, and boot from it to complete the install. At this point, USB drivers are no longer necessary, since the system boots from the hard drive. This allows skipping steps 1-4 above, but not step 5.

Summary

Overall, the situation with Skylake and Windows 7 compatibility is not as unusual as some conspiracy/hysteria lovers would have you believe. Software, especially operating systems, tends to be written for maximum compatibility with contemporary hardware. As the technology gap widens, eventually compatibility issues arise. In many cases, at least the first time such issues are encountered, they are not fatal, and technical folks find workarounds for them, as was in this case too. I can name two reasons why this particular case may have seemed a big deal: the continuing popularity of Windows 7, which makes many people prefer it, even today, more than 7 years after its release, to Windows 8.x and 10, and the speed with which information (and misinformation) spreads on the modern internet. However, it is due to the same internet that the workarounds to the issue were made known almost immediately.

Advertisement

1 thought on “Installing Windows 7 on a Skylake laptop”

  1. very detailed article, I know gigabyte solved this by adding a switch option for usb controller in BIOS(from usb3 to usb2, and swich back when driver is installed) , which reminded me when we upgrade from IDE hard drive to SATA drive, and the windows xp comlained about not finding hard drive… LOL

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s