Artigos

Instalando o Windows em um HD virtual

Publicado por Felipe B. Zorzo em 12/01/10 às 21h10

Você sabia que é possível criar HDs virtuais no Windows 7/Server 2008 R2 e inclusive dar boot através deles? Aprenda a fazer isso passo a passo nesse super artigo.

Há uns dias atrás conheci, através de um post no Blog Acadêmico da Microsoft Brasil, o Innovation Lab, que, como o post diz, é um ?portal com diversos treinamentos gratuitos em tecnologias Microsoft?. Baixei alguns módulos, mas acabei vendo que em alguns deles é necessária a instalação de aplicativos, fazer e desfazer configurações? E eu não queria mexer na minha instalação atual do Windows (Server 2008 R2, a saber). Normalmente, em um caso desses, me recomendariam duas coisas: instalar o Windows em uma máquina virtual ou criar uma nova partição no HD e instalar o Windows nela.

Então, vamos analisar as possibilidades. Instalar em uma máquina virtual significa que o sistema não vai conseguir aproveitar bem o hardware da máquina ?real?, mas ela é bem flexível: é possível fazer backups facilmente, e quando não precisar mais, basta apagar um arquivo (o HD virtual). Porém, em geral, máquinas virtuais são lentas. Particionar o HD já resolve esse problema que aparece nas máquinas virtuais, mas gera outro: partições no HD não são flexíveis. É muito mais fácil criar um arquivo e excluí-lo do que criar uma partição e excluí-la. E agora? Decisão difícil, não é?

O Windows 7 resolve esse problema de uma maneira muito bacana, na minha humilde opinião. É possível criar HDs virtuais (.vhd), instalar o Windows e dar boot a partir deles. Mas o que são HDs virtuais? Resumidamente, esses arquivos VHD são arquivos que simulam um disco rígido utilizando um arquivo. Então, resolvi experimentar esse novo recurso do Windows 7. :D

Citando o Scott Hanselman:

NOTA: Isto é um recurso avançado e você pode perder um dedo. Nenhuma garantia expressa ou implícita. Existem alguns workarounds nos *tubes mas esse recurso só funciona no Windows 7 e Windows Server 2008 R2. Tenha medo.

Então, vamos ao que interessa. Antes de tudo, certifique de ter todos os requisitos abaixo:

  • Uma instalação do Windows 7 ou do Windows Server 2008 R2 funcional.

  • DVD do Windows 7 (Enterprise ou Ultimate, somente) ou um DVD do Windows Server 2008 R2 (qualquer versão).

  • Script Install-WindowsImage, que pode ser baixado nessa página, no link ?Install-WindowsImage.ps1?


E mais um aviso, você precisa de direitos de Administrador para realizar todos os passos. E todos os programas citados devem ser iniciados com direitos de administrador.

Precisamos antes qualquer coisa, criar o HD virtual, anexá-lo ao sistema e formatá-lo. Para isso, clique com o botão direito em Computador na área de trabalho ou no menu Iniciar e escolha ?Gerenciar?.

Abrindo o Gerenciamento do computador

Na sidebar à esquerda, selecione ?Gerenciamento de disco?, se ele não estiver selecionado, e na sidebar direita, clique em ?Mais ações? e então em ?Criar VHD? (a janela pode ser um pouco diferente no Windows 7, mas as opções são iguais).

Criar VHD no Gerenciador de disco

Na tela que é aberta, selecione o local do arquivo, o tamanho e o formato. Nesse exemplo, criei um VHD com 20GB, que é expandido automaticamente, ou seja, o tamanho do arquivo em disco vai aumentar conforme o conteúdo. É um pouco mais lento, porém economiza espaço em disco.

Definir local, tamanho e tipo do disco

