Skip to main content

Install Windows 10 Tech Preview when setup says media driver missing

Skip to the end for instructions.

I had been trying to install Windows 10 Pro Technical Preview onto a VHD, as I have Windows 7 Ultimate and can run an operating system from VHD (this feature is apparently limited to Enterprise and Ultimate editions).

While I had successfully managed to install it on a virtual machine in Oracle VirtualBox, I was dissatisfied with the sluggish performance of a VM. At the same time, I also did not want to dedicate a real hard disk partition for the sole purpose of installing Windows 10 TP.

Hence the decision to install into a VHD, which is a very neat solution that lets me keep Windows 10 TP separate from my real hard disk partitions and still enjoy the full native speeds of my real hardware. I had previously installed Windows 8 RC successfully into a VHD so I knew what I was up against.

Or so I thought. As soon as I booted up the setup disk (the ISO I had downloaded) and clicked on Install Now, I received this very unhelpful error asking for device drivers.

Load driver:
A media driver your computer needs is missing. This could be a DVD, USB or Hard disk driver. If you have a CD, DVD, or USB flash drive with the driver on it, please insert it now.

There's no indication why this error is produced and what exactly the device is that's missing drivers. On looking it up on the internet, I only learnt that this indicates a bad setup media. But in my case, my ISO is a perfect download (SHA1 sum matches that provided by Microsoft) and it's mounted directly.

I had tried various different configurations, messing with the BIOS, different ways of mounting and loading up the setup disk, etc. Nothing worked, and I could never get past this error.

Almost on the verge of giving up, I had just one last thing to try. And it's completely different from what one would usually do to install Windows.

I skipped the setup entirely and went straight from ISO to a fully deployed Windows installation. And it was so easy, I was surprised and also thinking why I had even been wasting the past 4 hours trying to get the setup to work, when I didn't even need to run the setup at all.

Here's how you get it done. You'll need:
  • The ISO file from Microsoft (I used the x64 version; it depends on your computer which one you will need). If you want to check the SHA1 (and I suggest you do), use this excellent utility.
  • from Hugo Häggmark's blog. You can read his excellent post, but the instructions here are slightly different.
  • Daemon Tools, 7-Zip, WinRAR or anything that can help you either mount or extract the ISO. (You don't need to both. We just need a file from the ISO archive.)
  • Some hard disk space.

Note that these are simplified for this purpose and slightly deviates from the originals in Hugo Häggmark's blog post. They also assume you're comfortable with command prompt and/or PowerShell.
  1. Mount the ISO or extract it into a new folder such as C:\WindowsISO
  2. Find the file "sources\install.wim". Note down the full path of it. If you mounted the ISO as H: drive, it will be H:\sources\install.wim
  3. Extract the CreateBootableVHD script files into another folder.
  4. Open PowerShell (as administrator). You will need at least version 2.0. Most likely you already do, or you can just download an upgrade.
  5. In PowerShell, use cd command to navigate to the folder in step 3 (CreateBootableVHD extract).
  6. Run the command in the format shown below (thanks Hugo). The process will take 20-30 minutes to complete.
  7. Once done, reboot your computer. You should have a boot menu with 'Windows Technical Preview' along with your existing Windows. Choose the new entry.
  8. Windows will do driver installations and reboot. Once rebooted, it will do more setup. The whole process can take another quarter to half hour, and it may reboot again.
  9. Once everything is complete, Windows will ask you a few questions. When asked for the product key, enter NKJFK-GPHP7-G8C3J-P6JXR-HQRJR. (Since we applied a system image to the VHD in step 6, the product key was not automatically set up. That's why we need to do this. If Windows setup had worked, we wouldn't have needed to do this.)
  10. Sign in to your Microsoft account, and get on your brand new Windows 10 desktop.
  11. Open Windows Update and check for updates. Windows should most likely download and install the correct drivers for your graphics card, and the wonky basic resolution will soon change to your screen's native resolution.
  12. ???
  13. Profit!

    Command for step 6:

    .\CreateBootableVHD_v2.bat <path where you like to store the VHD, doesn’t work on external drives> <size in MB> <type FIXED|EXPANDABLE> <free unused drive letter to be assigned to the VHD> <full path to the wim file from step 2>


    .\CreateBootableVHD_v2.bat C:\Windows10.vhd 25600 EXPANDABLE X H:\sources\install.wim

  • .\CreateBootableVHD_v2.bat -- this batch file will first create and mount a VHD. It will then execute a PowerShell script to extract the Windows installation image onto the VHD. Finally it will make the VHD bootable and add it to the boot menu.
  • C:\Windows10.vhd -- this is the path and file name to create your new VHD. It must not already exist. Use internal hard disk drives only. Must be an NTFS drive due to the 4GB file size limitation of FAT32.
  • 25600 -- this is 25 GB of VHD size converted to MB (multiply by 1024). Microsoft's minimum recommendation is 16 GB. I found that when fresh installed, Windows will already use around 8-9 GB, and as I continually used Windows 10, the usage grew to more than 11 GB. As long as you don't plan on installing huge software, 25 GB is a safe bet. Don't worry, your real hard disk partitions will be fully available from within Windows 10.
  • FIXED|EXPANDABLE -- must be all caps. If you choose fixed type, a full 25 GB of hard disk space in C: drive will be allocated for the VHD file immediately. If you choose expandable type, the VHD file will be created at 0 bytes and then will expand later as more data is stored in it.
  • X -- this must be a free unused drive letter that will be used to mount the VHD as a hard disk drive. Don't use any drive letter that is already used. Don't add a colon. X is usually a safe choice, but it can be anything from A to Z except used drive letters.
  • H:\sources\install.wim -- this is the wim file located in step 2. If you extracted the ISO to a folder like C:\WindowsISO, it will be C:\WindowsISO\sources\install.wim


Post a Comment

Comments are moderated, and are usually posted within 24 hours if approved. You must have a minimum of OpenID to post comments.

Popular posts from this blog

Disable auto save in JetBrains IDE software (IntelliJ IDEA, PyCharm, PhpStorm)

JetBrains provides the following IDE software:
IntelliJ IDEAPhpStormPyCharmRubyMineWebStormAppCodeCLion Google also provides Android Studio which is powered by the IntelliJ platform.

If you come from a different IDE such as Eclipse, you will be unpleasantly surprised to find that JetBrains-branded IDEs automatically save everything the moment you look away. The proponents argue that as you work on your project, you should not have to worry about saving files. But to others, this auto-save behavior which is enabled by default is a curse that catches them by surprise, and a shocking departure from the workflow they are very much used to.

You can change the behavior by altering some settings.

Stop having to click Unblock on every downloaded file

CAUTION: The blocking of downloaded files in Windows is a security and safety feature to help prevent your computer from being infected by viruses and other malware. Only disable this feature if you know what you're doing.

I had been plagued by this annoyance since the days of Windows Vista. Any downloaded file, no matter what browser I use, gets tagged as "blocked" by Windows. You can open downloaded documents even though they are blocked, but when you run a downloaded application (such as a setup file) you're presented with a "Security Warning" before you're allowed to run it. It's worse if you extract a downloaded ZIP file with the Windows' built-in ZIP management. Every extracted file is blocked by default.

Being a geek who finds unnecessary "security" prompts annoying, the first thing I do in Windows is to disable the User Account Control (UAC). But I couldn't quite figure out how to disable blocking of downloaded files until …