Unattended Setup

Windows 2003 Server


De oplossing die we willen ontwikkelen voor Useless Publications Unlimited is o.a. gebaseerd op Windows 2003 Server. Aangezien we gepreconfigureerde, reproduceerbare systemen willen ontwikkelen, installeren we Windows 2003 server 'unattended'. "Unattended Setup" of "Automatic Installation" wil zeggen dat tijdens de setup geen vragen gesteld zullen worden : alle antwoorden op vragen die gewoonlijk tijdens de setup gesteld worden, worden automatisch aangeleverd (door een "answer file") zodat de installatie volautomatisch verloopt. Het Setup-programma leest de answer file gedurende de setup, en neemt de gegeven waarden over : computernaam, netwerkinstellingen, tijdzone, landinstellingen, toetsenbordlayout, ... Hierdoor wordt de installlatie ook reproduceerbaar : een zelfde setup kan op gelijk welk tijdstip, al dan niet op dezelfde machine, herhaald worden.

Een 'unattended setup' is nuttig voor :

Hoe gaat dat in z'n werk ?

Setup Manager

In de deployment tools (:\SUPPORT\TOOLS\deploy.cab) vind je de Setup Manager waarmee je een answer file kan maken. In de Setup Manager krijg je alle setup screens te zien die gewoonlijk tijdens een setup van Windows 2003 Server getoond worden, en kan je de gewenste antwoorden opgeven. Er zijn ook voorzieningen om

De Setup Manager creŽert vervolgens een answer file, en een batch bestand met daarin de command line om setup + answerfile uit te voeren. Hierin moet je soms nog wel enkele bestandslocaties aanpassen.

Unattended setup met de originele Windows setup CD

De answerfile moet Winnt.sif genoemd worden, en opgeslagen zijn op een diskette. De volgende secties, met de gegeven waarden, moeten in de answer file aanwezig zijn :

	
	[Data]
	MsDosInitiated=0
	UnattendedInstall=Yes

	[Unattended]
	OemPreinstall=No
	UnattendSwitch=Yes

	

De Answer file verwijst naar OEM drivers op een diskette :


	[Unattended]
    	UnattendMode=FullUnattended
    	OemPreinstall=Yes
    	TargetPath=win2k3dc
    	OemSkipEula=Yes
    	OemFilesPath="A:\"
    	OEMPnPDriversPath = "3C509" 

	

Werkwijze : Boot de computer van de CR-ROM. Bij "Press any key to boot from the CD" druk je op de any key, en steek je de diskette met Winnt.sif in de diskette drive. Setup wordt vervolgens uitgevoerd op basis van de parameters in het winnt.sif bestand.

Indien het besturingssysteem samen met de server aangekocht wordt, voorziet de producent/leverancier wellicht reeds een aangepast installatiemedium en een aangepaste answer file, waaraan we dan nog zelf de nodige aanpassingen kunnen doen (bijv. domeinnaam, computer naam, netwerkinstellingen, ... )

Een volledig overzicht van Keywords en mogelijke waarden in een Windows 2003 Answer File is te vinden op de Windows 2003 CD : Deployment Tools : ref.chm. Zie ook voorbeeld van een windows 2003 answer file

Alternatief : Een eigen setup CD maken of installatie van een netwerk share.

In plaats van de originele setup CD kan je ook een directory maken waarin je de setupbestanden kopieert. Je kan daaraan, met de setup manager, bestanden toevoegen : vendor-specifieke hardware / drivers kunnen dan geÔntegreerd worden door in de rootfolder een $OEM$ directory te maken waarin extra drivers opgeslagen worden. Deze worden tijdens de installatie gekopieerd naar %system%, zodat het Plug en Play installatiemechanisme van Windows Setup ze kan integreren in de setup. Je kan ook een alternatieve $OEM$-locatie specificeren in de answer file. Installatie vanaf een eigen medium heeft als bijkomend voordeel dat batchbestanden en configuratiebestanden die als 'post installation tasks' mee verwerkt worden in de answer file, niet vanaf een diskette uitgevoerd en/of gekopieerd moeten worden.

