V linuxu používám na takovéto věci spíš dd - k nalezení například na instalačkách, nebo live CD/USB.
dd if=source of=dest bs=1G count=10000
Ale málokdy je potřeba kopírovat disky jako takové, většinou bohatě stačí normálně zkopírovat soubory (teď jsem tak přehazoval systém a data mezi partitions a (samozřejmě) to fungovalo na první dobrou) - což je výhoda, protože se pak nemusí nějak nafukovat/smrskávat filesystém, prostě se cíl zformátuje jak je libo a pak se tam nasypou soubory jakkoli (jen je to dobré dělat pod rootem, aby se zachovala práva a uživatelé).
I když potřebuju vytáhnout data z iso image, tak ho normálně připojím (mount cd.img nejaky_adresar -o loop) a vykopíruju soubory, nebo naopak chci udělat "obraz disku" disk.img, tak si vytvořím dost velký soubor (dd if=/dev/zero of=nejaky.soubor bs=1M count=1000), zformátuju ho (mke2fs -m0 -v nejaky_soubor), připojím (mount nejaky_soubor nejaky_adresar -o loop) a data tam v pohodě nakopíruju (cp -av data.* nejaky_adresar ) - a na cíli pak zase normálně připojím a data vykopíruju ven, nebo používám přímo v tom připojeném image (cd nejaky_adresar; ./program ./data)