Pressionando OK o VHD será criado e anexado ao gerenciador de discos. E não se assuste caso algum driver seja instalado. :) Isso é necessário para o Windows reconhecer o VHD. Agora vamos ?inicializar? o disco. Para isso, clique com o botão inverso do mouse no disco adicionado (com um ícone cor ciano, ou água, como preferir), como na imagem abaixo, e selecione ?Inicializar disco?.

Inicializar disco VHD

Na janela aberta, só pressione OK. Então, clique com o botão inverso do mouse no espaço marcado como ?Não alocado? ao lado do disco e escolha ?Novo Volume Simples??.

Criar partição primária

Assim, o Assistente para Novas Partições Simples será iniciado. Não há segredo algum no assistente, basta clicar algumas vezes em ?Avançar?, atribuir uma letra de unidade (aqui eu selecionei a unidade Z), informar um rótulo do volume (se desejar) e clicar em ?Concluir?. Assim, você verá um novo disco no ?Computador?.

VHD montado no Computador

Então, vamos instalar o Windows nesse HD. Só precisamos fazer uma coisa antes: ir nas propriedades daquele script que baixamos (no meu caso, coloquei em C:\Install-WindowsImage.ps1) e clicar no botão ?Desbloquear?. Por questões de segurança, o Windows ?bloqueia? a execução do arquivo baixado da Internet.

Desbloqueando arquivo

Existem várias maneiras de realizar esse procedimento, mas serei mais prático, e vou usar o (bastante desprezado, diga-se) Windows PowerShell. O PowerShell é um aplicativo de scripting disponível para Windows XP, Server 2003, Vista, vem como componente opcional do Windows Server 2008 e já está pré-instalado no Windows 7 e Server 2008 R2. Basicamente, é um prompt de comando turbinado via .NET Framework.

Então inicie o PowerShell como Administrador. Para isso, abra o Menu Iniciar, digite powershell no campo de pesquisa e na lista de programas, clique em Windows PowerShell com o botão inverso do mouse e escolha ?Executar como administrador?.

Abrir PowerShell como Administrador

Precisamos alterar a diretiva de execução de scripts temporariamente, pois o PowerShell por padrão bloqueia a execução de scripts (obrigado, Lucas, por ter me lembrado disso!). Para isso, execute o comando e confirme a operação:
Set-ExecutionPolicy RemoteSigned -scope Process

Pra instalar o Windows, vamos usar o script Install-WindowsImage. E ele precisa saber qual é a versão do Windows que queremos instalar. Então, com o DVD no drive (aqui é o drive D), é só executar o comando:
C:\Install-WindowsImage.ps1 -WIM D:\sources\install.wim

Ah, e lembre-se, altere se necessário o caminho do script e a unidade de DVD no comando acima. Aqui, com o DVD do Windows 7 RC, apareceu assim:

Detecção das versões do Windows no Install-WindowsImage

Certo, como eu quero instalar o Windows 7 Ultimate (só as versões Enterprise  e Ultimate suportam o boot em VHD), agora é só executar o comando abaixo:
C:\Install-WindowsImage.ps1 -WIM D:\sources\install.wim -Apply -Index 5 -Destination Z:

O comando é auto-explicativo, mas não custa nada explicar. Ele ?aplica? a versão do indíce 5 (a coluna ?Index? da imagem acima) à unidade Z, que é o VHD que criamos anteriormente. O processo demora um pouquinho

Instalação do Windows no VHD

Agora só nos resta configurar o boot. Considerando que o VHD esteja montado na unidade Z, é só executar:
Z:\Windows\System32\bcdboot Z:\Windows

Depois disso, temos o dual boot com a instalação real e a virtual configurado. E com o Windows 7 do VHD já instalado no gerenciador de boot, podemos mudar a descrição do Windows no boot e mudar o sistema selecionado por padrão. Para isso, chame o comando bcdedit no PowerShell. Você verá algo como:

Exemplo de saída do bcdedit

