Utilizando o WinPE 3.0 para backup e instalação do Windows 7
Autor: Marconi Neves | Publicado: 2011-10-27T23:35:00-02:00

O WinPE (Windows Preinstallation Environment)  é uma versão reduzida do Windows destinada especificamente para  preparar um computador para uma nova instalação. Ele pode inicializar um  computador novo, que não tenha um sistema operacional instalado, e ser  utilizado para particionar e formatar o disco rígido, copiar imagens de  disco e inicializar a instalação do Windows. É possível também  utilizá-lo para realizar backup e manutenção de computadores.

A versão atual, baseada no Windows 7, é o WinPE 3.0.  Neste tutorial iremos aprender como utilizar o WinPE para capturar a  imagem de instalação personalizada do Windows 7 e como gravar esta imagem em novos computadores.

Pré-Requisitos

Tenha em mãos:
Kit de Instalação Automatizada do Windows 7 – Windows AIK. Baixe&nbsp;aqui.
Ferramenta para abrir o ISO do AIK. Recomendo o&nbsp;MagicDisc que é gratuito e funciona muito bem. Se preferir você pode queimar o ISO num CD.
Computador com sistema operacional Windows Vista, 7 ou 2008, para  instalação do AIK e geração de Disco USB para inicializar o WinPE e  realizar a captura e a gravação de imagem personalizada do Windows.
Disco USB (PenDrive) com pelo menos 512 MB de capacidade para gravar  o WinPE. Pode ser&nbsp;maior se você quiser gravar a imagem personalizada do  Windows diretamente no PenDrive. Outra opção é gerar um CD/DVD bootável  contendo o WinPE. Isso também será mostrado neste tutorial.
ResumoSão esses os passos que iremos seguir:
Instalação do Windows AIK.
Geração de PenDrive ou CD/DVD inicializável contendo o WinPE.
Captura da imagem de instalação personalizada do Windows 7.
Gravação da imagem de instalação do Windows 7 em um novo computador.
TutorialVamos por a mão na massa.
1. Instalação do Windows AIKSe você já instalou o Windows AIK, pule para o próximo passo.
O Windows AIK vem no formato ISO. Utilize um programa como o&nbsp;MagicDisc para abri-lo ou então queime o ISO num CD/DVD.
Execute o arquivo StartCD.exe que vem no CD e na tela que se abre clique em&nbsp;Instalação Windows AIK.


Siga os passos da instalação deixando os valores padrão. Feche a janela ou clique em&nbsp;Sair.
Simples, fácil e rápido.
2. Geração de PenDrive ou CD/DVD inicializável contendo o WinPE.Essa é a tarefa mais difícil.
Passo 1:Com o Windows AIK instalado, clique em Iniciar,Todos os Programas, Microsoft Windows AIK. Clique com o botão direito do mouse sobre&nbsp;Prompt de Comando das Ferramentas de Implantação e escolha a opção Executar como administrador.
Uma nova janela como a abaixo será mostrada:



Insira o PenDrive em uma porta USB de seu computador.
 O PenDrive será formatado para receber o WinPE, então aproveite para fazer um backup do mesmo antes de prosseguir.
No Prompt de comando digite Diskpart. Uma nova tela será aberta:



Nesta nova tela digite list disk. Uma lista contendo  todos os discos encontrados será exibida. Identifique o seu PenDrive.  No meu caso é o disco 2, conforme ilustra a imagem abaixo:



Digite os comandos na sequencia abaixo.
ATENÇÃO: &nbsp;Troque 2 pelo número de seu disco.
select disk 2
clean
create partition primary
select partition 1
active
format fs=fat32 quick
assign
exit&nbsp;A saída será algo parecido com isso:



Quando você digitar exit, a janela do Diskpart será fechada e você retornará para o Prompt de comando das Ferramentas de Implantação. Digite:

copype.cmd x86 c:\winpe_x86&nbsp;Se preferir uma imagem de 64 bits troque x86 por amd64 no comando acima.
A estrutura do WinPE será copiada para a pasta winpe_x86. Não se  preocupe em criar esta pasta, ela será criada automaticamente para você.  O resultado será o seguinte:


