Convertendo máquinas físicas em virtuais com o Disk2vhd

Na verdade o que Disk2vhd faz é converter o conteúdo do HDD físico em um HDD virtual, mas como isso é quase 100% do trabalho na criação de uma máquina virtual…

Eu ia escrever sobre isso aqui em julho de 2015, mas perdi essa e outras anotações em uma lamentável distração e não tive ânimo para escrever tudo de novo. Hoje eu precisei virtualizar um servidor Windows 2003 que está sendo aposentado para liberar logo o hardware e resolvi começar de novo.

A página do software diz que o programa é compatível com Windows Vista e mais recentes, mas a versão atualmente disponível lá (2.01) funciona com XP e até no Windows 2003 sem Service Pack algum (testado hoje).

A principal característica de Disk2vhd é ser capaz de criar a unidade virtual mesmo com a máquina física em uso. Você não precisa retirar o HDD e colocar em outra máquina para fazer a cópia, um benefício do serviço Volume Shadow que existe desde o XP.

O HDD virtual é criado em dois possíveis formatos:

  • .vhd – Compatível com Virtualbox;
  • .vhdx – Você pode “montar” diretamente no Explorer do Windows 8.1 e 2012 e supostamente até dar boot por ele. Compatível com a tecnologia Hyper-V da MS. Não parece ser compatível com Virtualbox. Certamente não como unidade de boot.

Dependendo da versão do Windows onde você executar o programa vai aparecer uma opção “Prepare for use in Virtual PC”. Se você vai usar no virtualbox, não marque essa opção.

Disk2vhd_Windows2003_ryan.com.br

Nos meus testes isso só adicionou um item no menu de inicialização da máquina virtual que se usado leva a uma situação de travamento.

Disk2vhd_Virtualbox_Bootmenu_ryan.com.br

No Virtualbox

Certifique-se de adicionar o arquivo .vhd como uma unidade IDE. Isso não é necessário sempre. Em alguns casos é preferível que você use uma controladora SATA. Você escolheu errado se ao iniciar der um erro de tela azul com código 0x0000007B.

Disk2vhd_Virtualbox_armazenamento_640_ryan.com.br

[08/04/2024] Se estiver virtualizando o XP, pode ser necessário mudar o “Tipo” da controladora para ICH6. Mudar para Pixx3 também parece resolver mas em um de meus testes, a instalação de drivers que ocorre no primeiro boot provocou repetidas vezes a corrupção do boot.

Se não der boot, experimente mudar nas configurações da VM primeiro a opção I/O APIC e depois o tipo de chipset:

Disk2vhd_Virtualbox_sistema_640_ryan.com.br

Os problemas aos quais o Windows é sujeito ao se trocar a placa-mãe continuam podendo acontecer. Por exemplo, o boot deste parou por causa do já conhecido intelppm.sys (veja lá no fim do texto), que é notório por falhar espetacularmente quando não acha uma legítima CPU Intel na máquina:

Disk2vhd_Virtualbox_intelppm_ryan.com.br

E a solução é a mesma que você usaria em uma placa mãe real: apagar ou desabilitar esse driver.

