Se você tiver acesso à rede a partir da inicialização do CD ao vivo, poderá fazer algo assim:
-
obtenha um shell de root no Live CD em execução na VM do VirtualBox
-
particione e formate os discos virtuais da maneira que quiser. Se as ferramentas LVM estiverem no Live CD, você pode até usar o LVM.
-
execute
mkdir -p /target
-
monte os rootfs desejados no / target, crie diretórios para qualquer ponto de montagem (por exemplo, / target / home, / target / var, etc) e monte as partições apropriadas.
-
cd /target
-
rsync -a --exclude proc/** --exclude sys/** --exclude dev/** root@remoteVM:/ ./
(esse comando rsync pode precisar ser ajustado com precisão. execute com a opção --dry-run
até que esteja correto)
-
for i in dev dev/pts proc sys ; do mount -o bind /$i /target/$i ; done
-
chroot /target
. -
edite
/etc/fstab
e/etc/default/grub
conforme necessário para adequar-se ao novo sistema. -
update-grub
-
exit
-
desmontar / segmentar e tudo sob ele (incluindo as montagens de ligação acima)
-
reinicialização.
Como alternativa, em vez de rsync
, você pode usar tar
para fazer backup dos sistemas de arquivos da VM remota e colocar os arquivos tar.gz em algum lugar do Live CD. excluir / proc, / dev e / sys diretórios do backup.
Nota: se você estiver executando mysql ou postgres ou qualquer coisa que grave em arquivos db ou outros arquivos que não sejam em texto puro, você deverá encerrar esses serviços antes do rsync
. executar um backup de banco de dados para copiar todos os dbs para o texto também é uma boa idéia.
as gravações em arquivos de texto simples (por exemplo, arquivos de log) durante o rsync não são tão arriscadas, se você não se importar em perder as entradas de log que ocorreram depois de executar o rsync .... pelo menos não haverá qualquer corrupção de arquivo possível.
O diário do systemd é binário. por isso, se estiver a executar o systemd, terá de encerrar o journald para evitar a corrupção. Eu não tenho ideia se isso é possível sem desligar o sistema.