Tengo una máquina virtual VirtualBox (con Windows Server 2012 como host e invitado). Creé varias instantáneas mientras configuraba algunas cosas difíciles:
Before installing OS
\____ Before installing software A
\____ Before installing software B
\____ Before installing software C
\____ Testing this
\____ Testing that
\____ Current state
Ahora todo funciona y necesito espacio en disco, así que quiero descartar todas las instantáneas. Mi investigación sugiere que no hay otra forma de eliminar instantáneas que una por una, por muy lenta que sea. No puedo clonar ni exportar la VM porque ya está usando el 75% del disco host.
¿Debería empezar a quitar de arriba a abajo o viceversa? ¿Qué resultaría en fusiones más rápidas? ¿O realmente no importa?
Respuesta1
No sé si esta es la mejor manera, pero es la más rápida y solo si desea descartar todas las instantáneas y dejar el estado actual.
Vaya a instantáneas, haga clic derecho en el estado actual, haga clic en clonar, seleccione todas las casillas de verificación y configure "Incluir todos los adaptadores de red..."
En la siguiente pantalla seleccione "Clonación completa"
En la siguiente pantalla, seleccione "Estado actual de la máquina" y presione Clonar
Ahora tienes exactamente la misma máquina sin instantáneas. Necesidad de eliminar la máquina antigua
Contras: - Es necesario cambiar el nombre de la máquina virtual antigua antes de la clonación o de la nueva máquina virtual después de la clonación. Dado que está conservando todos los UUID, todos deberían funcionar igual, incluida la automatización de la línea de comandos. - necesita espacio adicional para hacer el doble de tamaño temporalmente
Ventajas: - Fusión automática rápida de todas las instantáneas, por lo que no es necesario perder tiempo para eliminarlas una por una.
Respuesta2
Por experiencia, recomendaría que solo existe una forma correcta de eliminar instantáneas: desde la última versión, retroceder y eliminar una a la vez.
SIEMPRE EN SECUENCIA - NUNCA BORRES UNA INSTANTÁNEA "MEDICA". O mucho peor, la instantánea más antigua/de nivel superior. Uno pensaría que VB intervendría y evitaría que cometiera este gran error, pero felizmente lo permite. Debería simplemente mostrar un cartel que diga '¡ja, ja, te arrepentirás!' después de que lo haga.
Si nunca ha estropeado nada al eliminar más que la última instantánea y retroceder secuencialmente, debería poder eliminar todo, incluido el nivel más antiguo/superior.
Si lo estropeaste y eliminaste una instantánea del medio, es probable que estés arruinado en cuanto a deshacerte de todo. Por lo general, hay un error cuando intentas eliminar y te quedan las instantáneas que quedan y no puedes eliminarlas. Necesitará recargar la VM en cualquier punto inicial (instalación o importación).
Asegúrese de tener en cuenta que cada proceso de eliminación puede tardar bastante, cerca de 10 minutos por cada instantánea o más, según el tamaño del sistema.
Respuesta3
Al usar VirtualBox versión 7.0, no he tenido ningún problema para eliminar instantáneas en el medio.
Necesitaba eliminar unas 15 instantáneas en el medio y utilicé el siguiente script para hacerlo.
@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 *********************************************
)
Utilicé este script con un archivo llamado SnapshotsList.txt
que almacenaba los nombres de las instantáneas que quería eliminar.
Ejemplo:
"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"
El SnapshotsList.txt
archivo se puede crear fácilmente usando el siguiente comando:
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" snapshot "MyVmNameHere" list --machinereadable >SnapshotsList.txt
Edite el archivo para incluir solo los nombres de instantáneas que se van a eliminar.
Si intenta esto, recuerde usar comillas dobles para los nombres de las instantáneas y para el nombre de la VM.