after struggling for a week i managed to boot my machine from a vhd located on an external USB drive.
steps:
=====
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 http://www.boot-land.net/forums/index.php?showtopic=6851 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