Just leave your 50 TB VDI as it is, and enjoy it's versatility.
Long answer and explanation:
We can use
dd to clone a drive bit by bit until we get an I/O error when the destination drive is full. We can also just copy a certain amount of data by using
count options of
dd but doing any of these will not give you the desired result.
You almost certainly had your 50TB disk defined as a dynamically growing disk, and you probably made your new 50 GB dynamical too. By using
dd on these drives you will actually access them. This means that in case you have unused but non-zero data blocks in your VDI there is a risk that both disks will physically grow up to the size of 50 GB.
To avoid this we should better just copy the files from the huge drive to the smaller drive, and restore the boot sector after that.
But even this may not be needed, as your virtual 50TB hard drive is only virtually of that huge size. It will only then need more physical space than your 50 GB drive after you indeed stored more than 50 GB of data there. Then you may find it even convenient to not have to grow the disk to be able to continue to use it.