I am using Virtual Box machine (as .vdi) on external HDD drive so I can move it between different pcs. On each PC I have created new VM machine, attached that vdi and it seems working well. However, I've noticed that during my last transfer the latest installed applications were not saved on the .vdi, which made me to loose 1 day of work. I don't remember of doing any snapshots which I could merge. Can someone give me a hint how to handle this efficiently in feature?
Make shure you extract your drives properly, failure to do so may result in data loss/corruption when you're using cached I/O. Also, I'd suggest you have an indvidual vdi image on every computer you use and just synchronize the files either using any cloud service (e.g. Google Drive, One Drive, etc.) or a regular USB stick, any little harm to your HDD may make you lose you whole VM.
Are you sure the VM was properly shutdown prior to moving the VDI ?
If it was left in a "pauzed" state (at VirtualBox level) or the OS in the VM was in a power-save state (sleep, hibernate) this sort of thing is expected to happen.
You have to be VERY careful that on the 1st machine the OS in the VM is shutdown completely.
And the VM itself in VirtualBox has the status "Powered Off".
Then you have to remove the VDI in the VirtualBox Media Manager.
Move the VDI over to the other machine.
Reconnect the VDI to VirtualBox using the Media Manager.
Only then start the VM.
And make absolutely sure that BOTH VM's are as identical in their definition as possible.
Both host machines should have a more or less same generation CPU and motherboard chipset.
(I.e. Don't swap between a Core2Duo and a Core-i5. Don't swap between a 32 bit host and a 64 bit host.)