I use a bunch of external USB hard drives for imaging at work, and I've finally figured out how to steamline the process. Clonezilla is a great tool, but it gets annoying to go through the same exact steps when you are imaging 20 machines at a remote location. If I had more bandwidth I would look into setting up a clonezilla server, but for right now doing a external USB hard disk to internal disk clone in 20 minutes works pretty good.
The key is to edit the /syslinux/syslinux.cfg file to setup a custom boot setting that sets all the questions that you normally get asked when you perform a restore.
label Clonezilla Restore 740 Pub # MENU DEFAULT # MENU HIDE MENU LABEL Clonezilla Restore 740 Pub # MENU PASSWD kernel /live/vmlinuz append initrd=/live/initrd.img boot=live config noswap nolocales edd=on nomodeset noprompt ocs_live_run="ocs-sr -g auto -e1 auto -e2 -c -r -j2 -k -p poweroff restoredisk ask_user sda" ocs_live_extra_param="" ocs_live_keymap="NONE" ocs_live_batch="no" ocs_lang="" vga=788 ip=frommedia nosplash ocs_prerun="mount /dev/sdb2 /mnt" ocs_prerun1="mount --bind /mnt/LARL-740 /home/partimag/" TEXT HELP * Image machine with latest 740 Hubpub image * Warning, this will overwrite the disk. ENDTEXT