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.
  • CreateBootableVHD_v2.zip 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.
Instructions:

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>

    Example:

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

    Explanation:
  • .\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




Comments

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 IDEA PhpStorm PyCharm RubyMine WebStorm AppCode CLion 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.

How to force redirect HTTP to HTTPS in Amazon Elastic Beanstalk

After picking up bits and pieces over the Internet, here I have the complete guide for my particular setup. My Amazon AWS Elastic Beanstalk (ELB or EBS) is as follows: 64bit Amazon Linux 2016.03 v2.1.1 running Tomcat 8 Java 8 Java/JSP application on Apache Tomcat Maven Build How to get it done: First, configure your EBS instance: Go to Configuration and click the gear on Load Balancing. Under Load Balancer, set the following options: Listener port: 80 Protocol: HTTP Secure listener port: 443 Protocol: HTTPS SSL certificate ID: Choose the cert ID that goes with your server. If you don't have one, you can use Certificate Manager to create one. Apply and save this configuration. Let the server health be OK. Test it by accessing your application web page through both HTTP and HTTPS: HTTP should load the page unsecurely. HTTPS should load the page securely. No port number should be added after the domain name in either case. Then, add a configuration file

Make Samsung DVD-C350 region-free

Update 2: An anonymous commentator has shown me a way to make Region 1 players (such as DVD-H1080R) region-free by first converting it to Region 3, then applying my region-free hack below. For details, click here or look for a comment by an Anonymous user dated 18 April 2011. Update: The instructions in the original post below did not make the DVD player region-free. Instead it only locked it to region 1. Many thanks to Anonymous who posted the first comment on this post, I now have alternate instructions. Note: If you have edited the numbers menu (see original post) , I suggest you return it to the original settings you had backed up. A modified numbers menu may prevent the instructions below from working properly.