De aangepaste set installatiebestanden kan vervolgens opnieuw op CD gezet worden, bij voorkeur een bootable CD. Indien nodig kan je ook booten van een ander medium (diskette, usb drive, ...) en vervolgens de installatie starten. De installatie kan ook uitgevoerd worden vanop een netwerk share, als je een bootmedium hebt dat na jet booten een netwerkverbinding met de server kan opzetten. Voor netwerkbootdiskettes ondersteund Microsoft wat dat betreft slechts een beperkt gamma netwerk adapters.

Bij gebruik van eigen media moet setup gestart worden via het commando winnt.exe (DOS boot) of winnt32.exe (32bit Windows boot), uit te voeren met parameters die o.a. de plaats van de installatiebestanden aangeven. Dit kan bijvoorbeeld in een batchbestandje beschreven worden.


	REM CD Drive = M:
	set AnswerFile=.\win2k3srv.txt
	set SetupFiles=M:\i386

	M:\i386\winnt32 /s:%SetupFiles% /unattend:%AnswerFile% /copysource:lang

	

Alternatief 2 : Een remastered Setup CD

Door een setup CD te remasteren kan je een bootable Setup CD maken waarin je een aantal bestanden hebt gewijzigd of toegevoegd. Zo kan je bijvoorbeeld het winnt.sif bestand aanpassen om een setup CD te maken waarvoor geen diskettes nodig zijn om van op te starten of om de answer file aan te leveren. De aangepaste answer file (winnt.sif) staat dan namelijk al mee op de CD.

Post-Installation tasks

Post Installation Tasks, taken (commando's, programma's, scripts) die je wil uitvoeren na de setup, kunnen in de answer file gespecifeerd worden in de sectie 'GUIRunOnce', of aan het (aangepaste) installatiemedium toegevoegd worden via een 'cmdlines' bestand (Zie ook Windows 2003 Server Deployment Guide.) GuiRunOnce is een sectie in de answer file, cmdlines is een apart bestand. GUIRunOnce werkt via de 'RunOnce' registry key. Bijgevolg, als ťťn van de RunOnce items een reboot veroorzaakt (vb bij software installatie), worden de andere items gewist en dus niet meer uitgevoerd. Het 'cmdlines' bestand is daar een workaround voor, de command lines in het bestand worden 1 na 1 uitgevoerd tot ze allemaal afgewerkt zijn.

Een mogelijk scenario is : Voor de installatie een aantal bestanden (scripts, batch files, ...) kopiŽren naar de harde schijf van de target-computer, op een gekende locatie. Na de installatie (via GuiRunOnce of cmdlines) de scripts uitvoeren. Omdat ze reeds gekopieerd zijn naar de harde schijf, treden er geen problemen op indien de CD / diskette met de bestanden reeds verwijderd is.

Een meer professionele benadering is het aanmaken van een aangepaste, bootable CD om Windows Setup uit te voeren.

Wat met de partities ?

We installeren het besturingssysteem op een primaire partitie, en laten de rest van de harde schijf voorlopig 'unallocated'. Daar komen later nog andere partities op. De Windows partitie moet volgens de system requirements minstens 2GB groot zijn, maar eigenlijk is dat te weinig, omdat hier ook drivers zullen terechtkomen, en dll's van software die op de server geÔnstalleerd wordt, plus diverse tijdelijke bestanden, swap file, enz. 10 GB lijkt me een minimum. Dell biedt bijvoorbeeld keuze tussen 16 en 20 GB OS-partitie.

De eerste partitie kan van te voren aangemaakt worden, bijvoorbeeld : een FAT32 partitie met FDISK (Windows 98 emergency boot disk) - converteren naar NTFS gedurende de setup -, of met tools die bij de aanschaf van een harde schijf meegeleverd worden, of met een van de vele partitioneringstools op de Ultimate Boot CD.

De andere partities maken we aan nadat we het besturingssysteem geinstalleerd hebben (zie verder), zodat we dit kunnen integreren in een script


Koen Noens
June 7th, 2005
Alle rechten voorbehouden
Terug naar Inhoudstafel