WINDOWS LIVE CD La creazione di un Windows LiveCD ovvero di un ambiente Windows avviabile da CD/DVD può tornare utile in varie situazioni: Rimozione di virus e malware da un pc infetto quando i file sono bloccati dal sistema operativo. Ripristino di file eliminati erroneamente tramite un ambiente windows che non risiede sull'hard disk per evitare la sovrascrittura dei cluster occupati dai file da recuperare. Creazione di un ambiente Windows con tool preinstallati per la gestione della rete, del file system, etc. Creazione di un ambiente Windows per computer con risorse ridotte da utilizzarsi come thin client in ambiente Terminal Server. Creazione di una ambiente Windows da utilizzare come demo per un'applicazione. Ci sono due possibilità per creare un Windows LiveCD: Utilizzare il tool Microsoft Windows Preinstallation Environment che è distribuita ai Microsoft Certified Partners, IHV, ISV e ODM. Utilizzare il tool BartPE free per uso personale o all'interno della propria azienda. In questo articolo analizzeremo la seconda possibilità in quanto è accessibile a tutti gli utenti in possesso di un CD di Windows XP o Windows Server 2003. Per utilizzare un Windows LiveCD occorre avere una licenza regolare del sistema operativo ed è necessario tenere presente le seguenti condizioni: Se si utilizza una licenza OEM (Original Equipment Manifacturer) il LiveCD potra essere eseguito solo sul computer a cui la licenza si riferisce Se di utilizza una licenza FPP (Full Package Product) o Open quando il LiveCD è in esecuzione utilizza la licenza e quindi può essere utilizzata simultaneamente su di un altro computer. Oltre a creare un LiveCD è anche possibile utilizzare una chiavetta Usb, per maggiori dettagli si veda la seguente FAQ: Can BartPE boot from USB flash drives (UFD)? Sommario BartPE Bart's Preinstalled Environment Aggiunta di un driver Creazione di un plugin o Intestazione o Sezione PEBuilder o Sezione WinntDirectories o Sezione SourceDisksFiles o Sezione Append
o Variabili o Ulteriori sezioni Opzioni a linea di comando Conclusioni BartPE Bart's Preinstalled Environment Il tool è scaricabile al seguente link http://www.nu2.nu/pebuilder/download e consente di creare e masterizzare un'immagine iso prelevando i file necessari dal CD di Windows (a tal proposito se il CD non comprende l'ultimo Service Pack conviene crearne uno tramite un tool di slipstreaming come ad esempio nlite). BartPE consente inoltre di aggiungere tramite appositi plugin delle applicazioni al sistema e integrarle nella shell creata da Bart Lagerweij, il tool contiene già alcuni plugin per alcune applicazioni e funzionalità come ad esempio: Ad Aware SE McAffee Stinger McAffee Virus Scan (per cui è stata sviluppata una comoda GUI) Network support Remote Desktop Client RamDisk Symantec Ghost 8.0 Inoltre sul sito sono disponibili alcuni link da cui è possibile scaricare plugin aggiuntivi per le più disparate applicazioni come ad esempio: AutoRamDiskResizer per impostare la granezza del RAMDisk sulla base delle memoria RAM disponibile. MkDirProfiles per impostare su Temp la directory dei profili utente. WinPcap Library Ethereal Packet Analyzer Sempre sul sito sono disponibili alcuni driver per controller e schede di rete comuni. Se si desidera già un LiveCD preconfigurato con un buon numero di applicazioni free e driver è possibile scaricarlo scaricarlo a questo link UBCD for Windows. Per semplificare il procedimento di aggiornamento a release successive del tool in cui alcuni plugin di interesse potrebbere essere integrati conviene utilizzate un suffisso per le directory dei plugin aggiunti (ad esempio extra sysclean). Aggiunta di un driver E' possibile aggiungere solo driver per schede di rete e controller. Per aggiungere un driver è sufficiente creare una cartella contenente i file nella cartella relativa al tipo di driver (Net o SCSIAdapter) come indicato in Figura 1.
Per quanto riguarda i driver dei controller questi vengono aggiunti da BartPE utilizzando il file txtsetup.oem. E' possibile editare questo file ed escludere i driver non utilizzati dalla sezione [SCSI]. Per maggiori informazioni si veda il seguente link: http://www.nu2.nu/pebuilder/help/english/drivers.htm. Figura 1 Creazione di un plugin La filosofia che sta alla base della realizzazione di un plugin è quella di configurare la shell creata da Bart Lagerweij, tramite appositi file di plugin che si occupano anche di simulare l'installazione delle applicazioni copiando i file necessari e configurando il registro. L'esecuzione delle applicazioni avviene facendo uso di un RamDisk per consentire alle stesse di creare file ove necessario. I plugin sono file inf in formato ascii con un'intestazione e alcune sezioni che permetteranno l'installazione di applicazioni quando verrà creato l'ambiente Windows o la personalizzazione di quest'ultimo. Di seguito vengono presentate le sezioni necessarie per la realizzazione di un plugin per il tool SysClean di TrendMicro. Intestazione L'intestazione deve avere il seguente formato: ; sysclean.inf ; PE Builder v3 plug in INF file for Trend Micro Sysclean ; Created by Ermanno Goletto [Version] Signature= "$Windows NT$" Sezione PEBuilder Tramite questa sezione vengono impostati il nome del plugin, la sua abilitazione e un file di help.
[PEBuilder] Name="Trend Micro Sysclean" Enable=1 Help="sysclean.htm" Sezione WinntDirectories Questa sezione definisce le directory necessarie al plugin e deve rispettare il seguente formato: directoryid=dirname[, attribute] Dove: directoryid rappresenta l'identificativo della directory: ID Directory Note a z directory dinamiche PE Builder output 30000 root 1 \ 2 system32 3 system32\config 4 system32\drivers 5 system 17 system32\drivers\etc 20 inf 21 Help 22 Fonts 24 msagent\intl 124 WinSxS 125 WinSxS\Manifests 252 WinSxS\Policies 30001 e superiori sono usate dinamicamente da PE Builder System Root (sul CD è la cartella \i386 sull'hard disk è la cartella \minint) dirname è il nome della directory (nel caso contenga spazi deve essere racchiuso tra apici doppi "") attribute specifica come creare la directory: o 0 (Default) definisce la directory. o 1 Crea la directory nella System Root (\i386). o 2 Crea la directory nella Root (\). [WinntDirectories] a="programs\trendmicro",2 Sezione SourceDisksFiles
Questa sezione è utilizzata per la copia dei file necessari: SourceDisksFiles[.build] E' possibile avere sezioni diverse in base al sistema operativo con cui verrà creato il LiveCD (per ulteriori informazioni sui valori ammessi dall'opzione build si veda la sezione Variabili) La sezione usa il seguente formato: filename=directoryid[, filenamerenamed][, attribute] Dove: filename è il file da copiare directoryid è l'id della directory in cui copiare il file (vedere la sezione Sezione WinntDirectories). filenamerenamed è il file nome del file di destinazione se diverso da quello origine. attribute consente di abilitare/disabilitare alcune opzioni e può assumere i seguenti valori (il valore di default è 0): o 1 Utilizzato per il controllo del plugin. Affinchè il plugin possa essere abilitato il file deve esistere nella stessa directory del file inf. o 2 Non comprime il file. o 4 Copia il file solo se esiste, in caso contrario non viene generato alcun errore. o 8 Rinomina il file in caratteri maiuscoli. Quando si costruisce un'immagine ISO PE Builder rinomina i file in caratteri maiscoli (ciò è richiesto per eseguire il boot da CD). [SourceDisksFiles] files\sysclean.com=a,,1 files\lpt$vpn.*=a,,1 sysclean.cmd=a,,1 Sezione Append Questa sezione è utilizzata per collegare un file ad un altro: Append[.build] E' possibile avere sezioni diverse in base al sistema operativo con cui verrà creato il LiveCD (per ulteriori informazioni sui valori ammessi dall'opzione build si veda la sezione Variabili) La sezione utilizza il seguente formato Filename=FilenameToAppend Dove: Filename è il file su cui i dati saranno collegati FilenameToAppend è il file che contiene i dati da collegare Questa sezione viene utilizzata di solito per aggiungere una voce al menù della shell creata da BartPE contenuto nel file nu2menu.xml del plugin nu2menu che si occupa appunto di costruire il menù.
[Append] nu2menu.xml, sysclean_nu2menu.xml In questo caso il file sysclean_nu2menu.xml avrà il seguente contenuto: Trend Micro Sysclean In questo modo verrà creato nel gruppo Programs un menù item Trend Micro Sysclean che avvierà il file sysclean.cmd che viene riportato di seguito: @Echo off REM set default location on ramdrive set sysclean=%ramdrv%\sysclean if not exist %sysclean% md %sysclean% xcopy /s "%systemdrive%\programs\sysclean\*.*" "%sysclean%\" %ramdrv% cd sysclean sysclean Variabili I campi stringa nel plugin possono utilizzare le seguenti variabili PE Builder tramite la sintassi @variabile@: Variabile Significato Program Nome del builder (Default PE Builder) Version Versione del builder IsoFile Nome file e path dell'immagine ISO OutDir Path dell'output directory SourcePath Path della source directory PluginDir Path della directory del plugin corrente PluginFile Nome file e path del plugin corrente Language Linguaggio corrente Verbose Modalità Verbose (0=Off, 1=On) Build Build di windows (2600=XP, 3790=2003 Server) Ulteriori sezioni
Per realizzare plugin che necessitano di configurazioni più complesse come copia di intere directory, aggiunta di di chiavi di registro sono disponibili ulteriori sezioni e modifica dei file di plugin: SourceDisksFolders section Software.AddReg section Software.DelReg section SetupReg.AddReg section Default.AddReg section Default.DelReg section AddLine section DelLine section SetValue section Per informazioni più approfondite si faccia riferimento al seguente : Plugin file format Opzioni a linea di comando Il accetta le seguenti opzioni a linea di comando: Opzione auto exit Significato Avvia automaticamente il build. Chiude il tool al termine del build. Nel caso di errori durante il build pebuilder non viene chiuso. overwrite Sovrascrive le directory senza chiedere conferma. verbose Visualizza maggiori informazioni. Salta il build dei file di registro. skipregistry Salta il build dei file, utile nel caso in cui si stiano testando modifiche skipfiles che coinvolgono solo il registro. Costruisce o ricostruisce il file ISO nell'output directory, nel caso sia buildiso stato specificato tramite l'interfaccia grafica ne esegue anche la masterizzazione. Tramite queste opzioni è possibile creare il LiveCD tramite script dopo avere configurato drivers e plugins tramite l'interfaccia grafica. Questa possibilità può tornare utile nel caso sia necessario aggiornare file di alcuni plugin (ad esempio antivirus) prima di creare e masterizzare il LiveCd per esempio su un supporto riscrivibile. A titolo viene riportato il batch Build.bat per l'aggiornamento dei file di Ad Aware Lavasoft, SysClean Trend Micro e McAffee Virus Scan. Il funzionamento del batch presuppone che esso sia presente in una directory che contiene la directory del PEBuider e che in tale directory siano presenti i seguenti tool free come mostrato il Figura 2: UnZip32.exe (scaricabile al seguente link http://www.info zip.org/unzip.html#dos) Download.exe (scaricabile al seguente link http://noeld.com/programs.asp?cat=misc#download)
Figura 2 ECHO *** Update Ad Aware *** start /b /wait download.exe http://download.lavasoft.de.edgesuite.net/public/defs.zip /output:_ PEBuilder\plugin\adawarese\files /update /overwrite unzip32 u PEBuilder\plugin\adawarese\files\defs.zip d PEBuilder\plugin\adawarese\files start /b /wait download.exe http://download.lavasoft.de.edgesuite.net/public/sites.zip /output:_ PEBuilder\plugin\adawarese\files /update /overwrite unzip32 u PEBuilder\plugin\adawarese\files\sites.zip d PEBuilder\plugin\adawarese\files ECHO *** Update SysClean *** del PEBuilder\plugin\Extra sysclean\files\*.* /Q start /b /wait download.exe ftp://ftp.antivirus.com/products/tsc/sysclean.zip /output:_ PEBuilder\plugin\Extra sysclean\files start /b /wait download.exe ftp://ftp.antivirus.com/products/pattern/lpt*.zip /newest /output:_ PEBuilder\plugin\Extra sysclean\files unzip32 PEBuilder\plugin\Extra sysclean\files/*.zip d PEBuilder\plugin\Extra sysclean\files ECHO *** Update McAffee Virus Scan *** del PEBuilder\plugin\mcafee\files\*.* /Q start /b /wait download.exe ftp://ftp.nai.com/commonupdater/sdat*.exe /output:_ PEBuilder\plugin\mcafee\files FOR %%f IN (PEBuilder\plugin\mcafee\files\*.exe) DO %%f /e ECHO *** Build *** PeBuilder\pebuilder.exe auto buildiso overwrite exit if errorlevel 1 echo *** Something was wrong *** if errorlevel 1 pause
Conclusioni Con Windows Vista verrà rilasciata la versione 2.0 di Windows PE che sarà disponibile per tutti (e non solo a chi dispone di un contratto Microsoft Software Assurance come avviene per Windows PE per Windows XP) inoltre avrà a corredo strumenti per la preparazione e l'installazione di Windows Vista. Sarà altresì possibile avviare un sottoinsieme di Windows Vista da un supporto di rete o rimovibile. Per maggiori informazioni si veda il seguente: Panoramica su Windows PE 2.0 per Windows Vista http://www.microsoft.com/italy/technet/windowsvista/deploy/winpe.mspx (a cura di Ermanno Goletto)