I've used DriveXML and BartPE to "ghost" my old hard drives, and have even been able to restore my ghosted system drive from my old 40gb hd to my new 250gb one. Sorry I can't give step-by-step instructions, but the links below should have decent instructions.
http://www.runtime.org/dixml.htm
http://www.runtime.org/peb.htm