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:
- 1 generic A/C adapter I had for a previous Dell laptop, which luckily fits and is also 19V output
- 1 external display (19" LCD monitor I wasn't using)
- 2GB DDR-2 RAM
- 1 Netgear WG111v3 USB wireless adapter
- 1 G-Technology G-Drive Mobile USB 500GB USB 2.0 Portable Hard Drive (Google Affiliate Ad)
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,
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.
- Once VMware is installed, open it and select File -> New Virtual Machine... to create our new virtual machine.
- On the first step of the New Virtual Machine Wizard, select Custom (advanced), and click Next.
- Next ensure Workstation 9.0 is selected for Hardware compatibility, and click Next.
- 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.
- 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)
- 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.
- 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.
- 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.
- 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.
- 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.
- On the next screen, select the third option - Use a physical disk (for advanced users). Click Next.
- 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.
- 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.
- 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.
- Now we need to right-click on our newly created virtual machine in VMware, and click Settings... in the popup menu.
- 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.
- Inside the Advanced Hard Disk Settings window, check the box that says Independent. Make sure the Persistent option is selected, and click OK.
- 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.
- 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.)
- Follow the steps to complete the Windows 7 installation. It should install with minimal input required.
- 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.
- Click the Start button, and type "regedit" and press Enter to open the registry editor.
- Navigate to the key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services
- 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"
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.)
- 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.
- 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.
- 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:
The text we're going to add to them is:
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.
- 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.
- Shut down the VM. Next, use the "Safely Remove Hardware and Eject Media" icon in the system tray to eject your USB drive.
- 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.
- 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.
- 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.
- 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.)
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.