¿Puede reducir la escasa imagen de disco de un sistema operativo invitado Mac OS X en VMWare Fusion?

16

Utilizo VMWare Fusion en mi Mac para ejecutar una máquina virtual con Windows 7 y las máquinas virtuales con Windows XP compatibles con Microsoft IE.

En VMWare Tools en los sistemas operativos invitados de Windows, hay una opción "Reducir" que le permite reducir el tamaño de la imagen de disco dispersa utilizada por el sistema operativo invitado, para ahorrar espacio en el disco duro en su host OX.

Recientemente he creado otra máquina virtual, esta vez con Snow Leopard Server. Me preguntaba si también podría reducir la imagen de disco de repuesto utilizada por esta máquina, pero no puedo encontrar una aplicación VMWare Tools en el SO huésped Mac, a pesar de que VMWare Tools está instalada (ya que la función de Carpetas Compartidas de VMWare está funcionando).

¿Hay alguna forma de reducir la escasa imagen de disco utilizada por los sistemas operativos invitados Mac OS X en VMWare Fusion?

Paul D. Waite
fuente
1
Desafortunadamente, esto ya no funciona en VMWare Fusion 4 ya que vdiskmanager ya no está en esta carpeta. Nadie parece saber dónde existe ahora, si es que lo hay.
@ user128435: Afortunadamente, VMWare Fusion 4 tiene una interfaz GUI para esta funcionalidad .
Paul D. Waite
1
En la ventana Biblioteca de máquinas virtuales , seleccione la VM sin iniciarla. Actualice el gráfico de barras Reclamable y luego haga clic en Limpieza si está disponible. Consulte también KB 1001934: Desfragmentación, reducción y limpieza de discos de máquinas virtuales VMware Fusion .
jww

Respuestas:

6

En VMware Fusion desde la versión 4, puede ir a Preferencia de VM -> General -> Limpiar máquina virtual.

Además, hay un cuadro en el que puede ver qué tamaño se espera después de reducirse.

sja
fuente
Es cierto, pero con VMware Fusion 7+ nunca ofrece limpiar un invitado de Mac OS.
dakcarto
@dakcarto: VMware Fusion 5 lo ofrece, pero solo cuando hay algo recuperable. ¿Quizás no tienes nada recuperable? (Tengo 33 GB de recuperación para un invitado de Windows 8.1 después de la actualización 8.0 → 8.1).
jww
10

Ajá, de hecho, según este hilo en los paneles de discusión de VMWare sobre este tema , puede suponer:

  1. El archivo es una imagen de disco dispersa y no está preasignada.
  2. La VM no tiene instantáneas.

En breve:

Borre el espacio libre en el disco del SO huésped desde el SO huésped usando la Utilidad de Disco, luego reduzca el disco del SO huésped desde el SO host usando vmware-vdiskmanagerla línea de comando.

En mucho tiempo:

En el SO huésped:

  1. Abra la Utilidad de Discos.
  2. Seleccione la partición del SO invitado.
  3. Vaya a la pestaña "Borrar".
  4. Haga clic en el botón "Borrar espacio libre".
  5. Asegúrese de que esté seleccionado "Cero archivos eliminados" y borre el espacio libre.
  6. Una vez que haya terminado, cierre la Utilidad de Discos y apague el SO huésped.

O en la terminal del SO huésped cuando la partición se llama 'Macintosh HD':

diskutil secureErase freespace 0 Macintosh\ HD
sudo halt

En el sistema operativo host:

  1. Abra la Terminal y escriba:

    [ -d "/Library/Application Support/VMware\ Fusion" ] && alias vmware-vdiskmanager="/Library/Application Support/VMware Fusion/vmware-vdiskmanager" || alias vmware-vdiskmanager="/Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager"; vmware-diskmanager -k

  2. Escriba 'espacio' y luego la ruta al archivo del disco virtual de su VM.

  3. Presiona regresar.

El archivo de disco virtual del sistema operativo invitado se encuentra dentro de su archivo de máquina virtual. Por ejemplo, si su archivo de máquina virtual está en /Users/you/VM, la ruta a su disco virtual es/Users/you/VM.vmwarevm/VM.vmdk .

Para el registro, esto redujo una máquina virtual de Snow Leopard mía de 15 GB a 6 GB.

Paul D. Waite
fuente
8

Agregaron una opción de CLI que fue súper fácil: haga esto desde el sistema operativo invitado:

sudo /Library/Application\ Support/VMware\ Tools/vmware-tools-cli disk shrink /

De mudaltsov en los foros de VMware Commmunity :

Un método un poco más fácil: la funcionalidad de reducción está integrada en la utilidad de línea de comandos de VMware Tools:

sudo /Library/Application\ Support/VMware\ Tools/vmware-tools-cli disk shrink /

Esto primero borrará el espacio vacío del sistema de archivos (lo mismo que crear un archivo lleno de cero) y mostrará un progreso en la Terminal invitada. Cuando haya terminado, se invocará la reducción de VMDK sin apagar la VM y se mostrará como una barra de progreso sobre la ventana de VM.

El / es una ruta al sistema de archivos para limpiar el espacio vacío. Si tiene varias particiones, puede borrarlas individualmente y hacer una reducción final al final:

  • vmware-tools-cli disk list para ver las ubicaciones disponibles para borrar
  • vmware-tools-cli disk wipe <location> para limpiar cada ubicación (repetir varias veces), sin la operación de reducción
  • vmware-tools-cli disk shrinkonly para hacer la operación de contracción final.

Esto también se explica por el disco de ayuda vmware-tools-cli

Colin
fuente
Esta es la forma más fácil de "un comando" de reducir el disco. Funciona para VMware Fusion 8.
punto
5

En variantes de VMware Fusion, posteriores a 3.x, la configuración regional vmware-vdiskmanager, como se menciona en la respuesta aceptada, es:

/ Aplicaciones / VMware \ Fusion.app/Contents/Library/vmware-vdiskmanager

Entonces todo lo que necesitas es

/Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager -k 

luego vaya al buscador, navegue a su VM, que normalmente está en "~ / Documentos / Máquinas virtuales /".

Haga clic derecho en el archivo, seleccione "Mostrar contenido del paquete", luego arrastre el archivo .vmdk al terminal y presione enter.

Prueba de Joe
fuente
0

En VMWare Fusion 6, es un proceso de 3 pasos.

  1. Reemplace los archivos eliminados con ceros:

    $ diskutil secureErase freespace 0 Macintosh\ HD

  2. Ejecute la utilidad de reducción de disco de VMWare

    $ sudo /Library/Application\ Support/VMWare\ Tools/vmware-tools-cli disk shrinkonly

  3. Apague (o reinicie) la máquina virtual.
Ian
fuente