Installing Windows from a USB drive

Last week I downloaded the milestone 3 build of Windows 7 and installed it in a virtual machine. Then I heard how Windows 7 has been tuned (compared with Vista) to run on lower-specification hardware so I decided to install it on my aging Compaq D510SFF, which is not going to give me blinding performance (particularly for graphics) but does at least have a 2.4GHz Pentium 4 CPU, 2GB of RAM and a 320GB hard disk so it shouldn’t be too bad either.

I downloaded the 32-bit version (previously I’d used 64-bit), burned a DVD, popped it in the drive and booted:

  • Problem #1 – this PC has a CD-R drive and I have a DVD ISO.

The only DVD drives I had available were in my server (which I don’t want to take down right now) and in my work laptop (a slimline drive – with a strange connector on the back) so I went shopping for hardware:

  • MaplinProblem #2 – my local branch of Maplin had sold out of DVD drives and PC World didn’t have any brown box ones (just the overpriced ones in a pretty box).
  • (Problem #2a – markwilson.it has been spending too much on hardware recently and the bank balance is not looking too good. Spending money on components for an aging PC does not make too much sense.)

Back to the drawing board. I could PXE boot to a Windows Deployment Services server but I didn’t really want to go to the effort of setting all that up so, after checking I hadn’t missed anything obvious with my trusted colleagues Dave and Garry, I turned my attentions to USB booting the PC.

  • Problem #3 – the largest USB drive I have is 1GB – and a DVD .ISO is much bigger than that.

I decided to see if I could use a USB hard disk and it turns out I can – this is how it works. The advice is based on Vista but it works for later releases of Windows too:

  1. Make some space on a hard disk for a new partition. I shrank the existing volume in Disk Management to give me 32MB of free space but I could have just wiped the drive too.
  2. Dive into the command line and fire up diskpart.exe, issuing the following commands:
    • list disk (to see the available disks and see which one I had just created 32MB of free space on)
    • select disk number
    • clean (skip this if you do not want to wipe the disk clean – i.e. if you want to keep data on other partitions)
    • create partition primary
    • select partition number
    • active
    • format fs=fat32 (I later read that NTFS would work too but FAT32 worked for me on a relatively small partition like this)
    • assign
    • exit
  3. Copy the contents of the Windows installation DVD to the new partition with xcopy dvddrive:\*.* /s /e /f harddrive:\
  4. According to the blog post from Kurt Shintaku that I used for reference, that should be enough but that doesn’t actually create a boot sector. Dave Glover’s post on the subject alerted me to the presence of the bootsect.exe utility from the \boot folder on the installation DVD and bootsect /nt60 harddrive: successfully updated the bootcode on my USB hard drive.
  5. Boot the PC from USB and install Windows.

And so does Windows 7 run well on that old PC? I wish I could tell you but, unlike everyone who got their copy from PDC, those of us signed up via Microsoft Connect are under NDA… grrr. What I can say is that, if you’re not bothered about high-end graphics, then even Vista will run on a PC like this… and based on what’s already been said by Microsoft I wouldn’t expect 7 to be any worse and it may even be slightly better.

Leave a Reply