venerdì 7 gennaio 2011

Creare un'immagine universale di Windows XP su Hardware differente

In questo articolo parleremo di come fare il deploy di un'immagine universale di Windows XP SP3 per diversi tipi di HAL, IDE, SATA o SCSI.



Ci si può trovare, per motivi di lavoro o anche solo di backup, a dover spesso effettuare installazioni e configurazioni particolari di postazioni PC con Windows XP. Una situazione classica, ad esempio, è quella di dover installare diversi PC per clienti o colleghi e incontrare la problematica di configurazioni e software personalizzati, che di solito ci occupano la maggior parte di una intera giornata lavorativa. Per risolvere questo problema esistono molti programmi a pagamento che, per quanto ottimi, possono essere una spesa eccessiva o un investimento non accettabile da parte di un'azienda.

Ecco invece un metodo semplice, senza spese aggiuntive, per implementare un'immagine universale contenente tutti i programmi e configurazioni di cui avete bisogno.



Per effettuare il deploy di un'immagine universale di Windows XP vi servono poche cose:

1 - CD di installazione di Windows XP
2 - EVENTAULI Service Packs e/o programmi che volete installati
3 - un software di imaging (ad es. Norton Ghost o Acronis TrueImage)
4 - EVENTUALMENTE una Virtual Machine: installare e predisporre un'immagine all'interno di una macchina virtuale vi evita di dover usare il vostro PC per l'intera operazione.


Questi sono i passi per la creazione dell'immagine XP:

Premessa: se utilizzate una Virtual Machine, fate attenzione alla scelta del Disk Controller corretto. Se volete effettuare il deploy dell'immagine su dischi SATA, selezionate un controller SATA dalle opzioni, altrimenti IDE.

1 - Installare Windows XP sul PC o macchina virtuale
2 - Installare i drivers. Per supportare altri tipi di hardare si possono scaricare i driver packs, qui trovate come integrare i driverpacks nell'immagine XP.
3 - Installare eventuali programmi, service packs ed effettuare le varie configurazioni desiderate.
4 - Scaricare l'utility Sysprep da Microsoft per XP SP3
5 - Estrarlo in c:\Sysprep
6 - Eseguire Setupmgr.exe dalla c:\Sysprep appena creata
7 - Selezionare Create new, poi Sysprep Setup e scegliere Windows XP, poi selezionare "Yes, fully automate the installation"
8 - Immettere le proprie preferenze (ad es. product key, configurazione di rete, impostazioni locali ecc...)
9 - Fare click su Finish e viene salvato il file sysprep.inf, poi fare click su Cancel.
10 - Aprire il file C:\Sysprep\sysprep.inf
11 - Aggiungere queste due righe nella sezione [unattended]
UpdateInstalledDrivers=Yes
DriverSigningPolicy=Ignore
12 - Aggiungere questa linea alla fine del file sysprep.inf
[SysprepMassStorage]
13 - Premere Start->Esegui e immettere "C:\Sysprep\sysprep.exe -bmsd" e premere Invio. Impiegherà qualche minuto a creare la sezione dei driver Mass Storage.
14 - Se non volete integrare il MassStorage DriverPack, saltate direttamente al passo 17.
15 - Salvate questo script come C:\HWIDS.cmd

rem %1 is path to MassDriverPacks Folder
IF "%1"=="" GOTO EOF
IF NOT EXIST %1 GOTO EOF


SETLOCAL ENABLEDELAYEDEXPANSION
SET STDOUT=%cd%\HWIDS.TXT
TYPE>%STDOUT% 2>NUL


::traverse drivers path
CALL :TRAVERSAL %1


GOTO EOF


:TRAVERSAL
PUSHD %1
for /f %%f in ('Dir /b *.inf') do (
 for /f "eol=- tokens=2 delims=," %%i in ('find /i "pci\ven" %%f') do (
  for /f "tokens=*" %%j in ("%%i") do (
    for /f "tokens=1* delims=_" %%k in ("%%j") do (
      if /i "%%k" EQU "PCI\VEN" (
        for /f "usebackq tokens=1* delims=; " %%a in ('%%j') do (
          echo %%a=%cd%\%%f>>%STDOUT%
        )
      )
    )
  )
)
)


FOR /F %%I IN ('DIR /AD /OGN /B') DO (
CALL :TRAVERSAL %CD%\%%I
)
POPD
GOTO EOF


:EOF

16 - Eseguite lo script come "C:\HWIDS.cmd C:\D\M" e viene generato il file C:\HWIDS.txt. Copiate il contenuto del file all'interno di C:\Sysprep\sysprep.inf alla fine della sezione [SysprepMassStorage]
17 - ATTENZIONE: Dopo questo passaggio NON riavviare il computer!!! Premere Start->Esegui e immettere "C:\Sysprep\ROE.exe 937"
18 - Scaricare Hal Updater
19 - Estrarlo in C:\HALu ed eseguire HALu.exe. Selezionare "Standard PC" ed aggiornare l'HAL, ma NON riavviate il PC.
20 - Premere Start->Esegui ed eseguire Regedit. Andate sotto
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
e aprite la chiave 937. Aggiungete un valore stringa e chiamatelo 2, immettendo C:\HALu\HALu.exe come valore.
21 - PASSAGGIO FINALE: andate su Start->Esegui ed immettete "C:\Sysprep\sysprep.exe" e fate click su Reseal. Questo passaggio impiegherà un pò di tempo, probabilmente qualche ora a seconda della quantità di driver che avete precaricato dai DriverPacks. Dopo questo passaggio il PC verrà automaticamente spento: NON riavviate il computer.
22 - Scaricate un software di imaging come Acronis True Image o Norton Ghost e utilizzatelo per creare una ISO bootabile di ripristino dell'installazione che avete appena fatto (sia essa su Virtual Machine o PC)

23 - Aggiunta l'immagine al CD di ripristino potete utilizzarla per installare qualunque PC e ripristinare l'installazione in pochi minuti!

2 commenti:

  1. grazie per i consigli,
    ma ho dei dubbi:
    1. io in sysprep non ho roe.exe step 17
    2. nel caso di macchina virtuale, al punto 21 dice che il sistema si chiude automaticamente, ma se non riavvio come faccio a fare l'immagine?

    grazie mille

    RispondiElimina
  2. Ciao, rispondo brevemente alle 2 domande:
    1. il file roe.exe si trova all'interno dei driverpacks: per integrarlo basta seguire le indicazioni riportate un questo altro articolo: Come integrare Driver Packs in un'immagine XP

    2. il punto 21 potrebbe risultare poco chiaro: in effetti bisogna riavviare per poter realizzare l'immagine, ma quello che non bisogna fare è far partire il sistema operativo che volete clonare! In questo caso partirebbe l'inizializzazione del sysprep e si dovrebbe ricominciare da capo. Bisogna invece far partire il sistema (in questo caso la macchina virtuale) e selezionare un dispositivo di avvio differente, quali ad esempio un CD o una pendrive, con un sistema live per poter effettuare la copia del disco (cosa fattibile anche con l'inserimento del disco stesso come secondario su di un altro computer)

    Non esitate a porre altre domande se dovessero esserci altri punti poco chiari.

    RispondiElimina