Passo 2:Precisamos da ferramenta&nbsp;imagex para permitir a captura e gravação da imagem personalizada do Windows 7. Este utilitário não vem por padrão no WinPE.
Para incluir esta ferramenta vamos primeiro montar a imagem do WinPE, copiar o utilitário e por fim salvar a imagem do WinPE.
Para abrir a estrutura do WinPE digite:

imagex /mountrw winpe.wim 1 mount&nbsp;ATENÇÃO: É importante executar o Prompt de Comando das Ferramentas de Implantação como usuário administrador, caso contrário a execução do comando acima irá falhar.
O WinPE será montado na pasta mount:


Copie o utilitário imagex para o WinPE que acabou de ser montado, digitando o comando:
copy "c:\Program Files\Windows AIK\Tools\x86\imagex.exe" c:\winpe_x96\mount\Windows\Agora feche e salve as alterações na imagem do WinPE com a execução do seguinte comando:
imagex /commit /unmount mountA saída da execução será a seguinte:

Passo 3:Copie a imagem do WinPE para a pasta correta e com o nome correto para permitir a inicialização do PenDrive:

copy c:\winpe_x86\winpe.wim c:\winpe_x86\ISO\sources\boot.wim&nbsp;Por fim copie o WinPE para o PenDrive. Substitua G: pela letra atribuída&nbsp;automaticamente para o seu PenDrive.

xcopy c:\winpe_x86\ISO\*.* /e G:\&nbsp;A execução do xcopy será a seguinte:



Agora você pode utilizar o PenDrive para inicializar um computador utilizando o WinPE.
Se quiser gerar uma imagem ISO inicializável para gravar num CD ou  DVD é só executar o seguinte comando neste mesmo prompt de comando:

oscdimg -n -bc:\winpe_x86\etfsboot.com c:\winpe_x86\ISO c:\winpe_x86\winpe_x86.iso
Isso irá gerar o arquivo winpe_x86.iso na pasta c:\winpe_x86. Utilize o programa de sua preferência para gravar o ISO em um CD ou DVD.
A figura abaixo ilustra a execução do comando oscdimg utilizado para gerar o ISO do WinPE:



ATENÇÃO: A inicialização por PenDrive USB costuma  ser bem mais lenta do que quando realizada por CD ou DVD. Isto ocorre  pois a maioria dos computadores inicializa com a USB em modo 1.0, com  velocidade extremamente reduzida. Verifique o manual de sua placa mãe  para saber se é possível inicializar com a USB em modo 2.0 ou superior  para aumentar a velocidade do boot. Outra opção é utilizar um CD ou DVD  ou ainda realizar o boot pela rede. Falarei como fazer o boot do WinPE  pela rede num próximo artigo.
3. Captura da imagem de instalação personalizada do Windows 7Utilize o PenDrive ou o CD/DVD preparado no passo anterior e  utilize-o para inicializar o computador que contém a imagem do Windows 7  que deseja capturar.
Algumas máquinas mostrar um menu de boot quando se pressiona F8 ou  F12 na inicialização. Outras precisam ser configuradas na BIOS para  inicializar por um disco USB. Normalmente a tecla DEL permite acessar a  BIOS e configurá-la. Verifique o manual de sua placa mãe para saber como  inicializar utilizando um disco USB.
Após a inicialização, uma tela como esta será mostrada:



Só feche esta janela quando tiver concluído todas suas atividades. Ao  fechar esta janela o WinPE é encerrado e o computador é automaticamente  reinicializado.
Vamos utilizar o utilitário imagex que copiamos para&nbsp;o WinPE para fazer a captura da imagem de instalação personalizada do Windows 7.

O drive C:\ deve estar montado como o disco principal do computador e  é ele que vamos capturar. O drive X:\ é o drive montado como o raiz do  WinPE.

Precisamos de um lugar para salvar a imagem personalizada. Pode ser  um PenDrive, nesse caso insira o PenDrive em uma porta USB do computador  e verifique qual a letra mapeada. Outra opção é uma pasta da rede. Para  mapear uma pasta da rede execute o seguinte comando:

