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.