Respostas:
A dd
abordagem funciona, mas somente se o disco físico de destino puder ser descartado e totalmente sobrescrito e for pelo menos tão grande quanto o tamanho máximo de crescimento do disco virtual. Isso também pode levar muito tempo se o disco virtual não estiver "cheio".
Uma abordagem alternativa é usar uma ferramenta de criação de imagens como o Ghost ou o ImageX para capturar eficientemente o conteúdo do arquivo das partições do disco virtual em algum tipo de arquivo extraível e depois extrair seu conteúdo em um disco físico particionado.
dd
que funcione diretamente, o VHD não é um formato RAW. Pode ter que usar qemu-img
para convertê-lo em um arquivo IMG primeiro.
Eu uso a ferramenta HDD Raw Copy Tool do Windows apenas para gravar imagens .vhd na mídia física.
Meu caso de uso está usando o Windows 7 para replicar partições FAT32 em cartões micro SD, mas ele pode suportar uma ampla variedade de interfaces / tipos de mídia.
Possui uma versão portátil disponível para uso único ou nômade, ou um instalador, se você preferir esse tipo de coisa.
A GUI é bastante direta:
Anexe o VHD a uma máquina virtual (você pode usar o MS Virtual PC, VirtualBox ou qualquer outro software de virtualização que suporte VHD). Em seguida, inicialize a VM com o Acronis True Image ISO montado em uma unidade de CD virtual e crie uma TIB
imagem, depois inicialize o computador physicl com o mesmo CD (desta vez gravado em um disco) e recupere a TIB
imagem no HD físico usando Setor por setor.
Isso suporta a recuperação de várias partições da mesma imagem.
create TIB image
e onde salvá-lo? Para o disco rígido virtual? E se VHD 200 ou mais Gb? Esta solução não é aplicável
As seguintes operações são executadas no knoppix (live linux) do terminal.
su
modprobe nbd
qemu-nbd -r -c /dev/nbd0 -f vpc <vhd_file_name>
se VHDX forro
qemu-nbd -c /dev/nbd0 -f VHDX <vhdx_file_name>
ddrescue -v -f /dev/nbd0 /dev/sda >>>> image to /dev/sda writing
apenas uma partição escrevendo
qemu-nbd -P 2 -r -c /dev/nbd2 -f vpc <vhd_file_name>
ddrescue -v -f /dev/nbd2 /dev/sda2 >>>> part2 of image to /dev/sda2 writing
montagem de partição
qemu-nbd -P 2 -r -c /dev/nbd2 -f vpc <vhd_file_name> >>> -P 2 part2 of image
mount /dev/nbd2 /mnt
desmontar e desconectar o arquivo de imagem
unmount /mnt
qemu-nbd -d /dev/nbd2
Se você preferir usar a ferramenta baseada no Windows, faça o seguinte:
Savepart é uma ferramenta (gratuita, mas não de código aberto, disponível para Windows e Linux) que pode ser usada para criar partições de imagem. Depois que o VHD é anexado, ele pode ser restaurado em uma partição física pelo savepart como se fosse uma partição física.
Eu mesmo fiz isso no disco do sistema usando o Acronis e funcionou. Este era um Windows 8.1 com Hyper-V e eu precisava movê-lo para o disco físico para atualizar para o Windows 10.
Foi assim que eu fiz: conectei o SSD a outro PC e montei o VHD. Eu então clonei do VHD montado para outro SSD (eu ia substituí-lo de qualquer maneira). Eu escolhi "Manual" e as configurações padrão, mas pode funcionar com "Auto" também.
Quando eu inicializei com o novo SSD, o Windows não iniciava, então reinicializei com um disco de instalação do Windows e escolhi "Reparar". O Windows iniciou como normal diretamente do disco.
O único problema depois disso foi um erro ao iniciar uma máquina virtual, informando que o Hypervisor não estava em execução. Resolvido, executando o seguinte comando em um prompt elevado do MS-DOS e reinicialize: "bcdedit / set hypervisorlaunchtype Auto".