Como copiar uma imagem VHD de volta para um disco físico?


12

É muito fácil fazer backup de uma unidade real para VHD, por exemplo, com o Disk2VHD da Sysinternal no XP ou com o Windows Image Backup no Windows 7. Mas como copio esse arquivo de volta?

É possível inicializando um CD de recuperação ou o DVD de instalação do Windows. Mas isso também pode ser feito a partir de um sistema operacional em execução? Pode ser roteirizado?

Queremos clonar uma unidade para outra unidade diariamente usando isso.


1
Você só quer usar o VHD como um formato de troca? Sem nunca executá-lo em uma máquina virtual? Em seguida, use software de imagem como Clonezilla, Norton Ghost ou Acronis True Image.
mailq

4
A Microsoft escolheu o VHD como formato de imagem para qualquer tipo de atividade: eles o usam para backups e no Win 7 você pode montá-los diretamente. A questão de como restaurar um backup certamente está bem!
Christian

Respostas:


9

Você pode usar qemu-nbdno Linux para acessar uma imagem de disco como se fosse um dispositivo de bloco.

Aqui estão alguns exemplos de operações que podem ser executadas a partir de um terminal Knoppix ativo.

  su 
  modprobe nbd
  qemu-nbd --read-only --connect=/dev/nbd0 --format=vpc <vhd_file_name>

Se o formato VHDX:

  qemu-nbd --connect=/dev/nbd0 --format=VHDX <vhdx_file_name>
  ddrescue --verbose --force /dev/nbd0 /dev/sda  # write image to /dev/sda

Escreva uma partição:

  qemu-nbd --partition=2 --read-only --connect=/dev/nbd2 --format=vpc <vhd_file_name> 
  ddrescue --verbose --force /dev/nbd2 /dev/sda2 # write partition 2 of image to /dev/sda2

Montar partição:

  qemu-nbd --partition=2 --read-only --connect=/dev/nbd2 --format=vpc <vhd_file_name>
  mount /dev/nbd2 /mnt 

Desmonte e desconecte o arquivo de imagem:

  unmount /mnt 
  qemu-nbd --disconnect /dev/nbd2

4

Há pelo menos duas perguntas semelhantes que receberam respostas aceitas:

/superuser/40294/copying-a-vhd-to-a-physical-disk

Vdisk (vhd) para físico

Mas você não pode fazê-lo em um sistema operacional em execução.

Seria difícil escrever isso. Seguindo a ddabordagem do Linux, pode-se dizer que tudo é possível. Inicialize a partir do PXE, localize o VHD, localize o disco físico, dd de V a P, quando terminar a reinicialização.



2

Use a ferramenta de cópia bruta HDDGuru

  1. Monte o VHD (X) usando o explorer no Windows 8/10
  2. Conecte o disco de destino
  3. Use a ferramenta Raw Copy para copiar o disco montado para o destino do disco físico

Isso pode ser usado para qualquer um dos formatos montáveis ​​no Windows, iso, vhd, vhdx etc.


1
Uma partição única pode ser selecionada na Raw Copy Tool como destino? Eu vejo isso só permite substituir o disco inteiro
Suncatcher

2

É possível usar o Virtualbox para conectar um dispositivo físico como um dispositivo virtual dentro da VM

Método do Windows

VBoxManage internalcommands createrawvmdk -filename "C:\Users\vhudson\VirtualBox VMs\usb.vmdk" -rawdisk \\.\PhysicalDrive1

Método Linux

VBoxManage internalcommands createrawvmdk -filename usb.vmdk -rawdisk /deb/sdb

Usando um iso adicional como CD ao vivo, algo como inicialização hirens ou alguma imagem de recuperação do linux, também é possível copiar imagens de um dispositivo virtual para um dispositivo físico que esteja virtualmente presente na máquina virtual.


1

Eu usei o vmdk2phys para fazer isso com êxito.

Existe outra ferramenta chamada Disk Image Tools ou DITOOLS , que pretende fazer o mesmo.

Como outros já afirmaram, a Acronis True Image pode fazer isso. A Western Digital possui uma versão do acronis true image que funciona em qualquer computador com pelo menos um disco rígido WD instalado chamado Acronis True Image WD Edition , no entanto, não tenho certeza se ele suporta imagens de disco rígido de máquina virtual como VHD / VMDK.

Outra opção é montar o vhd no MMC de gerenciamento de disco e usar uma ferramenta como o Roadkil RawCopy .


Tal como visto a partir da descrição DITOOLS ele suporta conversão só disco a imagem, e não vice-versa
Suncatcher

1

Existe um programa chamado VHD2disk que fará isso, mas como as postagens anteriores mencionaram, ele precisa ser executado no Windows. Eu usei com sucesso o HIRENS PE10, que inicializa um ambiente Windows 10 da unidade flash ou DVD. Também clonei e fotografei com sucesso usando essa abordagem.

O utilitário VHD2disk, diferentemente do DISk2VHD, não é produzido pela sysinternals, mas ainda funciona bem. (BTW, eu estava tendo problemas para encontrá-lo no Google pela última vez que acabei de verificar - foi assim que acabei aqui)


0

Não tenho conhecimento de uma maneira livre, mas sei que um dos produtos da Acronis ('True Image'?) Pode fazer isso.



0

O comando qemu-img, que faz parte do pacote do emulador QEMU, suporta VHD. Não sei se isso funciona no Windows, mas no Linux, pelo menos (suponho que não importa, pois você não marcou a plataforma desejada?).

Para restaurar o image.vhd para / dev / sda, execute:

qemu-img convert -f vpc image.vhd /dev/sda

-1

Se você estiver executando o win vista, 7, 8 ... Você pode usar o bcdedit. Cole seu arquivo vhd em c: gere um novo sid para sua nova máquina Dê o caminho para o vhd Ative o OS Reboot e você terá uma inicialização dupla com seu novo sistema. Você vai trabalhar diretamente em sua imagem vhd


Pense que o OP precisa de etapas sobre como usar o bcdedit e como "colar seu arquivo vhd em c:".
user66001

-1

Sim, resumir a melhor maneira é usar o qemu-img como

  1. apt install qemu-utils

  2. qemu-img converte -f vpc image.vhd / dev / sda

  3. e monte o dispositivo de bloco no arquivo criado .. mount /dev/sda /path/to/new_file_created

Agora você pode acessar os dados new_file_created

O dev / sda é o seu dispositivo de bloco disponível e pode precisar ser alterado dependendo da sua configuração.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.