There are two ways to migrate a VirtualBox VM to another machine. The first is the 'official' way and requires to create a new virtual machine with the exact same settings as the original machine. The second is just copying all the required files and fixing things till it works.
Official way
Make sure the VM is powered off on the old machine. Copy the VDI file(s) to the new machine.
On the new machine, create a new VM with the exact same settings as on the old machine. Assign the copied VDI as disk image of the new machine.
I have no idea if this works if the old machine had multiple snapshots.
Copying everything
I just created an exact copy of the directory with all the machines and images, but it might be that it also works if you copy everything to a new location and just change the settings to match that location.
Copy the complete directory with the Machines to the new machine. You can find which directory this is by taking a look at File->Preferences->General->VDI files and Machine. My VDI folder was completely empty, no idea why. Make sure you enter the new directory in the settings of VirtualBox on the new machine. Make sure that the Enable VT-x/AMD-V setting is the same. I haven't tried what happens if this setting is different, but I didn't want to take chances. Close VirtualBox on the new machine. Copy the directory .VirtualBox from the old machine to the new machine. On WindowsXP it's located in C:\Documents and Settings\<username>, on Vista it's in C:\Users\<username>. Start VirtualBox on the new machine. If you didn't copy all images it will complain it's missing images, you can fix this is in the disk manager. Remove all missing images (if an image has snapshots, you have to start removing at the most recent one and work your way up to the original image). Close the disk manager. Open VirtualBox. If you installed a newer version on the new machine it might ask if it should convert the xml file. Just save it, the other one is still on the old machine right? If there are still errors shown for the copied VM, fix them (for example I had to create the directory used to share files). Press Refresh. You should now be able to use all the copied machines.





