This is a super advanced method of migration and I've written far easier ways to migrate. So unless you know what you need to do, consider choosing one of the methods bellow:
In this example I will be migrating a source VM from AWS EC2 to my home computer on VirtualBox, however by modifying the steps appropriately you can use to to migrate to any other environment.
Prerequisites1. Support Linux VM at home or Linux OS on the your workstation
2. VMware Workstation
Gather critical system information from the source VMcat /etc/*release*
# Check if it has a package manager.
# It may be a customised distro and not have a package manager
Execute apt or yum - see if it produces any output
# See what is inside the /boot directory
ls -la /boot
cat /proc/cpuinfo #Check CPU
cat /proc/meminfo #Check Memory
#Check mounts and partitions
# Check running processes
Procedure1. DD the disks from the original VM
$ ssh email@example.com 'dd if=/dev/xvda bs=1M | gzip' | gunzip | dd of=xvda.raw
2. Convert the raw disks into VDI VirtualBox disk
.\VBoxManage convertfromraw "F:\VM\mysourcevm\xvda.raw" "F:\VM-VMware\webbuild-linux\xvda.vmdk" --format VDI
3. Build a shell VM clone in VirtualBox
Create a blank VM on VirtualBox with the same structure as the original and mount the converted disk.
4. Use dark magic to make it working
This step is simply as it is. Once you power on the cloned VM you will need to analyse the errors on the console (if any) to see what could prevent it from booting. You may as well need to reinstall the bootloader or alter the GRUB parameters. From here on you are on your own to make it working. In my experience I've succeeded in this step in 90% of the cases.