Como criar uma imagem personalizada do sistema Windows
Por Ciro Mota | 1, Julho 2020 | Tempo de leitura aproximadamente 7 minutos. Edições: Revisão. Em 10, Junho 2022.Olá pessoal, como vão vocês? Espero que todos bem.
Em mais um artigo da série de sobre como automatizar as tarefas de pós instalação, onde publiquei anteriormente dois outros métodos que em si são complementares a esse e a ordem de publicação deles foi proposital, escreverei aqui sobre o que eu considero como o melhor e mais completo procedimento que temos a disposição, que é a imagem completa de um sistema Windows.
Este modo realiza uma captura completa do estado do sistema, ou seja, podemos utilizar uma instalação padrão como base para ser usada em replicação em outros PCs, com todos os programas usuais e drivers base. E de quebra, se livrar da demorada tela do “Preparando área de trabalho”, tarefa que em alguns PCs podem demorar para ser concluída.
Em meio a vários artigos sobre o assunto os quais usei como fonte, optei por testar, desenvolver e publicar um que fosse o mais simples possível. Utilizarei como base uma máquina virtual, que também pode ser utilizada sem instalação de drivers extras (os adicionais de convidado), tomando como princípio a autossuficiência do Windows 10 e seus drivers WHQL na detecção de uma gama grande de hardware. Ou seja, não acrescentarei nenhum outro driver.
Requisitos:
- Uma VM com pelo menos dois discos virtuais ou um PC dedicado com HD particionado.
- Uma .iso de instalação do Windows 10 ou Windows 8.1 ou Windows 7 (este apesar de já estar em EOL).
- Desprender um pouco de tempo para execução e conclusão dos procedimentos. Em VM isso fará muita diferença.
Preparação:
Realize uma instalação normal do Windows 10 seja ela na VM ou PC. Nenhum cuidado a mais é necessário para esta etapa.
Agora precisamos entrar no Modo de Auditoria do Windows utilizando o Sysprep
que é um utilitário interno para este fim. Acione-o em C:\windows\system32\sysprep\sysprep.exe
e defina-o como na caixa abaixo:
O Windows irá reiniciar no Modo de Auditoria onde poderemos realizar as personalizações.
Personalização:
Seja livre para modifica-lo como quiser, instalando os programas necessários no seu ambiente, removendo os aplicativos UWPs desnecessários, adicionando um papel de parede personalizado, posição de ícones na área de trabalho, favoritos e página inicial do navegador, OEM logo, entre outros. Aqui eu utilizei um método que já comentei aqui no Blog, instalei o Chocolatey para download e instalação automática dos aplicativos mais utilizados. E removi os UWPs (Plataforma Universal do Windows em tradução literal) de lista abaixo:
- Clima
- Dicas
- Hub de Comentários
- Microsoft OneDrive
- Microsoft Solitaire Collection
- Mxed Reality Portal
- Office
- OneNote
- Paint3D
- Visualizador 3D
- XBox
- XBox Live
Uma observação: Alguns UWPs não possuem a sua remoção permitida por padrão, como apps e alguns bloatwares (sim Microsoft, atalho para joguinhos é bloatware e havia a promessa de que isso seria removido em versões futuras) afim de evitar quebrar a instalação de novos outros apps quando necessário e mau funcionamento da Microsoft Store que hoje é fonte de atualizações para pacotes de idiomas, codecs e outros utilitários como calculadora por exemplo. Evite desinstalar esses apps remanescentes através de script de debloat ou somente o faça caso isso realmente não seja necessário. É possível fazer um debloat “mais light” e talvez eu aborde isso no futuro. Sei que nesse caso vê-se uma informação opinativa, porém em todas as 3 ou 4 vezes que forcei a remoção destes apps, tive problemas com a Loja e até mesmo com a sincronização da Conta Microsoft que pode ser um diferencial para alguém.
Temos então o resultado final e prontos para partir a próxima fase.
Unattended Script File:
Nesta etapa definiremos o arquivo Unattended
conhecido como arquivo de resposta, que seria um conjunto de instruções contidas em arquivo XML que informará ao Sysprep o que desejamos que ele execute. Aqui esteja muito atento a sintaxe ou o procedimento irá falhar. No meu caso para este artigo e o mesmo funcionaria com uma variedade de cenários, estou utilizando um script padrão encontrado internet à fora. Há também a utilização do Windows System Image Manager presente no pacote Windows AIK para ainda mais automatizações.
<?xml version="1.0" encoding="utf-8"?><unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="specialize">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CopyProfile>true</CopyProfile>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:D/sources/install.wim#Windows 10 Pro" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
Temos um conjunto de linhas importantes, talvez as linhas mais revelantes sejam a linha 4, que fará uso do perfil padrão para novos usuários. Para o seu cenário talvez seja necessário alterar algumas linhas, como por exemplo a linha 3 diz respeito da arquitetura de sistema e a linha 7 a respeito do local onde a mídia/.iso de instalação está localizada e da versão do Windows que será utilizada. Como estou utilizando a versão Pro em x64, alterarei apenas o ponto onde a VM detecta a .iso de instalação, que geralmente é a unidade D:.
É possível outras customizações para o unattend.xml
como por exemplo definir uma outra partição para as pastas de usuários. Consulte a documentação para maiores detalhes do que pode ser realizado.
Salve o arquivo de nome à sua escolha em uma raiz de qualquer outra unidade, no meu caso como requisito de partições citado acima eu adicionei uma unidade pequena de poucos GB à VM e salvei nela o arquivo unattend.xml
. Isso não comprometerá na captura da imagem e essa unidade servirá logo mais para salvar a imagem capturada. É possível também utilizar uma unidade de rede para isso.
Executando o Sysprep:
Neste ponto iremos rodar o sysprep para finalmente capturar a imagem de instalação.
Em uma janela do Prompt de Comando (Admin) execute:
%windir%\system32\sysprep\sysprep.exe /generalize /oobe /shutdown /unattend:e:\customizacao.xml
OBSERVAÇÃO: Verifique que no meu caso eu aponto para a partição E:\
onde estava o arquivo de customização gerado no passo anterior.
O sysprep irá executar e logo irá desligar o PC, em seguida reinicie novamente e dessa vez acessando pela .iso de instalação até chegarmos a tela inicial.
Captura da imagem:
Na tela inicial, pressione as teclas SHIFT + F10 e teremos uma tela do Prompt de Comando. Digite os comandos abaixo em ordem:
diskpart
list vol
exit
dism /capture-image /imagefile:H:\install.wim /capturedir:E:\ /name:"Windows 10 Pro"
- O parâmetro
/imagefile:H:install.wim
apontará a partição e nome do arquivo.wim
que será salvo. - O parâmetro
/capturedir:d:
apontará para a partição onde o Windows foi instalado.
OBSERVAÇÃO: No meu caso, a partição de instalação do Windows assumiu a letra E:\
e a partição onde desejo guardar os dados, a H:\
. Isso pode variar de cenário para cenário, esteja atento.
OBSERVAÇÃO 2: Esse processo demorará vários minutos, tempo para uma água, um café ou achocolatado. :blush:
Imagem salva, reinicie normalmente a VM ou o PC e prossiga com a finalização da instalação a qual abortamos anteriormente. Na partição secundária, lá estará o arquivo .wim
salvo.
Criação da .iso modificada:
- Crie uma pasta de nome qualquer e copie para ela todo o conteúdo da .iso de instalação do Windows.
- Crie uma nova pasta de nome qualquer, que será utilizada para salvar o novo arquivo
.iso
. - Substitua o arquivo
.wim
do diretório/sources/install.wim
com o arquivo da captura. - Faça o download do oscdimg e salve na mesma partição utilizada até agora para facilitar. Descompacte-o.
- Via Prompt de Comando execute o comando abaixo para gerar o novo arquivo .iso:
oscdimg.exe -m -o -u2 -udfver102 -bootdata:2#p0,e,bE:\ISO\boot\etfsboot.com#pEF,e,bE:\ISO\efi\microsoft\boot\efisys.bin E:\ISO E:\final\Win10.iso
Essa é uma linha complexa portanto atenção aos detalhes dos espaçamentos e onde não há espaçamentos. Altere a partição e nome da pastas para que seja de acordo ao seu cenário, no meu caso e para esse teste os arquivos estavam na partição E:\
.
Ufa!!! Feito isso teste o arquivo .iso recém criado em uma nova VM sua instalação do Windows customizada.
Espero que curtam o artigo e seja útil para vocês. Foi cerca de uma semana de pesquisas e testes até chegar esse resultado. Em caso de dúvidas, joga ai abaixo nos comentários que tentarei o possível ajudar.
Stay tuned! Em breve escreverei um outro artigo parecido mas destinado a distros Linux.
PS: Um pequeno disclaimer sobre o título da VM nas imagens que está como Windows 10 Home, devido a um teste anterior de uma outra ferramenta para essa versão.