O conteúdo do retângulo amarelo da imagem vou chamar de {identificador}. Agora ele está como {default}, o que significa que esse é o item selecionado por padrão no gerenciador de boot. Quando adicionamos o Windows 7 do VHD ao boot, ele se torna o sistema padrão, ou seja, se não selecionarmos outro sistema no boot, essa nossa nova instalação será inicializada automaticamente.

Para mudar a descrição que aparece no gerenciador de boot (desnecessário, a menos que você goste de ver dois ?Windows 7? na lista), basta fazer algo como:

bcdedit /set "{identificador}" description "Windows 7 - VHD"

Onde {identificador} é o código que identificamos anteriormente.

E se você quiser deixar a instalação ?antiga? como padrão no boot (e considerando que estamos nela ainda), é só executar o comando:

bcdedit /default "{current}"

Feito isso, agora é só reiniciar o computador, no gerenciador de boot, escolher o recém instalado Windows 7 e realizar aquelas configurações básicas de pós-instalação do sistema, como a criação de contas de usuário, configuração de rede, drivers?

Windows Boot Manager mostrando o VHD

Desfazendo tudo


Se você já fez o que queria e quer limpar tudo isso que fizemos, é só fazer duas coisas:

  • Desanexar o VHD (se ele estiver anexado) no Gerenciador de discos.


desanexar-vhd

  • Deletar o arquivo VHD onde o Windows foi instalado.

  • Executar o comando bcdedit para descobrir o identificador do disco virtual.

  • Executar o comando bcdedit /delete "{identificador}" /cleanup, lembrando de substituir o {identificador} pelo identificador que encontramos antes.


Bom, é isso aí. Espero que seja bastante útil para vocês também, já que tudo indica que um beta do Windows Live Messenger 2010, e talvez até do Windows 7 SP1, será liberado na CES 2010, que acontece agora no início do ano. Sem dúvida alguma essa é uma boa maneira de testar softwares em fase de teste sem afetar a instalação atual.

Artigo adaptado do manual de uso do script Install-WindowsImage, que descobri através do blog do Rafael Godinho.

Comentários
Augusto comentou em 22/09/10 às 02h29: Responder achei massa, ja instalei aqui, rodou 100% mas nao vi vantagem pq eu ja estou com windows 7 instalado, nao ha necessidade de instalar outro win 7, tinha de ter um geito de instalar xp e vista, ai ficaria show, pq tem game que nao roda no win 7 só no xp, e o xp mode nao tem vga compativel..
Tiago comentou em 19/06/10 às 21h00: Responder Nossa essa dica pra mim foi a melhor do ano em virtualização, emulação e to genero, fiz uns testes aqui e instalei o W2k8 R2 e o Win7 X86 na minha maquina com isso ai rodando instalado no meu HD o Ultimate X64. Bom para quem tem algum problema com alguns programas que não funcionam bem com 64 bits.
Gustavo comentou em 19/01/10 às 19h10: Responder É pra isso que existe o XP Mode, mas é claro que não vai ser a mesma coisa, afinal, o XP mode é uma "maquina virtual oficial da MS"
Gustavo comentou em 19/01/10 às 17h10: Responder É pra isso que existe o XP Mode, mas é claro que não vai ser a mesma coisa, afinal, o XP mode é uma "maquina virtual oficial da MS"
eder s comentou em 13/01/10 às 16h06: Responder Existe uma forma de fazer esse mesmo procedimento, através do Dvd de instalação do Windows 7.
Eu vi isso num forum, não sei se pode postar ou nao link, mas lá vai:
http://forums.techarena.in/guides-tutorials/117...
Pelo guia, parece ser possível instalar a partir de uma máquina com Windows XP apenas.
ver mais









Mais comentados
Enquete

O que você achou do novo visual do WinAjuda?

Excelente, o melhor de todos!
Muito bom, melhor que o antigo
Bom, mas o antigo era melhor
Muito ruim...

» Resultado da enquete
Visite os sites das outras revistas: