...the data to some other disk, delete the VM, create a new one with a smaller disk and copy the data back.
c) if you want to keep the data and the VM, you can boot the VM from an image of some "live CD" like SystemRescue or Gparted(?) and shrink the VM's disk.
When b) or c), make a backup...