Conversão de máquinas reais em VM – Experiência pessoal com final feliz

Sempre que troco de computador, para além do processo de passagem de informação para o substituto, tenho por hábito virtualizar o antigo, salvaguardando alguma configuração, ficheiro ou aplicação que não tenha migrado para o novo, seja por opção, seja por esquecimento. Um exemplo é a VM que tenho com uns 6 anos onde ainda tenho o Visual Studio 2003.


Para o efeito costumo usar o VMWare Converter Standalone (gratuito) - a minha preferência pelos produtos VMWare deriva da maior facilidade em mapear portas USB para as VM, em concreto para fazer debug para devices, razão pela qual adquirimos licenças de VMWare Workstation – que cria uma VM funcional a partir da máquina real em execução, o chamado Physical To Virtual (P2V). Abrindo essa VM no VMWare Player (gratuito) ou no VMWare Workstation podemos utilizá-la praticamente como se fosse na máquina real.


O processo de criação das VM no entanto nem sempre é trivial, pois o hardware virtualizado difere necessariamente da máquina física a partir a qual a VM foi criada, pelo que para minimizar a possibilidade da VM não arrancar, há alguns cuidados a observar, como desinstalar o antivírus, remover algum hardware do device manager como controladores RAID e outro hardware que não constará na máquina vitualizada e parar serviços Windows e aplicações em execução. Tal como é esperado, dada a diversidade de configurações de hardware, não há uma lista “completa” do que deve ser feito antes do P2V. Além destes cuidados, ter em atenção o espaço ocupado pelas aplicações e ficheiros, pois quanto menor for esse espaço, mais rápido é o processo de P2V e mais pequenos são os discos “virtuais”. Um exemplo, tipicamente desinstalo o SQL Server e o Office, e removo as bases de dados, backups e ficheiros do Outlook, o que permite “poupar” umas dezenas de GB no disco. Esta página apesar de ser sobre o Disk2VHD, tem informação útil sobre este processo independentemente da ferramenta de virtualização.


Apesar de toda esta teoria, desta vez tive uma dificuldade especial em converter o meu Tecra S11 para VM. A máquina tinha duas partições “utilizáveis” de origem, uma com o Windows 7 original, e outra onde tinha instalado o Windows 8 Pro. Além destas partições, tinha outras duas, uma penso que com a informação de boot, e outra que assumo que tivesse os ficheiros de recuperação da Toshiba.


Como tal, apesar de só querer virtualizar a partição com Windows 7, tinha de virtualizar o disco todo, mas as diversas tentativas com o VMWare Converter resultaram sempre em erro na parte final da conversão. Apesar desse erro, o disco (.vmdk) e a informação da VM (.vmx) eram criados, mas sempre que tentava arrancar a VM com o VMWare Workstation 9 e escolhia o Windows 7, obtinha um BSOD (ecrã azul) e o sistema operativo não arrancava. Tentei start mode, automatic recovery, uma série de outras coisas, sem sucesso e de cada vez que voltava a fazer o P2V eliminava mais drivers mas sempre com o mesmo desfecho. Curiosidade: o Windows 8 corria na perfeição na VM mas não era o que eu pretendia…


Dado que não conseguia avançar por esta via, experimentei o Disk2VHD da SysInternals, que gerou o VHD que depois tentei abrir com o Hyper-V, mas sem sucesso, a VM nunca arrancava, dava logo um problema de boot. Experimentei “montar” o ISO do Windows 7 como CD e arrancar a partir deste para aceder às ferramentas de recuperação, mas nunca consegui com os diversos comandos que testei (BCDBOOT.exe, BCDEDIT.exe, …) que a VM arrancasse de todo, pelo que voltei ao VMWare Converter.


Decidido a resolver o problema, capturei o ecrã azul do arranque do Windows 7 e comecei a pesquisar na internet pelos códigos de erro apresentados. O código STOP: 0x0000007B denunciava um problema com o dispositivo de boot, que podia ser a falta de um driver, corrupção ou um vírus de baixo-nível… cruzando o erro com o VMWare, começaram a aparecer coisas mais concretas, e esta página referia uma situação concreta que fazia sentido. No entanto, para aplicar a sugestão teria de ter uma VM com o mesmo sistema operativo (Windows 7 x64) de onde copiar um pedaço do registry, mas só tinha VMs com Windows 7 de 32 bit, que achei melhor não utilizar pelos diferentes nomes nos respectivos drivers. Caso tivesse essa VM, bastaria a priori copiar o tal ramo do registry, importá-lo para a minha máquina Windows 7 real, e voltar a correr o processo de P2V com o VMWare Converter e já não seria esperado obter o tal erro que obtinha sempre na parte final da conversão.


Já mentalizado para a necessidade de criar uma VM com Windows 7 x64 para poder importar o tal ramo do registry, continuei com algumas pesquisas, fiz algumas experiências que não tiveram sucesso, até que encontrei esta página que mencionava um registry hack, que a não ser suficiente, teria de ser complementado com a edição do ficheiro da VM (.vmx). Dado que o referido hack ao registry não produziu efeito, fiz as alterações sugeridas ao ficheiro .VMX e reiniciei a VM. Certamente por causa dessa alteração a VM demorou muito mais tempo a arrancar do que o esperado, mas ao fim de uns minutos, finalmente arrancou!!!


Em resumo, ao fim de 2 ou 3 semanas encontrei uma solução que podia ter aplicado logo que a primeira conversão falhou, razão pela qual publico este post, que espero que possa revelar-se útil para outros.


 

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>