You can give PWBoot a try.
PWBoot stands for Portable Windows Boot project, this project aims to be make your Windows operating system to boot from USB storage media easily.
Also look here for a more manual approach.
Quick tutorial:
Method 1: Virtual machine (OS: Windows Vista, VM: VMware Workstation)
- Download Vmware Workstation and install it.
- Create a new virtual machine for Windows, choose Custom then pick LSI Logic as SCSI card, use physical DVD-ROM or ISO image as where do you want to install Windows from.
- Have your USB drive plugged in. Use physical disk (Advanced) of your USB drive in VMware. Make sure that you choose the correct physical drive (drive 1 usually) or else you might wipe the current OS drive.
- Use entire disk.
- Click advanced on disk in virtual machine settings. Click on Independent and persistent changes for the disk.
- Now, please remove all assigned letters in disk management(diskmgmt.msc) for the USB drive.
- Also make sure you format the drive during Vista installation inside VMware. If it is already formatted you still need to format during Vista installation (or else u might get corrupt boot as crcdisk error).
- Vmware will show that drive as SCSI disk under LSI Logic controller, this is fine as Vista will install on a SCSI disk.
- Boot and go through the Vista install procedure in Vmware.
- Let Vista boot into the desktop for the first time in VMware, after that just launch PWBoot program (you need to copy it to your virtual machine first).
- Click the Patch button on the main PWBoot program.
- Shutdown Windows Vista inside the Vmware.
- Close Vmware.
- Now reboot your machine and select USB boot drive from BIOS boot. Machine should now boot to Vista desktop.
Method 2: Physical machine (OS: Windows Vista, HDD: SATA; 2.5 inch)
- Plug the Hard disk drive into the physical machine (SATA or IDE).
- Insert Windows Vista installation DVD and boot from it.
- Install Windows as usual, to your portable HDD.
- After installation finished, apply PWBoot Patch.
- Shutdown Windows and turn off your machine.
- Take out the HDD and then plug it with interface converter: SATA -> USB, IDE -> USB, etc...
- Now reboot your machine and select USB boot drive from BIOS boot. Machine should now boot to Vista desktop.