Em vez de copiar, basta aumentar o arquivo de unidade virtual existente, em seguida, inicializar as partições vm (possivelmente de um livecd) e adicionar / estender.
Meu problema geral é que eu preencheu meu disco rígido virtual atual, então eu quero mover tudo para um arquivo VDI maior e inicializar a partir dele.
Se for importante, eu tenho o host XP e Crunchbang (baseado no Debian statler) guest, VirtualBox versão 4.1.2r73507.
Eu tentei pela primeira vez este guia , mas depois de dd'ing o conteúdo de / dev / sda1, o gparted não sabia dizer que havia uma partição menor no disco maior. Mas, eu tinha todo / dev / sda1 copiado para / dev / sdb1, o único problema era que o / dev / sdb1 achava que tinha apenas 8 GB, não 32.
Então descobri o fsarchiver , que afirma ser capaz de restaurar arquivos archive para partições maiores, então criei um arquivo / dev / sdb1 com
fsarchiver savefs -A /media/sf_C_DRIVE/temp/backup.fsa /dev/sdb1
Então eu limpei / dev / sdb1 com o gparted (reformatei a coisa toda como ext4) e restaurei o arquivo com
fsarchiver restfs /media/sf_C_DRIVE/temp/backup.fsa id=0,dest=/dev/sdb1
E de acordo com o df, acho que funcionou. Mostra aproximadamente o mesmo número de blocos usados, mas um percentual muito menor é usado. Mas, quando eu entro nas configurações da máquina virtual e mudo a unidade maior como Primary Master, não consigo inicializar (nem mesmo o GRUB)
Para piorar as coisas, decidi inicializar a máquina a partir de um LiveCD, limpar / dev / sdb1 novamente, recriar o arquivo (desta vez a partir do real / dev / sda1) e restfs / dev / sdb1. Infelizmente, eu não estava prestando atenção, então limpei / dev / sda1. Sem adições de convidado no LiveCD, não consigo acessar o arquivo fsa em C: \ temp para restaurar a imagem para o arquivo VDI.
Alguma sugestão?