Para quem não conheça, o BartPE é um LiveCD de Windows XP/2K3. LiveCD’s de há muitos mas de "Windows Live" não. E diabos me levem se não dão jeito. Para aquelas ocasiões em que a desgraça bate á porta, e para muitas outras.
O BartPE tem três concorrentes fortes. O WinPE da Microsoft, coisa em que, a menos que por acaso trabalhem no ramo como integradores de sistemas, não vão poder tocar de modo legal. Alem de que é bastante menos funcional. Os Live CD's das várias distros de Linux, que apesar de serem coisas muito jeitosas, para o efeito em questão não são muito utéis derivado ao seu suporte menos que brilhante de NTFS. E por fim o famigerado Hiren's BootCD, que nem é um LiveCD de Windows nem é sequer legal (mesmo que tivessem as licenças do software todo, o dito CD viola todas as condições de distribuição dos EULA's e mais algumas...).
Assim, ficamos pelo BartPE.
Para começar vão precisar do BartPE propriamente dito e do vosso CD de Windows XP/2K3.
A instalação do PE Builder é simples, e não necessita de explicações. No entanto, devem assegurar-se que o PE Builder é instalado numa partição que tenha bastante espaço livre. Contem assim por alto com o tamanho do CD original que usarem, juntem mais uns 200MB para slipstreaming (apesar de essa parte ser mais bem feita con o nLite) e com o tamanho da imagem ISO final (que pode variar muito, logo, apontem mesmo para os 700MB). Na verdade dá para trabalhar com muito menos espaço livre, mas para estarem descansados, apontem mesmo para 1.5GB.
Ok. PE Builder instalado, CD do Windows na drive. Hora de correr o PE Builder.
Não parece muito impressionante pois não? Mas acreditem que funciona.
Por ordem, as opções são:
Builder
- Source : onde têm o vosso CD do Windows
- Custom : a directoria que contem "tralha" adicional para colocar no CD/DVD. Service packs, AutoPatcher XP, etc...
- Output : A directoria onde o PE Builder constroi o CD temporário
Media output
- None : Precisamente isso. O PE Builder apenas prepara os ficheiros necessários para criar o CD, permitindo aos utilizadores avançados modificar "á pata" algumas coisas antes de criar o dito CD
- Create ISO image : Provavelmente a opção mais usada. O PE Builder cria uma imagem ISO do CD. Muito util pois permite efectuar testes em máquinas virtuais antes de "queimar" o CD real
- Burn to CD/DVD : Criar um CD real. Não aconselhado. Não permite testar nem modificar. Provavelmente apenas util para quem realmente não possa dispensar o espaço em disco necessário á ISO
E a fechar, os botões de Plugins, Build e Exit.
O Exit não necessita de explicação. O Build pega na informação recolhida e cria o resultado especificado pelas outras opções.
O Plugins é o unico que tem de ser explicado.
Quando clickam nele aparece esta janela. Estes são os plugins que vêm com o PE Builder de raiz. Mas existem mais. Muitos mais. Mas antes de falarmos deles, uma explicação rápida.
Os Live CD's de Linux funcionam e muito bem graças a uma coisa que em Linux foi (relativamente) simples de implementar, o overlay-filesystem. A ideia é simples. Não se pode escrever num CD/DVD (até pode, mas vamos fingir que realmente não podemos). Tanto o OS como as aplicações acedem aos ficheiros via o respectivo filesystem. Então basta colocar uma camada extra (o overlay) entre eles. Essa camada apenas tem de ir registando as mudanças que o OS/aplicações tentam efectuar nos ficheiros e guardá-las na memória RAM. Quando uma aplicação acede a um ficheiro "modificado" o overlay limitasse a dar-lhe a versão que guardou na memória. Para efeitos práticos, os ficheiros podem ser modificados, e isto é feito de modo transparente ao OS/aplicações. Simples, prático, elegante e eficiente. Tudo o que o mundo Windows não é.
A Microsoft no entanto, por força da necessidade, preparou o Windows XP/2K3 para poder ser executado de CD (WinPE) mesmo que com funcionalidade reduzida.
O problema são as aplicações. As aplicações, por preguiça normalmente, recorrem a algo chamado registry. Ora, isto representa um dilema para qualquer Live CD de Windows. O registry pós-boot vai ser o registry "virgem" do Windows. As aplicações não vão encontrar as entradas que necessitam. E as aplicações precisam tambem por vezes de ficheiros colocados em directorias específicas, suas e do Windows. E não vão encontrar esses ficheiros também
Solução? Plugins. Os plugins são basicamente ficheiros que contêm a informação necessária para que uma aplicação x funcione quando executada a partir do Live CD. Eles criam as entradas necessárias no registry, copiam os ficheiros necessários para o sitio certo (durante a fase de criação do Live CD e pós-boot) e executam outros passes de magia para que a aplicação não "stresse" com o facto de estar a correr de CD.
Agora que sabemos para que servem, vamos ás opções.
- Close: fecha a janela
- Edit : permite editar o ficheiro .inf do plugin, que contem a informação necessária para o PE Builder saber o que fazer com ele
- Enable/Disable : Activa/Desactiva um plugin
- Add : Adiciona um plugin
- Config : Permite alterar os parâmetros de configuração do plugin (quando existem)
- Remove : Remove (definitivamente) um plugin
- Refresh : Actualiza a lista de plugins. No caso de adicionarmos plugins "á pata" eles só aparecem na lista escolhendo esta opção ou reiniciando o PE Builder
- Help : Apresenta a ajuda específica do plugin. Normalmente os ficheiros necessários a que o plugin funcione e parâmetros de configuração do mesmo
Plugins
Vamos começar pelo plugin RAMDisk. É um plugin básico que simplesmente cria uma drive virtual na RAM. Por defeito na letra B e com 32MB. Como decididamente não pretendo usar o BartPE num sistema com menos de 256/512MB, 32MB parece mesmo muito pouco. Clickem no plugin e depois no Edit. Na secção [Stings] mudem o 0x02000000 para um dos outros valores. 0x04000000 se preverem usar o LiveCD em máquinas com 256MB, 0x06000000 se apenas o forem usar em máquinas com 512MB+. Gravem as alterações e saiam do editor de texto.
Nota: Estes valores têm em conta apenas a versão base dos plugins do PE Builder. Alguns plugins extra consomem uma quantidade muito grande de RAM para funcionarem. Nesse caso, terão de se contentar com um RAMDisk mais pequeno ou ir comprar mais RAM.
Vamos agora adicionar um anti-spyware. Se bem que o Spybot S&D seja superior, o que vem de raiz com o PE Builder é o Ad-AwareSE. Tratamos de sacar o dito e fazer as actualizações. Depois basta copiar os ficheiros Ad-Aware.exe e defs.ref para a pasta files e clickar em "Enable". Presto.
O próximo da lista é o Deep Burner Free. Ou melhor dizendo, como se pode ler no Help, o Deep Burner Portable. Clickem no plugin, clickem no Help. Está lá o link para o DBP e as instrucções sobre o que fazer com ele (desarquivar/copiar). Depois disso, basta fazer Enable. Se fizeram tudo bem, o plugin activa-se, senão, ganham uma mensagem de erro. Ok, o nosso Live Windows começa a parecer bem melhor. Já podemos bootar de CD e gravar os ficheiros que estiverem no disco em caso de desgraça.
O próximo interessante da lista é o McAfee Stinger. Mais por ser grátis que por ser eficiente. Mas á falta de melhor... Uma vez mais, clickem no plugin e clickem no Help. Depois de fazer o download do Stinger, façam um favor ao plugin e mudem o nome do dito para stng259.exe. Plugin agradece. Copiem o dito para a pasta do plugin e façam Enable. Ok, já temos o nosso primeiro antivírus.
Em seguida vem o McAfee Viruscan. O ficheiro SuperDAT que a McAfee disponibiliza para download com actualizações contem um scanner de linha de comandos. E o BartPE tem um GUI para o tornar mais "amigável". Fica a nota que apesar de o SuperDAT estar disponível para download e de o scanner de linha de comandos não precisar de licença "física", a utilização dos mesmos é legal apenas para possuidores de uma licença do Viruscan. No caso de a terem, façam o download do dito animal e coloquem o ficheiro na directoria files do plugin. Depois via linha de comandos e nessa directoria façam "sdatxxxx.exe /e" e esperem uns segundos. Quando ele acabar de descompactar podem apagar o sdatxxxx.exe. Clickem no plugin e façam Enable.
E por agora chega de plugins. Vamos mas é ver se isto funciona. Clickem Close. Clickem Build. Ele pergunta se desejamos criar a directoria BartPE, clickem Yes. Leiam o EULA do Windows. Se concordarem, clickem "I agree". E vão tomar um cafézinho.
Ok, estamos de volta. Se tudo correu bem, o logfile não tem erros e têm um ficheiro chamado pebuilder.iso na directoria do pebuilder.
Agora têm duas opções. Ou usam o VMWare/VirtualPC para testar se o cd está a funcionar, ou queima o dito e tentam fazer boot com ele. Eu pessoalmente vou pela primeira.
Nota: Apesar de estarem a fazer boot de um Live CD, o BartPE monta todos os volumes e drives que encontra. Se fizerem reboot "á pressão", o NTFS dos volumes vai ficar numa estado "sujo" e vai forçar uma verificação no próximo boot. Para evitar isso, façam um shutdown/reboot normal, via o menu.
Ok, vamos passar a outra fase. Escrever uns quantos plugins... Eu pessoalmente abomino o A43 e o Irfanview. O meu voto vai para o 2xExplorer e o XNView. Pronto, já disse.
Ok, vamos começar pelo A43. Criem uma cópia da directoria do plugin do A43 e mudem o nome para 2xexplorer. Apaguem o conteúdo da pasta files e copiem os ficheiros do 2xExplorer.exe para lá. Na pasta do plugin têm três ficheiros, e todos começam por a43, tratem de mudar o a43 para 2xexplorer. Em seguida têm de editar os ficheiros para reflectir a nova aplicação. Para quem não perceber o que tem de mudar, vejam os meus ficheiros e tentem entender as mudanças, são decididamente básicas..
Um build e um boot mais tarde e já nos livrámos da fronha feia do A43.
O XNView é um pouco mais complicado. Vamos pensar nas famosas "Portable Apps". Para prolongar o tempo de vida da memória Flash, tenta-se levar ao mínimo dos minimos as leituras e escritas na mesma. Ora, num CD, as escritas têm necessariamente de ser, tanto quanto possível, zero, de modo a minimizar a necessidade de usar truques arcanos.
O XNView até cai bem na categoria de "Portable Off-the-shelf" exceptuando em duas coisas. O cache e as opções. Mas vamos tratar disso já.
Vamos começar por duplicar novamente a pasta do A43 e chamar-lhe xnview. Apagamos os ficheiros da pasta files, criamos uma pasta chamada xnview e copiamos para lá os ficheiros e pastas do xnview, obtidos da "versão zip" que pode ser sacada aqui. E corremos o xnview.exe. No menu Tools/Options procurem a opção Browser/Cache e desactivem o "Enable caching". Saiam do xnview e apaguem os ficheiros que estejam dentro da pasta cache. Voltem para trás e corram de novo o xnview. Acabem de configurar as opções a vosso gosto e saiam do xnview. Se se derem bem com o inglês, apaguem a pasta language, senão apaguem todos os ficheiros da pasta language menos a vossa língua preferida (a tradução PT não é má e o ficheiro é o xnviewpt.dll). Como criar Webpages não tem lugar num cd de boot, apaguem a pasta WebTemplates. E aproveitando, apaguem as pastas das skins que não usem. Entre umas coisas e outras, devem ficar pelos 2.5MB de ficheiros.
Build, boot e... ouch... Avifill32.dll??? Ok, para vos poupar trabalho, está em Windows\System32\. Tratem de o copiar para a directoria files\xnview do plugins. E já agora, copiem também o msvfw32.dll que está também lá para a directoria files\xnview. E isto ilustra muito do trabalho de escrever plugins. Achar os bocados que faltam...
E fica só a faltar editar os ficheiros do plugin para reflectirem o XNView. Para quem ainda não apanhou o jeito, podem sacar os meus aqui. Uma vez mais, estas são as aplicações simples. Se têm algum desejo de escrever plugins, têm de entender estas antes de sequer pensar em outras mais complexas.
Como ultimo exemplo, vamos melhorar as nossas capacidades antivirais. Mesmo que possam legalmente usar o McAfee, o dito não é nem de perto nem de longe brilhante. Assim, dá jeito uma segunda opinião. E nada melhor que o ClamWin, que alem de grátis lá vai melhorando com o tempo. Por uma questão de conveniência, vamos usar o ClamWin Portable. Façam download do dito, descomprimam, corram e façam as actualizações. E chegamos a um ponto importante. Lembram-se que não podemos escrever no CD? Pois. Mas o ClamWin precisa de escrever alguns ficheiros. Corram o ClamWin Portable e vão a Tools\Preferences e vejam a tab Reports. Ups. Vês os ..\..\..\? Isso significa que o ClamWin Portable vai tentar escrever ficheiros para a sua própria directoria. Nada bom mesmo. Mudem os paths para B:\ClamScanLog.txt e B:\ClamUpdateLog.txt respectivamente. Agora ele vai escrever os ficheiros para o RAMDisk. Muito melhor.
Nota: Na verdade a coisa não acaba aqui. O ClamWin pode tentar escrever para o ficheiro ClamWin.conf que se encontra na pasta da aplicação. Esse ficheiro contem as informações de configuração do ClamWin. Assim, e tendo em conta que vai ser impossível ele escrever para o dito ficheiro e não podemos mudar a localização do mesmo, é absolutamente imprescindível que as opções estejam correctamente configuradas antes de criar o CD.
Nota: A dar crédito ao ClamWin, o dito detecta 91 das minhas amostras virais depois de o McAfee ter feito o scan dele. Tendo em conta que o ClamWin está ainda em actualização e a McAfee parece ter abandonado o motor de command line, a escolha entre um e o outro é óbvia... Se a AOL fizesse um plugin para usar o AVS com o PE Builder...
Como somos preguiçosos, toca de criar um duplicado da pasta do plugin xnview, mudar o nome para clamwinp e apagar os conteúdos da pasta files. Mudar os nomes dos ficheiros de configuração de xnview para clamwinp. Copiem a pasta do ClamWin Portable para a pasta files. Só falta mesmo editar os ficheiros de configuração do plugin. Uma vez mais, se ainda não conseguiram perceber como, aqui estão os meus.
Build, boot, e tudo ok.
Ok. Chega de plugins. Já temos um RAMDisk grande, já temos um anti-spyware, dois antivírus, um programa para gravar CD's, um file manager decente e um programa para ver imagens. Se quiserem mais, escrevam os plugins ou vão até aqui e procurem.
Drivers.
Sim, para um Live CD de Windows são precisos drivers. Infelizmente, no ambiente Live estamos limitados aos dois tipos realmente necessários. Drivers de dispositivos controladores de armazenamento RAID/SCSI/SATA e drivers de interfaces de rede.
Os primeiros são essenciais. Sem eles o Windows não consegue "ver" os discos rígidos, cdroms e outros dispositivos ligados aos controladores. E isso aniquila qualquer possibilidade de operação.
Os segundos não são essenciais, mas dão muito jeito.
O mecanismo que o PE Builder providencia para integração não é o mais simples, mas é basicamente o mesmo que a Microsoft disponibiliza para os OEM's, logo, é funcional (mais ou menos, certos drivers pura e simplesmente não funcionam bem...).
A titulo de exemplo vou exemplificar a integração dos drivers da minha board e da minha placa de rede. O Windows não reconhece por defeito o controlador SATA da Silicon Image nem a minha Realtek 8169.
Do site da Asus saquei o controlador da Silicon Image. O zip do driver trás uma aplicação para criar as disquetes de instalação do driver e mais algumas coisitas. Mas, felizmente, trás também os ficheiros de instalação do chipset SI em "forma bruta". Como o PE Builder apenas integra os ficheiros necessários, não faz mal nenhum copiar os ficheiros todos. Na pasta drivers\SCSIAdapter do PE Builder crio uma nova pasta chamada si3112 e copio para lá os ficheiros todos do driver.
O ficheiro textsetup.oem contem a descrição de todos os controladores suportados e fica a nosso cargo apagar da secção [SCSI] os que não nos interressam. No meu caso, apenas está o meu controlador logo não tenho de modificar nada.
Ok, passemos ao driver da 8169. Do site da Realtek vem o ficheiro do driver num arquivo zip. Tal como o controlador SATA, basta criar uma pasta r8169 na pasta drivers\Net do PE Builder e colocar lá dentro os ficheiros do driver.
Para os mais curiosos, tendo em conta que a minha motherboard é uma A7N8X-Deluxe, podia integrar também os drivers da placa de rede 3Comm e da placa de rede onboard do nForce 2. Mas o primeiro é uma estopada de trabalho e o segundo tem os seus dias não. Como o que não falta por aqui são Realtek’s 8139/8169, nem em dou ao trabalho. Podia era não faltar o $$$ para NIC's da Intel, mas isso é outra loiça...
Build, boot (numa box virtual). Tudo ok. Ou será que não? Pois. Não se sabe. A box virtual não tem chipset SATA nem placa de rede 8169. O único sitio onde se pode testar a sério é na máquina a sério. O que implica queimar um CD/DVD físico. Por via das dúvidas, aconselho um CDRW/DVDRW. Se algo falhar, é só apagar e queimar de novo.
E bom, estamos quase acabados. Fica apenas como nota final que o CD base para o PE Builder não tem necessariamente de ser o CD "vanilla" do Windows XP/2K3. Por exemplo, durante todo este tutorial eu usei um CD de Windows XP SP2 com todos os hotfixes do momento integrados via nLite. Mas isso é provavelmente o limite. Se começarem a remover componentes é provável que o PE Builder não consiga criar o CD.
Divirtam-se com o PE Builder e lembrem-se que dá sempre jeito ter um por perto.