¿Cómo puedo clonar un disco duro directamente a una imagen vdi?

32

Me gustaría hacer una imagen .vdi de VirtualBox de mi disco duro.

He encontrado instrucciones en línea que describen cómo hacer esto utilizando primero DD DD para crear una imagen .raw, luego usar VBoxManage para convertir .raw en .vdi. Entonces, si mi HD es 1 TB, este proceso (temporalmente) requiere 2TB de espacio, para almacenar tanto el .raw como el .vdi.

Solo tengo un poco más de 1TB de espacio libre. ¿Hay una manera de crear una imagen .vdi de un disco duro, sin tener que crear primero una imagen .raw?

SuperElectric
fuente
Esto es riesgoso, pero si tiene el disco duro que desea P2V, puede crear la imagen en su unidad de repuesto con aproximadamente 1TB gratis. Luego formatee la unidad original y copie el archivo RAW en la unidad original. Luego, vuelva a convertir el RAW a VDI en su unidad principal. Sin embargo, si se arruina (podría suceder), entonces te quedas con una Imagen RAW y no con un original.
kobaltz
@kolbatz lo consideré, pero pensé que tenía una alta probabilidad de fracaso. Cuando imagino el disco duro, el archivo .raw resultante es el tamaño del disco duro. Pero antes de volver a copiar el archivo en la unidad original, necesito darle un sistema de archivos a la unidad. Esto implica escribir algunos metadatos en la unidad, sin dejar espacio suficiente para guardar el archivo del tamaño de la unidad.
SuperElectric

Respuestas:

46

Puedes crear una imagen directamente con VBoxManage convertfromraw. Primero desmonte el dispositivo, luego:

VBoxManage convertfromraw /dev/sda MyImage.vdi --format VDI

Reemplazar /dev/sda Con cualquier disco o partición que quieras clonar.

Es posible que deba hacer esto como root para obtener acceso al dispositivo. Si es así, entonces debería cambiar la propiedad de la imagen terminada.

user235224
fuente
2
Funciona a la perfección y listo para usar en OSX cuando tiene instalado VirtualBox. Gracias por apuntar a esta solución.
JosFabre
8

Probé la solución aceptada pero para mi falló:

# VBoxManage convertfromraw /dev/sdg /path/to/file.vdi --format VDI
Converting from raw image file="/dev/sdg" to file="/path/to/file.vdi"...
Creating dynamic image with size 0 bytes (0MB)...
VBoxManage: error: Cannot create the disk image "/path/to/file.vdi": VERR_INVALID_PARAMETER

¿Tal vez no pudo detectar el tamaño porque el disco estaba conectado a través de USB?

Así que en lugar de eso tengo el tamaño del disco con fdisk -l

Disk /dev/sdg: 160.0 GB, 160041885696 bytes

Y luego usé la forma estándar de convertir

# dd if=/dev/sdg | VBoxManage convertfromraw stdin /path/to/file.vdi 160041885696 --format VDI
Converting from raw image file="stdin" to file="/path/to/file.vdi"...
Creating dynamic image with size 160041885696 bytes (152628MB)...
Daniel
fuente
2

Hay otras formas más seguras de crear un archivo de su sistema actual con el que Virtualbox puede trabajar. Los Vdi son archivos específicos de virtualbox y generalmente solo son generados por VB a partir de una instalación de disco duro virtual nueva.

Tienes muchas otras opciones.

Recientemente utilicé disk2vhd para crear un .VHD (disco duro virtual de Microsoft) que Virtualbox importó a la perfección. (Aunque era un sistema XP) No creo que funcione bien con otros sistemas operativos.

Alternativamente, existe una herramienta de conversión de Vmwares que puede exportar su sistema a una variedad de formatos que pueden usar tanto virtualbox como otras plataformas. Hay estándares abiertos para este tipo de cosas.

http://www.vmware.com/products/converter/features.html

Scandalist
fuente
2
¿Por qué estos métodos son "más seguros" en tu opinión?
andcoz
disk2vhd usa una instantánea de volumen, lo que significa que puede usarse para clonar un sistema mientras se está ejecutando.
mwfearnley
"No creo que funcione bien con otros sistemas operativos" - & gt; Bueno, en realidad lo hace, simplemente con éxito duplicó en caliente un Windows 10 con disk2vhd, ¡funcionó a la perfección!
Henrique de Sousa