Why not pass physical disk directly to the kvm and call it good? Why does it need to be converted at all?
 
Assuming libvirt, add a block to your vm's container XML (or use virt-manager, or whatever you use to add this block for you)
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native'/>
      <source dev='/dev/disk'/>
      <target dev='vdb' bus='virtio'/>
      <alias name='virtio-disk1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </disk>
If you're passing raw arguments to KVM, it'd look like so:
-drive file=/dev/disk,if=none,id=drive-virtio-disk1,format=raw,cache=none,aio=native -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=drive-virtio-disk1,id=virtio-disk1
Same with OVZ, mount /dev/disk /somewhere/in/ovz/container/prebind/root
Change /dev/disk to the appropriate device file.