net use Z: \\nome-do-servidor\nome-do-compartilhamento&nbsp;Onde Z: é a unidade que vamos utilizar para mapear a pasta da rede,&nbsp;nome-do-servidor é o nome DNS ou o IP de seu servidor de arquivos e nome-do-compartilhamento  é o nome da pasta compartilhada. Você pode compartilhar uma pasta de  seu próprio computador para fazer a cópia. Se for necessário o Windows  irá perguntar por um usuário e senha para se conectar a pasta  compartilhada.

Para capturar a imagem do drive C: para a pasta Backup do drive Z: com o nome do arquivo sendo imagem.wim, com compressão fast (outras opções são maximum e none) e nome da imagem "Microsoft Windows 7 Professional (x86)" digite o seguinte comando:

imagex /compress fast /capture c:\ z:\Backup\imagem.wim "Microsoft Windows 7 Professional (x86)"
A saida será a seguinte:


No final do processo, que demora um pouco, você terá uma imagem de  sua instalação do Windows, pronta para ser levada para outros  computadores.
4. Gravação da imagem de instalação do Windows 7 em um novo computadorUtilize seu PenDrive ou CD/DVD contendo o WinPE com o imagex para  inicializar o novo computador que irá receber a imagem personalizada do  Windows 7.

A primeira coisa a fazer é preparar o disco utilizando o diskpart. Os comandos são os seguintes:

diskpart
select disk 0
clean
create partition primary
format quick fs=ntfs
assign letter="C"
active
exit&nbsp;A saída será a seguinte:



Você pode automatizar essa tarefa criando um script. Basta criar um  arquivo txt contendo os comandos a serem executados pelo diskpart, por  exemplo diskpart.txt:

select disk 0
clean
create partition primary
format quick fs=ntfs
assign letter="C"
active
exit&nbsp;E um outro arquivo, por exemplo disco.cmd:

diskpart /s diskpart.txt&nbsp;Grave estes dois arquivos na pasta Windows\system32 do ponto de montagem do WinPE, da mesma forma como fizemos com o imagex.exe no passo 2 acima. Dai quando você inicializar a máquina pelo WinPE, basta executar disco.cmd para preparar o disco. Outros scripts podem ser gravados para facilitar suas tarefas.

Agora que o disco está preparado, vamos gravar a imagem que geramos  antes. Coloque o PenDrive com a imagem salva, ou então monte a pasta de  rede que contém a imagem com o comando net use.
Para aplicar a imagem que está no arquivo imagem.wim na pasta backup do drive Z: para o drive C:, digite o comando:

imagex /apply Z:\backup\imagem.wim 1 C:\&nbsp;O parâmetro 1 indica que é a primeira imagem do arquivo .wim. Um arquivo .wim pode conter diversas imagens, como só gravamos uma, então o número da imagem é 1.



Ainda falta ajustar o BCD (Boot Configuration Data)  que é um arquivo especial utilizado pelo Windows 7 para gerenciar qual o  disco e partição utilizados para inicializar a máquina.

Por algum motivo o windows não&nbsp;reconstrói&nbsp;o BCD da maneira correta e precisamos corrigir alguns valores.

Para listar os valores contidos no BCD execute bcdedit sem&nbsp;parâmetros. Você verá uma tela como essa:



Note que os&nbsp;parâmetros&nbsp;device e osdevice estão com valor unknown. Isto fará com que o computador mostre uma mensagem de erro de inicialização de número 0xc000000e e informando que não consegue encontrar o arquivo \windows\system32\winload.exe. Para corrigir estas informações no BCD digite:

bcdedit /set {default} device Partition=C:
bcdedit /set {default} osdevice Partition=C:
bcdedit /set {bootmgr} device Partition=C:ObservaçõesVocê pode colocar os comandos net use, diskpart, imagex e bcdedit todos em um único script para facilitar a gravação de imagens e evitar erros.

Minha sugestão de script é a seguinte:

