VirtualBox doesn't really allow you to clone a machine. However, it does have a feature to clone a disk, which is pretty much the same thing. You can then easily use the disk to build the same machine.
1) You need to merge the snapshots into the parent vdi file. To do this, turn off the machine. Open the Snapshot page of VirtualBox. If you want to include the current state, make a sapshot for it. Then, for each snapshot, select "Discard" snapshot. This will merge the changes into the parent disk.
2) Use VBoxManage.exe's clonevdi feature on the disk you want to duplicate
C:\Program Files\Sun\xVM VirtualBox>VBoxManage.exe clonevdi "C:\Users\Marky\.VirtualBox\HardDisks\XP.vdi" "C:\Users\Marky\.VirtualBox\HardDisks\XPvideo.vdi"
VirtualBox Command Line Management Interface Version 2.2.2
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: 8d143541-123e-4de0-ba2f-8f72b197a8f2
3) In VirtualBox, create a new Virtual machine and point to the cloned hard disk.
3) Start it up.
That's it. You're done!
References:
Source
Enjoy!