Windows Deployment in da House.

Door xAn52 op maandag 22 december 2014 17:25 - Reacties (23)
CategorieŽn: DHCP, WDS, Views: 4.999

Omdat ik regelmatig een PCtje opnieuw van een Windows OS voorzie, leek het mij praktisch een Windows Deplyment Services (WDS) server op te zetten. Ik ben reeds in het bezit van een Windows 2012 R2 Datacenter server, dus dat leek me niet al te ingewikkeld.

Op de server is het een kwestie van de rol Windows Deployment Services aanvinken. Even laten installeren en je kunt meteen verder. Gekozen voor een Standalone mode, aangezien ik de PC's niet in domeinen of wat dan ook ga hangen. Dan een boot image. Voor het gemak even een Windows 7 Professional SP1 x64 nl-nl DVD in de lade gestoken en daarvan de boot.wim als boot source genomen (CD:\Sources) en de install.wim voor de images. Hierdoor kan ik nu Windows 7 Home Premium, Windows 7 Professional en Windows 7 Ultimate installeren. De Home Basic heb ik maar gelaten voor wat het is. Bij de eigenschappen gezet dat F12 nodig is om te PXE booten (om ellende te voorkomen), auto-domain join uitgezet (niet nodig), en bij DHCP aangevinkt dat er niet geluisterd hoeft te worden op de bekende poorten 66 en 67. Multicast is een beetje overkill, dus die heb ik verder niet geconfigureerd.

Daarna het netwerk klaar maken. Om te kunnen PXE-booten, moet de PXE client wel weten waar hij e.e.a. kan ophalen. Dat doe je via DHCP. Laat mijn Windows 2012 R2 server nu net niet de DHCP server zijn, maar mijn Netgear WNDR3700 in combinatie met DD-WRT.
Op de router gebruik ik niet de DHCPd, maar DNSMasq als DHCP server. Dit is even handig om te weten, aangezien je de DHCP opties dan ook bij DNSMasq op moet geven en niet bij DHCPd.

Dus, in de router ingesteld op het tablad services bij het veld Additional DNSMasq Options:
dhcp-option=66,"192.168.1.10"
dhcp-boot=boot'x64'wdsnbp.com,,192.168.1.10

Het is me opgevallen dat zonder de eerste regel, de PXE-client er langer over doet dan als deze optie wel is ingesteld. Dus laat ik die staan. De 2e regel is voorzien van ' (enkele quotes) in plaats van \ (backslashes). Dit doet dd-wrt zelf bij het opslaan. Het werkt, dus niet meer aan knoeien.
Je pad kan je bepalen door even te kijken in de %remoteinstall% folder op je server.

Goed, nu testen. Hoe anders dan virtueel. Ik gebruik VMware Player voor het gemak. Een standaard Windows 7 x64 setup gekozen voor hardware met de optie "Install an OS later" aangevinkt. NIC in bridged gezet zodat deze door de DD-WRT als een extra client wordt gezien.
Nu hoefde ik niks te doen, behalve de VM aan te zetten. Er was geen CD of iso gemount en ook de harde schijf is helemaal leeg. Ergo, de VM gaat het netwerk op.
En verrek! Het werkt... bijna. Het booten gaat goed. Daarna wordt de installatie gestart met de keuze voor een taal en keyboard lay-out. Om dit te kunnen kiezen, moet ik opeens inloggen! Dat willen we (eigenlijk) niet. Wel is het een extra bescherming tegen foutjes, maar toch.
Na wat puzzelen en wat rechten zetten, heb ik dit nog niet kunnen tackelen. Even verder zoeken nog, tot die tijd inloggen maar. Het is een share issue, aangezien ik de Guest groep read op de RemoteImages heb gegeven. Door nu in te loggen met domein\Guest (zonder wachtwoord), kan ik verder. En dan, na een paar minuten en wat enters en wachtwoorden staat er dan toch een VM met Windows 7 Pro SP1 x64 NL te snorren.

Tip voor VMware Player:
Open in je Vm folder het bestand vmnaam.vmx en voeg onderaan toe:
bios.bootDelay = "3000"
Hierdoor blijft je VM 3 seconden op het BIOS scherm staan, zodat je manueel met het handje op F12 kan rammen. Of met F2 de BIOS in.

Nu de volgende stappen:
- Driver repository opzetten
- Windows Updates integreren
- Inlog wegpoetsen
- Image finetunen, unattend maken

Fijne dagen!