In this post, I'll show you how to make a full winxp running on usb disk. Hope it will make you love winxp for more !
![:)](http://reboot.pro/public/style_emoticons/default/smile.png)
Objective :
To make this works, you will need to put a full winxp (full or mini or lite is up to you) installed with winVblock driver in a vhd disk image. Then use grub4dos to boot the image.
Terminologies :
vhd (Virtual Hard Disk) : It looks like a file which contains a whole harddisk (and its partitions inside).
winVblock : SCSI driver to make winxp read/write to vhd disk image. Many thanks to Sha0 for this.
grub4dos : bootloader is used to load/map the vhd file.
Primary steps :
1. Create vhd disk image includes winxp (installed with winVblock) :
+ Install VirtualBox (http://www.virtualbox.org). We will use VirtualBox to make the vhd disk.
+ Create new virtual machine using vhd harddisk format, fixed-size. Notice the harddisk size need to be smaller than the usb size (2GB for example - full winxp).
+ Install winxp to the virtual machine as usual.
+ Disable page-file.
+ Update the IDE/ATAPI controller to use Standard driver. => to boot to different machine.
+ Update the System Devices to use Standard driver.
+ Install winVblock driver.
+ Defragement the windows drive (c:)
2. Make the usb disk bootable :
+ Plug the usb disk to a real PC running winxp.
+ Format the usb with ntfs (backup it first !!!). Set it active.
+ Copy file ntldr, ntdetect.com, boot.ini to the root of usb disk.
+ Use "bootsect.exe /nt52" to place the ntloader bootcode to the boot sector of the usb disk.
+ Download grub4dos. Extract : grldr, grldr.mbr to the root of the usb drive.
+ Point the boot.ini file to load grldr.
+ Copy the vhd image (was created in step 1) to the usb disk.
3. Boot the vhd image :
+ Boot from usb disk. It will load ntldr, then load grldr. Chose command line.
+ Load the winxp by typing commands :
++ map (hd0,0)/winxpfull.vhd (hd0)
++ map --hook
++ chainloader (hd0,0)/ntldr
++ boot
+ It works !!!
+ Add menu.lst file to use menu instead of command line.
Steps in detail :
You can see steps in more detail and screenshots here : http://www.linuxbyex...nxp-on-usb-disk
Known issue :
+ Not contiguous image file : You need to defragement the image file before load it.
+ Boot hang on new machine with SATA/AHCI controllers : Enter BIOS and switch the SATA/AHCI controller to use Compatible/Legacy mode.
Feel free to feedback.
Cheers !