Melhor maneira de descartar todos os snapshots de uma vez

Melhor maneira de descartar todos os snapshots de uma vez

Eu tenho uma VM VirtualBox (com o Windows Server 2012 como host e convidado). Criei vários snapshots enquanto configurava algumas coisas difíceis:

Before installing OS
 \____ Before installing software A
        \____ Before installing software B
               \____ Before installing software C
                      \____ Testing this
                             \____ Testing that
                                    \____ Current state

Agora tudo funciona e preciso de espaço em disco, então quero descartar todos os instantâneos. Minha pesquisa sugere que não há outra maneira de remover instantâneos a não ser um por um, por mais lento que seja. Não consigo clonar ou exportar a VM porque ela já está usando 75% do disco host.

Devo começar a remover de cima para baixo ou vice-versa? O que resultaria em fusões mais rápidas? Ou isso realmente não importa?

Responder1

Não sei se esse é o melhor caminho, mas é o caminho mais rápido, e somente se você quiser descartar todos os instantâneos e sair do estado atual.

Vá para instantâneos, clique com o botão direito no estado atual, clique em clonar, marque todas as caixas de seleção e defina "Incluir todos os adaptadores de rede..."

insira a descrição da imagem aqui

Na próxima tela selecione "Clone Completo"

Na próxima tela selecione "Current Machine State" e clique em Clone

Agora você tem exatamente a mesma máquina sem nenhum instantâneo. Precisa excluir a máquina antiga

Contras: - é necessário renomear a VM antiga antes da clonagem ou a nova VM após a clonagem. Como você está preservando todos os UUIDs, todos devem funcionar da mesma forma, incluindo automação de linha de comando. - precisa de espaço adicional para dobrar o tamanho temporariamente

Prós: - Mesclagem automática e rápida de todos os instantâneos, portanto, não há necessidade de perder tempo excluindo um por um

Responder2

Por experiência própria, eu aconselharia que só existe uma maneira correta de excluir instantâneos: do mais recente, retroceder e excluir um de cada vez.
SEMPRE EM SEQUÊNCIA - NUNCA EXCLUA UM INSTANTÂNEO "MÉDIO". Ou, pior ainda, o instantâneo de nível mais antigo/superior. Você pensaria que o VB interviria e impediria que você cometesse esse grande erro, mas felizmente ele permite isso. Deveria apenas exibir um banner que diz 'ha ha, você vai se arrepender!' depois que isso acontecer.
Se você nunca estragou nada, excluindo o instantâneo mais recente e retrocedendo sequencialmente, poderá excluir todos, incluindo o nível mais antigo/superior.
Se você estragou tudo e excluiu um instantâneo do meio, provavelmente está ferrado ao se livrar de tudo. Normalmente, ocorre um erro quando você tenta excluir e você fica com os instantâneos restantes e não pode removê-los. Você precisaria recarregar a VM em qualquer ponto inicial (instalar ou importar).
Certifique-se de observar que cada processo de exclusão pode demorar um pouco, cerca de 10 minutos por snapshot ou mais, dependendo do tamanho do sistema.

Responder3

Usando o VirtualBox versão 7.0, não tive problemas para excluir instantâneos no meio.

Precisei excluir cerca de 15 instantâneos no meio e usei o seguinte script para fazer isso.

@echo off
:: Rename the following two lines to the correct VM name and executable path.
set VM_NAME="Win10ProWrk64TorrentTest"
set VBoxManageCMD="C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"

for /F "tokens=* delims=" %%a in (SnapshotsList.txt) DO  (
    Echo Deletting snapshot %%a from VM %VM_NAME%
    %VBoxManageCMD% snapshot %VM_NAME% delete %%a
    Echo *********************************************
)

Usei esse script com um arquivo chamado SnapshotsList.txtque armazenava os nomes dos snapshots que eu queria excluir.

Exemplo:

"qBitTorrent Installed"
"Increased Resolution"
"Updated VM software"
"After downloading MiniTool Tourent and before MiniTool install"
"Post Minitool Install and other torrent downloads"
"EaseUS Data Recovery Wizard Installed"
"EaseUS Partition Master installed"
"Removed bad DiskGenius installs"
"Removed Failed AOMEI_PartAssist"
"MiniTool Partition Wizard Installed"
"Wondershare Reparit installed"
"qTorrent option changes"
"Before removing Recoverit"

O SnapshotsList.txtarquivo pode ser facilmente criado usando o seguinte comando:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" snapshot "MyVmNameHere" list --machinereadable >SnapshotsList.txt

Edite o arquivo para incluir apenas os SnapshotNames que serão excluídos.

Se você tentar fazer isso, lembre-se de usar aspas duplas para os nomes dos instantâneos e para o nome da VM.

informação relacionada