@echo off
echo Montando pasta de compartilhamento contendo a Imagem do Windows 7...
:credenciais
net use Z: \\nome-do-servidor\nome-do-compartilhamento
if not %errorlevel% == 0 goto credenciais
echo Preparando o disco local para receber a imagem do Windows 7...
diskpart /s diskpart.txt
echo Gravando a imagem do Windows 7 no disco local...
imagex /apply Z:\backup\imagem.wim 1 C:\
echo Corrigindo informações do BCD...
bcdedit /set {default} device Partition=C:
bcdedit /set {default} osdevice Partition=C:
bcdedit /set {bootmgr} device Partition=C:&nbsp;Dica 1
Coloque este script, com o nome imagem.cmd, por exemplo, juntamente com o script diskpart.txt acima,&nbsp;na pasta Windows\System32 do ponto de montagem do WinPE, da mesma forma que realizado com o imagex.exe no passo 2. Quando o WinPE inicializar basta executar imagem.cmd para ter o disco da nova máquina preparado e com a imagem personalizada do Windows 7 gravada.
Agora é só fechar a janela de comandos do WinPE para reinicializar o  computador e prosseguir com a instalação automatizada do Windows 7.

Dica 2
Para colocar a imagem personalizada do Windows 7 dentro do mesmo  pendrive onde gravou o WinPE, grave a imagem do Windows 7 na pasta raiz  do pendrive, ou crie uma pasta especifica para ela. Não coloque a imagem dentro do arquivo wim do WinPE pois isto não irá funcionar. Quando o WinPE inicializar você terá o drive X: mapeado para o WinPE e um outro drive mapeado para o pendrive.
O único problema com esta abordagem é que a letra do pendrive pode  variar de computador para computador e um script para gravar a imagem do  Windows de forma automática precisa levar este fato em consideração.  Infelizmente não há um comando mágico para descobrir a letra mapeada  mas, podemos fazer um script que descubra a letra mapeada do pendrive  desde que ele possua um label conhecido (Você pode &nbsp;atribuir um label  para o pendrive no momento da formatação com o diskpart utilizando o  comando: format quick fs=ntfs label="Windows7",&nbsp;ou depois de formatado utilizando o comando label ou ainda através do Windows Explorer).

O script abaixo pode ser utilizado para obter a letra mapeada para um pendrive baseado no nome do volume:

@echo off
:: Obtem a letra de um drive baseado no nome do Volume
:: Blog do Nerd (c) 2010

set TMPFILE=%TEMP%\getdrive.tmp
set DRIVELETTERS=abcdefghijklmnopqrstuvwxyz
set RESULT=
set LABEL=%1

if "%LABEL%" == "" goto :USO
set LABEL=%LABEL:"=%
for /L %%g in (0,1,25) do call :CHECKVOLUME %%g %*
if not "%RESULT%"=="" echo %RESULT%
if "%RESULT%"=="" echo Letra de drive para volume "%LABEL%" nao encontrado.
goto :END

:CHECKVOLUME
:: Se resultado encontrado: termina
if not "%RESULT%"=="" goto :EOF
call set DRIVE=%%DRIVELETTERS:~%1,1%%
vol %DRIVE%: &gt; "%TMPFILE%" 2&gt;&amp;1
if not "%ERRORLEVEL%"=="0" goto :EOF
set ACHOU=0
for /F "usebackq tokens=3 delims= " %%g in (`find /C /I "%LABEL%" "%TMPFILE%"`) do set ACHOU=%%g
set /A ACHOU=%ACHOU% + 0
if not "%ACHOU%"=="0" set RESULT=%DRIVE%:
goto :eof

:USO
echo %0
echo .
echo Obtem a letra de um drive baseado no nome do Volume
echo Blog do Nerd (c) 2010
echo.
echo Uso: %0 "LABEL"

:END
if exist "%TMPFILE%" del "%TMPFILE%"Para chamar este script dentro de outro e atribuir a letra do pendrive para a variável DRIVEUSB, utilize o seguinte:

for /f "delims=" %a in ('c:\temp\getdrive "Windows 7"') do @set DRIVEUSB=%a&nbsp;Não esqueça de substituir "Windows 7" pelo nome de volume escolhido para seu pendrive.

Fonte: BlogdoNerd