Friday, December 7, 2012

Installing Windows 7 onto a USB flash or external drive


*See the update at the end of this post for information regarding Windows activation using this method. Also, if anything in this post is incorrect, please comment. I will update with corrections any time I become aware of them. 

I recently inherited an old Dell Inspiron 1300 laptop. It's in bad shape. Along with a damaged screen, it was missing the hard drive, RAM, A/C adapter, and wireless adapter. My plan was to try to get it working only using things I already have. For this project, what I have includes:

So I have all of the pieces to the puzzle, it's just a matter of putting it together.

The RAM and A/C adapter are obvious.

The external monitor was easy enough - the Inspiron has a function key for switching to the external display. The key works during POST, meaning I can see BIOS on the external monitor if I press DEL fast enough.

The hard drive... well that's where the story begins. Trying to install Windows 7 on a USB drive doesn't work. Although Windows setup lists the drive during setup, it will not let you install it there. So we have to look elsewhere to get Windows 7 installed on our drive. We also have to ensure that it will actually boot, and not crash at the "Starting Windows" screen, which is the case if you try to hook up a drive with Windows 7 installed from another computer (after sticking it in a Sata-to-USB adapter.)

Enter VMware Workstation.

VMware Workstation is virtualization software for creating and running virtual machines. One important feature VMware has, as opposed to VirtualBox (I've been told you can do this in VirtualBox as well), is using a real disk drive for your virtual machine. This is how we will get Windows 7 installed on our hard drive, and be able to make the necessary changes to ensure it boots successfully while being plugged in via USB. Note that you will not need VMware to run Windows on the target machine. We're simply using VMware to get Windows installed onto our hard drive. VMware tricks the Windows installation into thinking that our drive is a SCSI drive, rather than a USB drive.

First, you'll need VMware Workstation. I'm using version 9, which you can download a free trial of from here. You'll also need a Windows 7 setup DVD or ISO. If you don't have one, the ISOs should still be available to download free from Microsoft via DigitalRiver.

Before beginning, you should backup any data that may be on the USB drive you plan on installing Windows 7 onto. Then format the drive (right-click and select Format... in the popup menu.) using NTFS file system. This will ensure our disk is clear and ready for Windows 7 to be installed onto.

I'll apologize in advance for the length of this guide... but I'll try to be as detailed as possible. I hate following broad tutorials that leave things out and have you guessing and questioning every step. Instructions start after the jump.




  1. Once VMware is installed, open it and select File -> New Virtual Machine... to create our new virtual machine.
     
  2. On the first step of the New Virtual Machine Wizard, select Custom (advanced), and click Next.
     
  3. Next ensure Workstation 9.0 is selected for Hardware compatibility, and click Next.
     
  4. Now we'll specify where our Windows 7 installation disc is located. If you have the DVD inserted into your DVD drive, or the ISO mounted, use the first option (Installed disk:) and specify which drive it is inserted (or mounted to.) If you have the ISO but do not have it mounted, select the second option (Installer disk image file (iso):) and specify where the ISO file is located. When you're done, click Next.
     
  5. On the next screen, enter your Windows 7 product key. If you don't have one, you can leave it blank and start your 30-day trial of Windows 7. You can also leave it blank and enter your product key later, after the installation is complete. Select the edition of Windows 7 you're installing in the dropdown. Create a username and password (optional) for your new Windows 7 account. Click Next.

    (You may be prompted about not entering a product key... just click Yes)
     
  6. Enter a name for your Windows 7 VM. Also, select where you want to save the VM files. Note, these files are for VMware to use. This is not where Windows 7 will actually be installed to. We'll be selecting our USB drive later. Click Next.
     
  7. Select the number of processors and cores the computer you plan on using your USB drive with has. In my case, the Inspiron has a single core processor, so I select 1 for processors and 1 for cores. Click Next.
     
  8. Select the amount of RAM your target computer has. In my case, I select 2GB (2048MB) as that is the amount I have installed in the Inspiron. Click Next.
     
  9. Next you'll select your network connection type. You can change this later, but I select Bridged Networking. While running the VM inside VMware, this will bridge my VM's network adapter with my host computer's network adapter, allowing them to exist on the same network. NAT may also work for you here. Click Next.
     
  10. Now we're getting to where we set our install location. When selecting the I/O Controller Types on the next screen, select LSI Logic. (NOT LSI Logic SAS.) Click Next.
     


  11. On the next screen, select the third option - Use a physical disk (for advanced users). Click Next.
     
  12. Now you have to choose the USB drive you want to install Windows 7 to. If you're not sure, you can click Start, type disk management, and select Create and format hard disk partitions. Use the list at the bottom to find the number of your USB drive (example: Disk 3, Removable.) Make sure Use entire disk is checked. Click Next.
    Keep the Disk Management window open, we'll be using it again shortly. If the disk number is not showing up in VMware Workstation (which happens if you plug in the drive after opening Workstation), you'll need to close Workstation and re-open it, then repeat steps 1-11.
     
  13. Next you'll enter a name to use for saving your disk file. This is for VMware to keep track of your VM. It will not be needed once we're done installing, so you can save it anywhere to your computer (do not save it to the USB drive you're installing Windows 7 onto.) Click Next.
     
  14. Finally, make sure Power on this virtual machine after creation is UNchecked. We're not quite ready to start it. Ensure that everything is set how you want it, and click Finish.
     
  15. Now we need to right-click on our newly created virtual machine in VMware, and click Settings... in the popup menu.
     
  16. In the Settings window, click on Hard Disk (SCSI) in the list on the left. Then on the right you'll see a button that says Advanced... click this button.
     
  17. Inside the Advanced Hard Disk Settings window, check the box that says Independent. Make sure the Persistent option is selected, and click OK.
     
  18. Now go back to the Disk Management window that we previously left open. (If you closed it, follow step 11 to re-open it.) Find the USB drive you want to install Windows 7 onto, and right-click on it. In the popup menu, select Change Drive Letters and Paths... Windows has assigned this drive a letter, but we need to remove it to make sure Windows doesn't interfere with the installation. To do this, inside the Change Drive Letters and Paths... window, click the Remove button. Then click OK.
     
  19. Now we're ready to start the VM and install Windows 7. Select your VM, and click the Play/Power on button.

    If you get an error saying "Bootmgr is missing. Press Ctrl-Alt-Del to restart." don't panic. This means that your VM is not set to boot from the DVD/ISO first. Follow the instructions in the first post here to be able to access your VM's BIOS boot options, and ensure that the CD/DVD drive is before Hard Disk Drive in the boot order.

    Your VM should start by booting to the Windows 7 setup DVD/ISO. You may get a message saying to press any key to boot from DVD. If you do, simply press any key. You may have to click inside the VM to activate the window so it will accept your keystrokes.
    (If the mouse gets stuck inside your VM, press Ctrl+Alt to release it.)
     
  20. Follow the steps to complete the Windows 7 installation. It should install with minimal input required.
     


  21. Once Windows 7 is installed and you see the desktop inside VMware, we'll need to make a few changes before we can be able to boot from it. Follow these steps to ensure that it works correctly. I'll list these steps separately because you will need to refer back to them later.
     
    1. Click the Start button, and type "regedit" and press Enter to open the registry editor.
       
    2. Navigate to the key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services
       
    3. For each of the following services keys, we're going to change the Start value from 3 to 0, and the Group value from "Base" to "Boot Bus Extender" (no quotes.) If there is no Group value, create a new string value called Group and set it's value to "Boot Bus Extender"
              - usbccgp
              - usbehci
              - usbhub
              - USBSTOR
              - usbohci
              - usbuhci
      This will ensure that the USB drivers are loaded during boot... which is critical because we're booting to a USB drive. (UPDATE: Thanks to AlainCh, you can check the comments for info on creating a .reg file to do this all in one step.)
       
    4. Next we're going to enable the different disk modes to ensure that no matter which mode our target computer is using, Windows will load the services and be able to start. Inside the same key (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services) locate the following keys and change their Start value from 3 to 0.
              - iaStorV
              - msahci
              - pciide
       
    5. Now you can close Registry Editor. Open Windows Explorer (Computer) and navigate to the folder C:\Windows\System32\DriveStore\FileRepository\usbstor.inf_bb2778a0. Inside the folder, copy the file usbstor.sys. Now navigate to the folder C:\Windows\System32\drivers. We're going to paste the file here. If it already exists, you can cancel the paste. We just want to make sure it's here.
       
    6. Next, navigate to the folder C:\Windows and find the inf folder. We need to add some things to a few .inf files inside, but we won't be able to until we give ourselves the correct permissions to be able to modify the folder. To do this, right-click on the inf folder and select Properties in the popup menu. Click on the Security tab. Next click the Advanced button. Inside the Advanced Security Settings for inf window, click on the Owner tab. We need to make ourselves the owner of this folder. We do that by clicking the Edit... button. A new window will open, and list the Current owner of the folder (probably TrustedInstaller.) We need to change it to our user account.

      (If your user account name that you entered in step 5 is listed, select it in the list. If it is not listed, click the Other users or groups... button, then click Advanced... and then click Find Now. Find your user account in the list at the bottom and select it, then click OK. Back in the Select User of Group window, your user account will now be listed in the text box, click OK. Now you're back to the Advanced Security Settings for inf window, where your user account will be listed. Select it.)

      Making sure that your user account is selected in the list, check the box that says Replace owner on subcontainers and objects. Then click OK. You'll get a message saying that if you have taken ownership of this object, you'll need to close and re-open its properties... Click OK.

      Back at the Advanced Security Settings for inf window, click OK to close the window. Then back at the inf Properties window, click OK to close that window. Now we need to re-open it, so right-click on the inf folder and select Properties from the popup menu again, then select the Security tab. We're back to where we were, but we had to close it and re-open it to reflect the changes we made.

      In the inf Properties window (under the Security tab), seelect your user account from the top list. This is the account that we just made the owner. Next, check the Allow checkbox next to Full control giving our user account full control of this folder. Then click OK. We now have the permissions we need to edit files inside the inf folder.
      Now we're going to find three files inside the inf folder, and add text to them. The three files are:

              - usbstor.inf
              - usbport.inf
              - usb.inf

      The text we're going to add to them is:

              [*.AddService]
              StartType = 0
              LoadOrderGroup = Boot Bus Extender


      You can add the text anywhere in the file, just make sure to add a few new lines so it doesn't mess up any of the lines already in the files. I added them to the top of each file. When you're done with each file, make sure to save it. If it doesn't let you save it (you'll get a Save As dialog box when you try to save), then you missed something in this step and don't have correct permissions to modify this folder and its contents. Repeat this entire step, following it exactly.
       
    7. If you have saved the inf files, congratulations! Your hard drive is now ready to be used. You can make any other changes to your new Windows 7 install now, but I would hold off on installing updates.
       
    8. Shut down the VM. Next, use the "Safely Remove Hardware and Eject Media" icon in the system tray to eject your USB drive.
       


  22. Now you can plug your new drive into your target computer and boot to Windows from it. Make sure that the target computer is capable of booting to a USB drive, and that booting to a USB drive is set in the boot order options in BIOS.
     
  23. Windows should startup, and install drivers automatically for the new hardware it finds in your target computer. When it finishes, it will prompt you to restart... but DO NOT LET IT RESTART yet. For some reason, it is likely that Windows has reset the changes you made in the registry. You'll have to check the changes you made in step 21, and probably repeat them. If you don't, Windows will not startup after the restart! I learned this the hard way. In the beginning, you'll want to ensure that these registry changes have not been reset every time you go to restart the computer... because if you don't, you may end up having to start this whole guide over again. It also won't hurt to check and make sure the changes you made to those .inf files haven't been removed... but in my case they were still there. Only the registry changes had been reset. However, any time you install a new USB device and/or drivers for it, these .inf files and registry keys may be reset... so you'll want to always check them before restarting or shutting down the computer.
    If these do get reset and you find that Windows won't startup, you can always plug the USB drive back into your computer and open it in VMware Workstation, and make the changes again. However, if you change the computer name outside of VMware, you may have a problem opening it inside VMware... so you may want to change the computer name inside VMware right after installation.
     
  24. You will probably get the Performance Options window popping up each time you restart allowing you to set your page file options. However, it will not save any changes you make. This seems to happen because Windows 7 does not like the idea of running your page file off of a USB drive. While my Inspiron seemed to run alright without a page file, it is a good idea to enable it. To do this, we'll need to trick Windows into thinking it is not a USB drive. Here is how:

    1. Download Diskmod-0.0.2.2.zip (or if that doesn't work, you can try Diskmod-0.0.1.0.zip). I'm not sure if this will run on 64-bit versions of Windows, but it does work on 32-bit versions of Windows 7.

    2. Unzip it to anywhere on your USB drive from within your Windows 7 installation. Next, copy the disk.inf file from C:\Windows\inf to the folder where you unzipped Diskmod to.

    3. Click Start, type device manager, and press Enter. Double-click Disk drives, and right-click on your USB drive. Select Properties from the popup menu. In the Disk drive Properties window, click the Driver tab. Click the Update Driver... button. Next, click Browse my computer for driver software. Next, click Let me pick from a list of device drivers on my computer. On the next screen, click the Have Disk... button and navigate to the folder you unzipped Diskmod into. Select the diskmod.inf file and click OK. Click OK in the Install From Disk window. You'll now be back at the Update Driver Software - Disk drive window. In the list, you should have two options:

            - Disk drive
            - Disk with pagefile

    Select Disk with pagefile and click Next. You may get prompted about installing an unknown/unapproved driver, just click OK. Windows will install the new driver for your USB drive. When it is done, it will prompt you to restart to complete the changes. Before you do, set your page file using the steps below. (If this window isn't open, you can get to it by right-clicking Computer, then select Properties from the popup. This opens the Control Panel -> System window. Click Advanced system settings on the left, then the Advanced tab. Click the Settings... button in the Performance box. In the Performance Options window, click the Advanced tab. In the Virtual Memory box, click the Change... button.)

    Setting your page file: In the Virtual Memory window, click the System managed size option, then click the Set button. Next click the checkbox at the top that says Automatically manage paging file size for all drives. Then click OK. You'll get a warning that you'll need to restart before the changes can take affect.

    Now, restart the computer and you will see that your page file is now enabled.
     
  25. Once you're confident that everything is working correctly, you can disable some VMware-related services from running since you no longer need them. Click Start, then type msconfig and press Enter. In the System Configuration window, click the Services tab, then un-check the following services:
            - TP AutoConnect Service
            - TP VC Gateway Service
            - VMware Tools service
            - VMware Snapshot Provider
    (If you've installed Windows 7 to a USB flash drive, you'll want to disable the Disk Defragmenter service, as it will cause the drive to wear more quickly.)

    Then click the Startup tab. Uncheck the following startup programs:
            - VMware Tools

    You'll need to restart before these changes take effect.

    You'll also want to click Start, type device manager and press Enter. In the Device Manager window, double-click on System devices. Under System devices, you'll see VMware VMCI Host Device. Right-click on it, and select Uninstall in the popup menu. When asked if you want to remove the files, select No just in case you should ever need them again.


That's it! You can now perform Windows Updates and install any addition hardware you have. I had to download the drivers for my Netgear wireless adapter from Netgear's website, as Windows didn't find them automatically. For the first few times I needed to restart the computer, I always checked the registry changes I made to make sure they weren't reset. If you want, you can export those keys to .reg files, allowing you to restore them by merging the .reg files. I ended up with 7 .reg files that I combined all into one, so merging the one file put back all of the changes I made to the registry should they ever get reset. (UPDATE: See comments for creating this .reg file.) I installed Windows 7 Ultimate, so I may end up trying to use Group Policy to run this file before every shutdown... although I haven't tried to do this yet and am not sure it's possible (I can't imagine why it wouldn't be.) I also made several System Restore points in the beginning, to hopefully be able to revert back to one should there be any problems with startup. So far I haven't had to resort to this so I can't ensure that it will work.


In theory, you should be able to take your USB drive anywhere and boot to it on any computer (that supports booting to USB devices.) Because we changed the Start value of iaStorV, msahci, and pciide, Windows should startup no matter which mode the target computer's BIOS is set to.

Some things to mention:

  • My Dell Inspiron has USB 2.0 ports, yet using my 500GB GDrive I don't notice any slowness in normal desktop use. This may cause issues in more disk I/O-intensive software, but for normal everyday use (surfing the web, etc), don't let the fact that you don't have USB 3.0 ports discourage you. Running Windows 7 on a Pentium M with 2GB RAM from a USB GDrive is surprisingly quick and snappy, at least so far. Results will vary depending on the type of drive used (mechanical vs. flash.) I recommend using a mechanical drive for this type of installation.
     
  • I did not have an internal hard drive installed in the Dell Inspiron whatsoever. I've read that if you try to do this using Vista instead of Windows 7, the computer will not boot because Vista has some sort of disk verification that requires an internal IDE or SATA drive.
     
  • I installed using a Windows 7 SP1 ISO from Microsoft/DigitalRiver, and then successfully installed all Windows Updates without any problems. However, I can't say for sure that future updates or machine-specific updates won't break this. You should not use this method for critical work. As a last resort, you can always plug the drive back into your computer and use VMware to access the installation.
     
  • Microsoft recommends at least 16GB for Windows 7, so you'll want to use a 16GB or larger USB drive.
     
  • VMware Workstation is also available for Linux, but I only tested it running inside Windows 7.
     
  • Don't forget to activate your Windows 7. If you don't, you'll have a 30-day trial with full functionality. You can rearm 4 times, extending that trial to 120 days, by following these instructions.
     
  • If you install Windows Updates while not at the computer, Windows may restart automatically once they're installed... meaning you may miss the opportunity to check your registry and .inf files. If you're running Windows 7 Professional or Ultimate, you can use Group Policy Editor to disable automatic restarts after updates are installed. Other Windows 7 editions (like Home Premium) do not have Group Policy Editor, but you can follow the instructions here (third post) to disable automatic restarts after updates are installed. You'll still get the yellow nag screen, but Windows won't restart automatically.
     
  • If you end up trying this, please post your questions, advice, and results (good and bad) in the comments to let others know what works and what doesn't work. So far I have been able to boot to the drive on all three computers I've tried (although each causes Windows to install drivers the first time, which means I have to check those pesky registry keys and .inf files before the first restart.)


UPDATE:

My goal here was to use the external hard drive on a specific laptop. The laptop requires an IDE drive, which is why I couldn't just stick the SATA drive inside of it. I was aiming to get it working using only the components that I already had.

In response to questions about how this will affect activation when used on multiple computers:
Yes, moving from one PC to another will probably break activation, especially retail activations. If you used OEM activation, it should continue to be activated when used on PCs that share the same software licensing table (slic) in BIOS. What this means is that if you performed OEM activation on a Dell XPS 8500, it should remain activated on any other Dell XPS 8500... as well as other Dells that use the same slic in BIOS. Some OEMs use multiple versions of slic across their products, so the range of products it would work on varies by manufacturer.

I wrote the guide as a method for installing Windows onto a USB drive - not on activating it. If you need to use Windows from an external drive frequently across multiple computers, I suggest you look at Windows-to-Go, a feature in Windows 8 Enterprise. The average home user doesn't have access to Enterprise editions, so this is an alternative. Moving from PC to PC may require re-activation each time, and I should have made that clearer in the original post. As is, I linked to the instructions for rearming, allowing up to 120 days in fully-functional trial mode. Alternatively, bootloaders that spoof the slic work for with this method on OEM activations, but I am not advocating their use. I have not tested this method with KMS activation, but that is another option if you plan on using the drive across multiple devices. At any rate, using one Windows 7 install across multiple computers probably violates Microsoft's licensing agreement, so you're on your own figuring out the activation method that fits your situation.


Credit to this and this and this for help creating this guide.


16 comments:

  1. 21.6 Comma 3
    Check to have activated the option to propagate the ownership to the contained items
    (inherit subsequent)

    21.6 Comma 5
    To open the INF files in block notes, hold down Shift then Right-click it.

    First option is now "Open" ( in Notepad )
    _____________________________________

    Great job and great guide !!!!

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. Forgot to ask:

    Why not to put here a copy of the Reg file ???

    The question arose when I started to write one myself ....
    _________________________________

    Forgot to say I'm in the same situation:
    My old Fujitsu laptop HDD died, I was hoping to find a revival solution. The DVD died some years ago.
    But it can still have an use to be attached to a all-in-one scanner :)

    Tried a direct approach:
    bootable W7 Usb stick and when the install started asked where to put the SO I plugged the USB HDD..

    it just said ... "can't install on a USB disk" !!!!!

    ReplyDelete
  4. Here what to put into a Boot-USB.Reg




    HKLM,"SYSTEM\CurrentControlSet\Services\usbccgp","Group",0x00000000,"boot bus extender"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbccgp","Start",0x00010001,0
    HKLM,"SYSTEM\CurrentControlSet\Services\usbccgp","Type",0x00010001,1



    HKLM,"SYSTEM\CurrentControlSet\Services\usbstor","Group",0x00000000,"boot bus extender"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbstor","Start",0x00010001,0
    HKLM,"SYSTEM\CurrentControlSet\Services\usbstor","Type",0x00010001,1

    HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Group",0x00000000,"boot bus extender"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Start",0x00010001,0
    HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Type",0x00010001,1

    HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Group",0x00000000,"boot bus extender"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Start",0x00010001,0
    HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Type",0x00010001,1

    HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Group",0x00000000,"boot bus extender"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Start",0x00010001,0
    HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Type",0x00010001,1

    HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Group",0x00000000,"boot bus extender"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Start",0x00010001,0
    HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Type",0x00010001,1

    HKLM,"SYSTEM\CurrentControlSet\Services\iastorv","Start",0x00010001,0
    HKLM,"SYSTEM\CurrentControlSet\Services\msahci","Start",0x00010001,0
    HKLM,"SYSTEM\CurrentControlSet\Services\pciide","Start",0x00010001,0

    ReplyDelete
    Replies
    1. Thanks, I should have included this in the post. I didn't find it necessary to set usbohci to start, but I think it would be good to add because not everyone will be using the same USB device and port type. I've edited the post to include this, and pointed to your comment if anyone wants to create the .reg file.

      Delete
    2. Hi, ive followed this Tutorial and its worked a treat, but id like some help with creating the USB-Boot.reg file im comfortable changing the Keys individually but would rather it was automated, could you possibly help with that regard,?

      p.s im a complete Newbie when it comes to writing Batch files and the like lol any further assistance would be awesome

      Michael Allen

      Delete
    3. I've uploaded a .reg file based on AlainCh's comment:

      http://www.mediafire.com/download.php?q8y434ck8bfh49y

      You can open it in Notepad and see that it is just what AlainCh wrote, and although I added the top line "Windows Registry Editor Version 5.00", it should work fine without it.

      Double-clicking on this usb.reg file will ask you if you want to import those changes into the registry. That's it. You'll get a message afterwards saying it was done successfully, or an error message if something was wrong.

      Making the changes to the .inf files automatic requires a little more work, but is possible. I'm not sure if it would be necessary, as I have not seen Windows change these back once I got it working after the initial boot in the laptop... but I can't say it will never happen.

      Anyway, I'm glad you found it helpful. I wanted to explain the steps and why I was doing them, as opposed to just putting up files and saying "Run this" then "Run that", but if you understand why those changes are made then automating it makes sense.

      Delete
    4. A thought... Script it and use it as a shutdown script.

      http://technet.microsoft.com/en-us/library/cc770300.aspx

      Delete
  5. THat reg file gives an error when I try to import it: Only binary file import allowed or something like that

    ReplyDelete
  6. I hope someone will find my experience to use a flash drive as a Windows-7 system drive in 64-bit HP Microserver N54L helpful.

    After the original windows install finished, all the windows updates, any major apps installs should be done on the virtual machine where you created the Windows VM as some of them would fail to install with "User cancel installation" or errors with obscure error codes. I ran into problems installing MS C++ 2010 x86 redistributable pack, ATI drivers required it. They would just hang on installing the pack. If download from MS used, the installation stops at some point and rolls back.

    Lights-off for Windows-7 wouldn't install asking to insert a disk.

    Multiple MS security updates failed to install too.

    Here's the major problem: If you want to install a major driver software, e.g. Radeon video, the chances are, it will not be possible on the USB in the real system. Not sure, if installing the drivers on a VM is possible as the driver pack installer runs thru detecting the hardware and VM doesn't have it, so it will fail. I'm quite sure it's possible by putting all the drivers and *.inf files in manually but I'm not sure it's worth the effort, depending on what you want to do with the flash drive.

    So my advice: Do not use a flash drive as a Windows system drive in a server system, e.g. HP Microserver. Not worth the troubles, unless you are happy to run it without updates and prepared to invest efforts into back-door driver install.

    ReplyDelete
    Replies
    1. I wonder if installing using a SATA HDD with these instructions, then taking it out and using it in a USB enclosure would work better.

      Delete
  7. Justin,
    After look several sites I found your great guide. I followed each step but i get a several crash agter power the VM trying to install WIN7 from ISO File. It hangs when the first Starting Windows appears. After that I neet to power off the PC. I been trying several times but I can't pass the installation. Can you give me some ideas? I have a external SSD drive connected to a X86 PC with USB Y-Cable. It work fine inside the PC or connected with the USB. My goal is to move this SSD Drive to VAIO Notebook without internal drive. I really apporeciate your help!

    ReplyDelete
    Replies
    1. I'm not sure to be honest because I've only done this with mechanical drives. Maybe it is related to drivers? If the crashes were occurring once you had Windows installed and connected to a different computer, it would make a little more sense but the fact you're getting crashes in the VM before even getting to that part is a little more odd. I'd search Google to see if anyone else has had issues with VirtualBox (or VMware if that's what you're using) and installing a VM onto an SSD. Also make sure you have the latest version of the VM software.

      Delete
  8. This comment has been removed by the author.

    ReplyDelete
  9. how to do this exact same thing on a mac?

    ReplyDelete
  10. you have done good job its really informative for me.
    hard drive recovery

    ReplyDelete