Como clonar um disco rígido diretamente em uma imagem vdi

37

Gostaria de criar uma imagem .vdi do VirtualBox do meu disco rígido.

Encontrei instruções on-line que descrevem isso usando primeiro o DD para criar uma imagem .raw e, em seguida, usando o VBoxManage para converter o .raw em um .vdi. Portanto, se meu HD tiver 1 TB, esse processo (temporariamente) requer 2 TB de espaço para armazenar os arquivos .raw e .vdi.

Eu tenho apenas um pouco mais de 1 TB de espaço livre. Existe uma maneira de criar uma imagem .vdi de um disco rígido, sem primeiro ter que criar uma imagem .raw?

SuperElectric
fonte
Isso é arriscado, mas se você tiver o disco rígido que deseja P2V, poderá criar a imagem no seu disco sobressalente com cerca de 1 TB grátis. Formate sua unidade original e copie o arquivo RAW para a unidade original. Em seguida, converta o RAW em VDI novamente na sua unidade principal. No entanto, se ele estragar (pode acontecer), você fica preso com uma imagem RAW e sem original.
Klobaltz
@kolbatz Eu considerei isso, mas achei que tinha uma grande chance de falhar. Quando eu imagino o disco rígido, o arquivo .raw resultante é do tamanho do disco rígido. Mas antes de copiar o arquivo de volta para a unidade original, preciso fornecer um sistema de arquivos à unidade. Isso envolve gravar alguns metadados na unidade, deixando pouco espaço para armazenar o arquivo do tamanho da unidade.
SuperElectric

Respostas:

53

Você pode criar diretamente uma imagem com VBoxManage convertfromraw. Primeiro desmonte o dispositivo e, em seguida:

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

Substitua /dev/sdapor qualquer disco ou partição que você deseja clonar.

Pode ser necessário fazer isso como root para obter acesso ao dispositivo. Nesse caso, você deve alterar a propriedade da imagem final.

user235224
fonte
2
Funciona perfeitamente e pronto para uso no OSX quando você tem o VirtualBox instalado. Obrigado por apontar a esta solução
JosFabre
8

Eu tentei a solução aceita, mas para mim ela falhou:

# 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

Talvez não tenha conseguido detectar o tamanho porque o disco foi conectado via USB?

Então, em vez disso, obtive o tamanho do disco com fdisk -l

Disk /dev/sdg: 160.0 GB, 160041885696 bytes

E então eu usei a forma stdin do convertfromraw

# 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
fonte
2

Existem outras maneiras mais seguras de criar um arquivo do seu sistema atual com o qual o Virtualbox pode trabalhar. Os Vdi são arquivos específicos da caixa virtual e geralmente são gerados apenas pelo VB a partir de uma nova instalação do disco rígido virtual.

Você tem muitas outras opções.

Recentemente, usei o disk2vhd para criar um .VHD (disco rígido virtual da Microsoft) que o Virtualbox importou lindamente. (Embora fosse um sistema XP) Eu não acho que funcione bem com outros sistemas operacionais.

Como alternativa, existe a ferramenta de conversão de Vmwares que pode exportar seu sistema para uma variedade de formatos que o virtualbox e outras plataformas podem usar. Existem padrões abertos para esse tipo de coisa.

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

Escandalista
fonte
2
Por que esses métodos são "mais seguros" na sua opinião?
22317 Andcoz
disk2vhd usa um instantâneo de volume, o que significa que pode ser usado para clonar um sistema enquanto estiver em execução.
mwfearnley
"Não acho que funcione bem com outro sistema operacional" -> bem, na verdade funciona, apenas espelhou com êxito um Windows 10 com disk2vhd, funcionou perfeitamente!
Henrique de Sousa