Se o seu host é um Windows ou você pode acessar arquivos VHD de uma janela, há um truque para MERGE todas as alterações em pai, avô, etc.
Ele está usando a ferramenta DiskPart e os dois comandos:
select vdisk file="whatever your file is, with full path"
merge vdisk depth=#
Em que # é o número de níveis de hierarquia que você deseja mover, 1 para pai / mãe dirent, 2 para pai / mãe, etc.
Ele faz isso no local, muito menos demorado do que clonagem, etc.
Lembre-se, depois de mesclar todos os VHDs intermediários pode ser excluído (ele não os exclui para você) e não se esqueça de anexar ao VirtualBox o pai em que você mesclou.
Exemplo:
Disk3.vhd é filho do Disk2.vhd, Disk2.vhd é filho do Disk1.vhd
Se você quiser no Disk1.vhd todas as alterações do Disk3.vhd, use apenas depth=2
e selecione Disk3.vhd.
Se você quiser no Disk1.vhd todas as alterações do Disk2.vhd apenas use depth=1
select Disk3.vhd.
Lembre-se também que não há necessidade de instantâneos do VirtualBox, você pode usar o comando DiskPart create vdisk para criar um disco diferencial a partir de um existente (que também pode ser um disco diferencial, etc), também pode criar uma grande árvore. / p>
Para todo o resto: O pôster está usando VHD (não VDI), portanto, pode usar ferramentas nativas como DiskPart e Disk Managment para acessar esses discos fora do Guest (no Host, se o Host for Windows).
Para você, o pôster: Lembre-se de sempre ter um BackUp completo antes do Merge, o clone do VirtualBox não funciona, cria um novo arquivo (copy on write), mas o DiskPart merge funciona (modifique o arquivo, não crie um novo).
Espero que possa dar outra abordagem diferente, já que VHD / VHDX está em uso (não é válido para VMDK, VDI, etc, apenas para o Windows Host).
Nota: O Windows 7 e o Up, XP e Vista podem montar o VHD com uma ferramenta M $ externa, mas o DiskPart não tem suporte para VHD no XP & Vista ... tudo isso também funciona nas edições do Windows HOME (7 e acima), sem necessidade de uma edição do SERVER.