Eu tenho uma proposta alternativa que omite a necessidade de extrair e recriar o conteúdo do seu disco virtual.
Se você estiver usando o git, você pode trabalhar diretamente no disco virtual montado e ter seu diretório .git em outro lugar. A única coisa é que você provavelmente precisa ter o seu .gitignore (se houver) no diretório raiz da partição raiz no seu disco virtual.
EDITAR:
Para clonagem, você pode usar o mecanismo normal do VirtualBox após a instalação inicial. Sempre que você precisar restaurar uma versão específica, crie outro clone a partir do original, monte-o e faça um checkout git.
Desde que a versão do grub não seja diferente, é tudo o que você precisa fazer. Se a versão do grub for diferente, você precisará inicializar a VM a partir do seu 12.04.3.iso e fazer uma instalação do grub.
Dessa forma, o fluxo de trabalho alternativo é (adicionado à nova etapa 4, etapa modificada 5) :
- Crie uma máquina virtual no VirtualBox com HD de 120 GB
- Instale o Ubuntu 12.04.3 na máquina virtual
- Fechar a máquina virtual
- Clonar máquina virtual, ponha de lado o original
- Monte o disco rígido virtual do oringinal ou primeiro clone (por exemplo, em / media / virtual)
- cd / media / virtual
- git --git-dir = / algum lugar / outro / virtual.git --work-tree =. init
- git --git-dir = / algum lugar / outro / virtual.git --work-tree =. adicionar.
- git --git-dir = / algum lugar / outro / virtual.git --work-tree =. commit -m "Importação inicial"
- ... quaisquer outras tarefas do git ...
Se você não quiser adicionar sempre - git-dir = / algum lugar / outra / virtual.git --work-tree =. , há uma pergunta no Stackoverflow que explica como para se livrar dele: Posso armazenar a pasta .git fora os arquivos que eu quero rastrear?
Não é exatamente o que você pediu, mas a descrição do seu problema me dá a impressão de que você está mais interessado em realizar seu trabalho do que na forma exata de fazê-lo.