9 comentários
  • Eder - 1 Comentário

    Desculpe a pergunta noob, mas como apagar ou desabilitar os drivers da máquina para rodar em uma VM, pois é quase 100% certo que a máquina convertida não irá funcionar por motivos de drivers incompatíveis com os da máquina virtual.

    • Jefferson - 6.465 Comentários

      Você está enganado quanto à probabilidade de sucesso. Mesmo numa troca de placa mãe física eu chutaria 50% de chances de dar certo sem nenhuma preparação. E se você tomar alguns cuidados preparatórios suas chances aumentam bastante.

      No fim de 2009 eu escrevi uma série de textos sobre como contornar o problema mais comum: o erro STOP 0x0000007B. E no final deste texto já tem um link para a solução do segundo problema mais comum: O STOP 0x0000007E. Quem se habituou a “resolver” problemas formatando sequer sabe quais são os problemas mais comuns e muito menos resolvê-los mas qualquer um que venha prestando atenção aos meus textos de uma década para cá sabe que poucos problemas são impossíveis de resolver.

      Eu não posso afirmar quais são as chances na conversão para máquina virtual porque isso ainda é território novo para mim. Eu só fiz a conversão umas quatro vezes. Mas uma vez que você entenda quais são os problemas que impedem a troca de uma placa mãe, eu diria que suas chances de sucesso numa conversão para máquina virtual são muito maiores do que você imagina.

    • Jefferson - 6.465 Comentários

      Acabo de virtualizar por esse processo uma máquina Lenovo, Core i3, rodando Windows 10 de 64 bits. Não fiz nenhuma preparação e a máquina virtual rodou na primeira tentativa. Só tive o cuidado de desabilitar a placa de rede para evitar problemas na ativação da máquina real do cliente.

      E algo completamente inesperado aconteceu: Eu virtualizei para estudar o problema da máquina do cliente (explorer reiniciando em loop infinito mesmo no Modo de Segurança) sem correr o risco de bagunça-la ainda mais e o problema desapareceu na máquina virtual.

  • Jefferson - 6.465 Comentários

    Acabo de descobrir que se você usar o software de clonagem Macrium Reflect pode usar o utilitário imgtoVHD para converter o backup em um disco virtual. Esse utilitário está em eterno beta e a Macrium não garante nada, mas se estiver usando a versão professional ou server do Reflect, o próprio disco de recuperação vem com uma opção “reDeploy” para isso que aparentemente é garantida.

  • Jefferson - 6.465 Comentários

    Hoje eu precisei virtualizar uma máquina com dual boot Windows XP e Windows 7 32 bits e esbarrei em um problema curioso. Pedindo ao disk2vhd para criar uma imagemn com as partições XP e Windows 7 eu só consigo dar boot no Virtualbox pelo Windows 7 pois pelo XP dá erro STOP 0x0000007B. Mas se eu pedir ao disk2vhd para criar uma imagem apenas com a partição do XP, eu consigo dar boot pelo XP usando (aparentemente) as mesmas configurações. Ainda não consegui determinar qual a diferença.

    A máquina real é um notebook com HDD SATA mas com controladora configurada para modo IDE no BIOS.

    As duas máquinas virtuais tem controladora IDE tipo PIXX4 e Chipset ICH9 com I/O APIC habilitado.

    Isso não é um real problema porque eu prefiro ter máquinas virtuais distintas, uma para cada SO, mas se eu realmente precisasse manter o dual boot estaria com um abacaxi para descascar.

  • Jefferson - 6.465 Comentários

    Eu consegui contornar a proteção contra cópias de um programa de relógio de ponto usando esse processo para virtualizar uma instalação do Windows 8.1 32 bits com o programa. O controle de ponto dos funcionários foi atribuído a outra funcionária e a empresa que vendeu o relógio de ponto cobra R$145 só para instalar o programa em outro computador.

    Apesar de parecer mais razoável que os R$268 por hora da Madis eu não me sinto confortável com um programa que eu não posso mover facilmente entre máquinas. Eu preferia depender de um maldito dongle USB a ter que pagar R$150 toda vez que der algo muito errado no computador onde roda o software.

    Eu precisei explicar à nova encarregada do controle de ponto como usar o virtualbox e tive que aumentar a RAM da máquina dela de 2GB para 4GB. Ainda ficou lento, possivelmente porque o guest é windows 8, mas mesmo que eu tenha que aumentar para 6GB ainda vale mais a pena que pagar por cada reinstalação do programa.

  • Jefferson - 6.465 Comentários

    Ultimamente eu vinha sempre usando controladoras SATA nesse processo sem problemas (é o default do Virtualbox), mas esta semana eu me deparei com um erro STOP 0x0000007B ao fazer a virtualização de uma máquina Windows 7 de 64 bits e trocar a controladora por uma IDE resolveu o problema.

  • Jefferson - 6.465 Comentários

    Tive um problema estranho com a interface de rede ao virtualizar um servidor Windows 2008 R2 x64 e explico como resolvi aqui

  • Jefferson - 6.465 Comentários

    É recomendável, principalmente em servidores, fazer a imagem com o disco “offline”. O LiveCD Sergei Strelec tem o disk2vhd.

Deixe um comentário para Jefferson Cancelar resposta

Você pode usar estas tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

:) :( ;) O_o B) :lol: :huh: :S :D :-P 8-O :yahoo: :rtfm: :dashhead1: :clapping: more »