tamaño - Cómo redimensionar un archivo vmdk de VirtualBox
virtualbox redimensionar disco vmdk (16)
Me he quedado sin espacio en un disco de máquina virtual que es un vmdk y necesito cambiar el tamaño de la imagen virtual. Cambiar el tamaño con el comando
vboxmanage modifyhd Machine-disk1.vmdk --resize 30720
da el error
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize hard disk operation for this format is not implemented yet!
¿Cómo puedo cambiar el tamaño de una imagen vmdk?
Aquí hay una manera de cambiar el tamaño de su disco VirtualBox, independientemente de si es un disco de formato fijo o dinámico. Específicamente, evita el error que tuvo cuando su disco tiene un formato fijo.
Backup️ Copia de seguridad del disco virtual. Nunca se sabe qué puede salir mal.
En su anfitrión:
Abra una ventana de terminal.
En Windows: abra el símbolo del sistema
cmd
.Vaya al directorio con el disco virtual que desea redimensionar. Por ejemplo:
cd "My VMs"
Cree un nuevo disco VirtualBox con el nombre de archivo, el tamaño (en megabytes) y el formato que desee (
Standard
(dinámico) oFixed
). Por ejemplo, para crear un disco de formato fijo de 50 GB llamadoMyNewDisk.vdi
:VBoxManage createmedium --filename "MyNewDisk.vdi" --size 50000 --variant Fixed
Si
VBoxManage
no se reconoce como un comando, especifique la ruta completa a él. Se puede encontrar en el directorio de instalación de VirtualBox. En Windows el comando anterior se convertiría en:"C:/Program Files/Oracle/VirtualBox/VBoxManage.exe" createmedium --filename "MyNewDisk.vdi" --size 50000 --variant Fixed
Copie el disco original al nuevo disco.
VBoxManage clonemedium "MyOriginalDisk.vdi" "MyNewDisk.vdi" --existing
El cambio de tamaño está hecho! Puedes verificar las propiedades del nuevo disco si quieres:
VBoxManage showmediuminfo "MyNewDisk.vdi"
Cambie la máquina virtual para usar el nuevo disco en su lugar.
A continuación, en su sistema operativo invitado, debe cambiar el tamaño de las particiones para usar el espacio disponible recientemente.
Como se menciona en la answer de Luca, los pasos requeridos son:
Clona la imagen VMDK a formato VDI
VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
Cambiar el tamaño de la imagen VDI
VBoxManage modifyhd "cloned.vdi" --resize 51200
Clone de nuevo a formato VMDK
VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk
El paso 3 es opcional si puedes usar una imagen VDI en su lugar.
Todos estos pasos se pueden realizar también en la interfaz gráfica de usuario de VirtualBox, en File -> Virtual Media Manager
. Seleccione la unidad que desea clonar y luego elija Copy
. Se abre un cuadro de diálogo que le permite elegir el formato del disco y las opciones. Para cambiar el tamaño de una imagen VDI, solo use el control deslizante en la parte inferior (haga clic en Properties
si no está visible).
Finalmente, es posible que también deba cambiar el tamaño del disco en el SO huésped:
- Ejecute el sistema operativo invitado y cambie el tamaño de las particiones del disco. Si está ejecutando Linux, puede usar
gparted
okparted
.
Dado que este es un archivo vmdk, puede usar vdiskmanager
de VMWare, si está disponible para su plataforma. VMWare tiene versiones x86 de Linux, Windows y OS X here .
Y luego simplemente haces:
1023856-vdiskmanager-windows-7.0.1.exe -x 30720M Machine-disk1.vmdk
Evita tener que clonar, luego expandir el disco. Ahora, la desventaja es que necesita la herramienta adicional, y vmdk es el formato de disco de VMWare, y todavía está utilizando Virtualbox, por lo que podría haber incompatibilidades.
qemu-img
también podría funcionar, pero no estoy seguro si es compatible con cambiar el tamaño de los archivos vmdk. Se vería algo así como:
qemu-img resize Machine-disk1.vmdk +8G
Y solo un recordatorio, con ambos, aún tendrá que hacer crecer la partición después de cambiar el tamaño del disco subyacente. Todas estas herramientas son esencialmente dd if=/dev/old_disk of=/dev/new_disk bs=16M
.
Descargue / instale / use VMWare Workstation y cree una nueva máquina virtual basada en su archivo vmdk actual y luego puede cambiar el tamaño de su vmdk. Para más detalles sobre este asunto google para VMWare.
En realidad, solo esto son necesarios estos comandos:
VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifyhd "cloned.vdi" --resize 51200
Luego, puede seleccionar cloned.dvi en el almacenamiento de la GUI de Virtualbox.
Después de eso, inicie las ventanas virtuales y expanda su disco C como los métodos de Code Chops.
No es necesario convertir el archivo * .vdi al archivo * .vmdk de nuevo.
Llegué porque necesitaba cambiar el tamaño de un disco para mi entorno de desarrollo Docker (CoreOS).
La documentación de CoreOS dice que no hay necesidad de cambiar el tamaño de la partición del sistema operativo, eso es falso. Después de cambiar el tamaño del disco virtual, debe seguir estas instrucciones y cambiar el tamaño de la partición del sistema operativo a través de GParted:
Para reducir el tamaño de la imagen utilizo los siguientes pasos:
- En la máquina cliente
cat /dev/zero > z;sync;sleep 3;sync;rm -fz
- Apagar la máquina cliente
- En el host
VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
- En el host
VBoxManage modifyhd cloned.vdi --compact
- En el host
VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk
Probé todas las soluciones aquí, pero nada parecía funcionar. Después de horas de excavación, encontré esta blog y, como la magia, todo funciona. Tuve que hacer pequeños ajustes, así que aquí está la versión modificada. Probado con Docker versión 17.06.0-ce, compilación 02c1d87.
Una vez que los desarrolladores realmente comienzan a contener sus aplicaciones, a menudo generan una gran cantidad de imágenes y llenan rápidamente el espacio en el disco duro de 20 GB asignado a la máquina virtual Docker de forma predeterminada. Para asegurarnos de que la máquina virtual Docker tenga suficiente espacio en disco, deberíamos cambiar el tamaño de / dev / sda1 a un número que sea más razonable.
- Descargue GParted Live CD / USB / HD / PXE imagen de arranque .
Detenga la máquina virtual Docker
docker-machine stop default
.El instalador del paquete Boot2Docker viene con un volumen VMDK, que las herramientas nativas de VirtualBox no pueden cambiar de tamaño. Para cambiar el tamaño del volumen del disco Docker, primero clone el volumen VDI del volumen VMDK predeterminado
vboxmanage clonehd /full/path/to/disk.vmdk /full/path/to/disk_resized.vdi --format VDI --variant Standard
.- Cambie el tamaño del volumen VDI recién clonado a la capacidad deseada. Recomendamos al menos 64GB
vboxmanage modifyhd /full/path/to/disk_resized.vdi --resize <size in MB>
. - Inicie la aplicación VirtualBox, seleccione la VM
default
y haga clic en el engranaje de "Configuración" en la parte superior. - Haga clic en el icono "Almacenamiento". Elimine el volumen VMDK predeterminado.
- Agregar un nuevo controlador IDE.
- Monte el GParted ISO a través de la opción "Agregar dispositivo de CD / DVD".
- Monte el volumen VDI clonado a través de la opción "Agregar dispositivo de CD / DVD".
- Si está ejecutando Docker en una computadora con un disco duro de estado sólido, asegúrese de que la opción "Unidad de estado sólido" esté seleccionada para el volumen VDI clonado.
- Haga clic en el icono "Inicio" para iniciar la máquina virtual Docker, que iniciará el GParted ISO. Seleccione "GParted Live (configuración predeterminada)".
- Establezca la política para manejar los mapas de teclas en "No tocar mapa de teclas".
- Establezca la preferencia de idioma en la opción "33", que se asigna a "Inglés de EE. UU."
- Seleccione la opción "1" para ejecutar "Forcevideo" y configure X manualmente.
- Mantenga la resolución predeterminada de “1024 × 760” seleccionando la opción “2”.
- Mantenga la "vesa" predeterminada como la tarjeta VGA.
- Mantenga la profundidad de color predeterminada de "24" seleccionando la opción "0".
- Una vez que se inicie GParted, haga clic en el icono "Cambiar tamaño / Mover".
- Establezca el nuevo tamaño de volumen del disco al tamaño deseado arrastrando el control deslizante. En este ejemplo, el tamaño máximo es 127,035MB. Haga clic en el botón "Cambiar tamaño / Mover" para iniciar el proceso.
- Confirme la operación de cambio de tamaño haciendo clic en el botón "Aplicar".
- Apague la máquina después de que finalice la operación de cambio de tamaño.
- Retire el GParted ISO.
- Inicie sesión en la máquina virtual Docker para verificar que el cambio de tamaño del volumen fue exitoso al iniciar la máquina.
- Si experimenta problemas de red, reinicie la máquina docker
Pude redimensionar el vmdk clonándolo y luego modificándolo y redimensionándolo.
vboxmanage clonehd "virtualdisk.vmdk" "new-virtualdisk.vdi" --format vdi
vboxmanage modifyhd "new-virtualdisk.vdi" --resize 30720
Puede usar Vmware player para cambiar el tamaño de un vmdk. Esto elimina la conversión de ida y vuelta (anotada en otras publicaciones) si desea mantenerla en formato vmdk. Solo asegúrese de que cuando agregue vmdk a vmware, no haga clic en el formato de actualización cuando se le solicite, mantenga el actual en caso de que VirtualBox no lo acepte.
Sí, Brian , tienes razón: esos son los pasos, pero si quieres terminar con la recuperación de un disco duro vmdk (quizás también te interese usar el disco en vwmare), fallas un paso más. Así que el howto completo es:
VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifyhd "cloned.vdi" --resize 51200
VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk
Lo anterior cambiará el tamaño del disco duro hasta 50 GB (50 * 1024 MB).
Para completar cosas, también necesitas cambiar el tamaño de la unidad. Para lograr esto, es posible que desee descargar gparted iso e iniciar desde esa iso para cambiar el tamaño de su unidad (seleccione la iso en la configuración de virtualbox).
PD: si su nuevo tamaño es demasiado pequeño, obtendrá el mismo error incluso con su nuevo archivo vdi.
Simplemente tienes que seguir los siguientes pasos:
- Apague su máquina.
- Haga clic derecho en el nombre de la máquina virtual> Configuración> Almacenamiento
- Haga clic en Controlador: SATA> Agregar disco duro.
- Elige el nuevo tamaño de tipo de disco duro y pulsa crear.
- Deseche el estado de la máquina.
- Insertar Ubuntu Live CD.
- Arrancar desde ubuntu live cd.
- Abra "gparted" (está instalado, no es necesario instalarlo).
- Compruebe si el sistema ve su nuevo disco duro creado.
- Terminal abierta.
- Escriba el siguiente código.
- sudo dd if = / dev / sda of = / dev / sdb (La primera es la ruta de la partición antigua, la segunda es la ruta de la partición nueva).
- Espere hasta que termine de copiar los datos (este paso puede tardar un tiempo según las especificaciones de su host).
- Después de terminar de copiar, vuelva a gparted y seleccione actualizar dispositivos.
- Seleccione la nueva partición / dev / sdb que debe ser típica de la anterior después de ejecutar el comando dd.
- Mostrará el espacio expandido como datos sin ubicar.
- Eliminar la partición de intercambio / partición extendida.
- Haga clic derecho en la partición raíz / dev / sdb> Redimensionar
- Asignar todo el espacio sin asignación de swap.
- Crear nueva partición extendida> Elegir extendido> Crear
- Crear una nueva partición de intercambio de linux> elegir linux-swap> Crear
- Ahora apaga tu máquina en marcha.
- Haga clic derecho en la máquina> configuración> Almacenamiento.
- Expulsar ubuntu live cd.
- Haga clic derecho en el disco duro antiguo> eliminar archivo adjunto.
- Ahora puede iniciar su vm desde el disco duro recién creado.
- Compruebe el almacenamiento mediante el comando enter df -kh.
- Debe mostrarte el nuevo tamaño.
Enhorabuena, disfruta de tu espacio libre.
Este video le ayudará a: https://youtu.be/ikSIDI535L0
Tengo un cliente de Windows 7 en un host de Mac y esta publicación fue MUY útil. Gracias.
Yo añadiría que no usé gparted. Hice esto:
- Lanzar nueva imagen vmdk ampliada.
- Vaya a Inicio y haga clic con el botón derecho en Equipo y seleccione Administrar.
- Haga clic en Administración de discos
- Debería ver un espacio en gris en la unidad C (en mi caso)
- Haga clic derecho en la unidad C y seleccione Extender volumen.
- Elige talla y listo.
¡Dulce! Preferí usar una herramienta de terceros con advertencias sobre la pérdida de datos.
¡Aclamaciones!
Una opción rápida y sencilla:
- Apagar la máquina
- Crear nuevo disco de caja virtual con el tamaño deseado
Mueve el contenido del disco antiguo al disco nuevo:
vboxmanage clonehd "source-disk.vmdk" "new-disk.vmdk" --existing
Encender la máquina
- Es posible que tenga que cambiar el tamaño de la partición en el sistema operativo para llenar el resto del disco
Advertencia
Si el nuevo disco es más corto que el origen, perderá los datos ubicados desde la nueva posición de tamaño de disco en el disco de origen.
Puede evitar este espacio delta desasignado, donde delta = tamaño (disco de origen) - tamaño (disco nuevo), al final del disco de origen dentro del sistema operativo antes del paso 1.
VBoxManage hace el truco, pero no olvide que tiene que usar GParted u otra herramienta para asignar el espacio libre creado con VBoxManage .
Echa un vistazo a mi blog para obtener información detallada y capturas de pantalla paso a paso.
VirtualBox para Windows
Cambiar el tamaño de su archivo de disco al tiempo que conserva la configuración de la máquina virtual
Paso 1 - Cambiar el tamaño del archivo de disco
Iniciar cmd.exe
cd
al directorio de Oracle VM VirtualBox (en sistemas de 64 bits: "C:/Program Files/Oracle/VirtualBox/"
)
Ejecute estos comandos (como arriba):
VBoxManage clonehd "C:/path/to/source.vmdk" "C:/path_to/cloned.vdi" --format vdi
VBoxManage modifyhd "C:/path/to/cloned.vdi" --resize 51200
El explorador de Windows y la "copia de la dirección como texto" a través de la barra de direcciones le ayudarán a obtener la ruta que necesita.
En el sistema de Windows, el directorio de VirtaulBox VM debajo de su usuario puede contener un archivo de base de datos con formato XML de las configuraciones que haya configurado para su VM. Renombra este archivo, con una extensión .bak
(tiene una extensión .vbox
). Cambie el nombre del archivo .vmdk
original con una extensión .bak
también para evitar otro error. Ahora puede realizar de forma segura el tercer paso sin el mensaje de error para volver a convertir la máquina al formato .vmdk
, o el error "duplicar disco".
VBoxManage clonehd "C:/path_to/cloned.vdi" "C:/path_to/source.vmdk" --format vmdk
Se le presentará un token UID . Copie este token arrastrándolo y resaltándolo desde la ventana Interpetor de comandos de Windows y usando el método abreviado de teclado Ctrl+C
Abra el archivo .vbox.bak
en un editor de texto como Notepad ++. Se te presentará un archivo de base de datos similar a XML. Busca estas líneas:
<VirtualBox xmlns="http://www.virtualbox.org/" version="1.16-windows">
<Machine uuid="{some uid}" name="source disk name" OSType="the_vbox_OS" snapshotFolder="Snapshots" lastStateChange="2043-03-23T00:54:18Z">
<MediaRegistry>
<HardDisks>
<HardDisk uuid="{some uid}" location="C:/path_to/source.vmdk" ...
En la línea <HardDisk uuid="{some uid}" location="C:/path_to/source.vmdk" ...
, elimine el token de UID antiguo entre los corchetes y pegue el que copió de la ventana de comandos. ¡Asegúrate de dejar los soportes en su lugar !
Guarde este archivo y salga de su editor de texto. Cambie el nombre del archivo .vbox.bak
para devolverle la extensión esperada de .vbox
.
Paso 2 - Retire la basura
Ahora es seguro eliminar los archivos .bak
que quedan en el directorio. Lo que queda es un .vmdk
redimensionado con una base de datos .vbox
actualizada, mientras que con su configuración de VirtualBox Manager previamente conservada.
Paso 3 - Cambiar el tamaño de la partición del disco para llenar el espacio libre
Ahora puede iniciar VirtualBox VM Manager y ejecutar su VM, utilizando las herramientas adecuadas para que el sistema operativo llene el nuevo espacio libre.
Para las máquinas virtuales de Windows , use diskpart
desde el indicador de comandos que se inició desde la Consola de recuperación de Windows (partición de recuperación) para SELECT DISK 1
EL SELECT DISK 1
, LIST PARTITION
y recopile el número de partición de su unidad C:/
, luego SELECT PARTITION #
. Puede usar EXTEND SIZE=mb
para cambiar el tamaño de la unidad C: / al valor apropiado. ¡Asegúrate de dejar espacio para las particiones de recuperación y arranque! Es seguro restar 4096 MB de su nuevo tamaño de disco virtual para obtener este valor, debido a los archivos de instantáneas y de recuperación de ventanas.
Para las máquinas virtuales de Linux , se puede encontrar un .ISO
vivo de gparted que puede arrancar con el archivo de disco de la máquina virtual en: http://gparted.org/ Lo llevará directamente a una interfaz gráfica de usuario basada en gparted-gtk, desde donde Puede llenar su espacio libre.
Para las máquinas virtuales de PPC / Mac , la Disk Utility
de Discos del Finder le ayudará a llenar el espacio libre, pero es posible que desee considerar la opción gparted Linux , ya que actualmente el único método de arranque de MacOSX en VirtualBox es hackintosh, y no puede ampliar su volumen mientras se inicia en MacOSX. También es posible que desee buscar ajustar la configuración de la máquina virtual temporalmente para gparted
, para que arranque. Las particiones MacOSX son reconocidas por gparted como particiones HFS
- "Heaping File System".
Paso 4 - Fotos del gato
Porque el internet. ;) Estás terminado. ¡Disfrute su nueva imagen de disco virtual .vmdk
con VirtualBox para Windows!