after struggling for a week i managed to boot my machine from a vhd located on an external USB drive.
1- prepare a vhd file that has windows 7 or windows 2008 (there are thousands of blogs on how to do this step)
2- copy the vhd to the local hard drive in any parition that has enugh space for the vhd to expand
3- boot from your normal windows (not the vhd that we just prepared)
4- right click my computer and select manage then go to disk management
3- attach the vhd after which it will appear as a normal disk drive volume
4- go to and download pwboot then copy it inside the vhd drive
5- shut down the current windows and boot your machine into the vhd (again there are many blogs explaining how)
6- run the pwboot (FROM WITHIN THE VHD IMAGE)
7- use bcdboot to copy the system files from the vhd to the physical USB drive
8- restart your machine
9- select boot from USB drive