Vous êtes sur la page 1sur 14

Analyse du fonctionnement

de Windows Deployment
Service (v2.2)
Tutorial conu et rdig par Michel de CREVOISIER

SOURCES
Fonctionnement des NBP :
http://technet.microsoft.com/en-us/library/cc732351%28WS.10%29.aspx
http://technet.microsoft.com/en-us/library/cc753134%28v=ws.10%29.aspx
Fonctionnement et stockage des images WIM :
http://technet.microsoft.com/en-us/library/cc732289%28v=ws.10%29.aspx
http://technet.microsoft.com/en-us/library/cc770495%28v=ws.10%29.aspx
Fonctionnement du BCD :
http://technet.microsoft.com/en-us/library/cc770770%28v=ws.10%29.aspx
http://technet.microsoft.com/en-u
s/library/cc731245%28v=ws.10%29.aspx
http://technet.microsoft.com/en-us/library/cc709667%28v=ws.10%29.aspx
Etapes de dmarrage dune image de boot :
http://technet.microsoft.com/en-us/library/cc771845%28WS.10%29.aspx

INDEX
SOURCES.............................................................................................................................................................. 1
INDEX................................................................................................................................................................... 2
Prambule ........................................................................................................................................................... 3
1.

2.

3.

4.

Structure et fonctionnement...................................................................................................................... 4
1.1

PXE Server ............................................................................................................................................ 4

1.2

PXE Provider ........................................................................................................................................ 4

1.3

Image Server ........................................................................................................................................ 4

1.4

Multicast Server................................................................................................................................... 4

1.5

TFTP Server .......................................................................................................................................... 4

Protocoles et fonctionnalits associs ....................................................................................................... 5


2.1

PXE ....................................................................................................................................................... 5

2.2

WinPE .................................................................................................................................................. 5

2.3

NBP ...................................................................................................................................................... 6

2.4

GUID .................................................................................................................................................... 7

2.5

TFTP ..................................................................................................................................................... 7

2.6

Dtection darchitecture ..................................................................................................................... 8

Etapes dexcution...................................................................................................................................... 9
3.1

Dmarrage rseau ............................................................................................................................... 9

3.2

Tlchargement TFTP des fichiers damorage ................................................................................... 9

3.3

Slection du fichier de boot WinPE ................................................................................................... 10

3.4

Cration et amorage du disque virtuel ............................................................................................ 11

3.5

Rsum .............................................................................................................................................. 12

Divers......................................................................................................................................................... 13
4.1

Dcouverte serveur WDS .................................................................................................................. 13

4.2

Session multicast ............................................................................................................................... 13

Conclusion ......................................................................................................................................................... 14

Prambule
Lobjectif de ce tuto est de mettre en vidence les nombreuses interactions quil existe entre les
diffrents protocoles utiliss par WDS. Par ailleurs les captures rseaux ralises via Wireshark vous
permettront de mieux comprendre, dun point de vue rseau, quel moment ces derniers sont
appels.
Si vous souhaitez installer et configurer WDS, je vous recommande lire mon tuto Installation et
configuration de WDS ; et si vous souhaitez installer et scuriser un serveur DHCP, je vous
recommande lire mon tuto Serveur DHCP scuris sous Windows Server 2008 R2 .
Pour ce tuto, jutiliserai 3 serveurs membres du mme domaine :
SRV-AD: serveur Active Directory et DNS (installation non dtaille)
SRV-DHCP: serveur DHCP (installation non dtaille)
SRV-WDS : serveur WDS (installation non dtaille)

1. Structure et fonctionnement
Le service WDS est rparti en cinq modules :

WDS
Service
PXE Server

PXE
Provider

DHCP
Server

Image
Server

Multicast
Server

TFTP
Server

Content
Provider

1.1 PXE Server


Le PXE Server permet aux clients de dmarrer depuis le rseau via la mthode boot PXE . Il
dispose galement de son propre serveur DHCP. Plus de dtails concernant le PXE au point 2.1.

1.2 PXE Provider


Le PXE Provider fournit des services de dmarrage au travers dun appel de procdure distante
(RPC).

1.3 Image Server


Ce module fournit les images dinstallation stockes sur le serveur WDS.

1.4 Multicast Server


Le Multicast Server traite les demandes de multidiffusion. Quant au fournisseur de contenu
(content provider), il transmet les donnes du serveur vers le ou les clients en ayant fait la
demande. Pour la cration de session multicast, rendez-vous au point 9 de mon tuto sur WDS.

1.5 TFTP Server


Le serveur TFTP permet aux clients de tlcharger les fichiers contenus dans WDS. Plus de dtails
concernant le protocole TFTP au point 2.5.

2. Protocoles et fonctionnalits associs


2.1 PXE
Le PXE (Preboot Execution Environment) est un environnement de dmarrage issu du projet WfM
(Wired for Management) soutenu par Intel dans les annes 1990. A lorigine, ce projet avait pour
objectif dadministrer un ordinateur partir dun serveur central afin dy injecter des
programmes ou des mises jour. Par la suite, WfM a t remplac par le standard IPMI (Intelligent
Platform Management Interface).
Actuellement en version 2.1, le PXE fait appel aux lments suivants : IP, UDP, DHCP, TFTP et
GUID/UUID. Pour initier un ordinateur en mode PXE , il faut appuyer sur la touche F12 lors de
laffichage du BIOS ou bien modifier lordre des priphriques de dmarrage.

2.2 WinPE
WinPE (Windows Preinstallation Environment) est un environnement Windows allg permettant
de dmarrer une machine sans systme dexploitation depuis le rseau ou depuis une clef USB.
Distribu avec chaque nouvelle version ou Service Pack de Windows, sa diffusion a longtemps t
restreinte. Ce nest qu partir de la version 2.0 base sur Vista quil est devenu accessible au grand
public. La dernire version en date est la 3.1 et est apparue avec Windows 7 SP1.
Pour rcuprer ce fameux fichier WinPE, naviguez dans le disque dinstallation et recherchez le
fichier boot.wim situ dans le dossier /sources .
Une variante bien connue de WinPE est WinRE (Windows Recovery Environment). Il sagit dun
mini systme dexploitation contenant de nombreux outils permettant de diagnostiquer et
rparer un systme endommag. WinRE est accessible depuis le DVD dinstallation de Windows.
Pour le lancer, il suffit de cliquer sur Rparer lordinateur (cf. image ci-dessous).

2.3 NBP
Un Network Boot Program (NBP) est le premier fichier tlcharg et excut suite un boot
PXE . Il dtermine si le client peut dmarrer partir du rseau, sil doit appuyer sur F12 pour
amorcer une image, etc Pour les ordinateurs disposant dun BIOS (et non dun UEFI), le NBP est
une application 16 bits en mode rel. Sachez quil existe six diffrents types de NBP dans WDS :
Wdsnbp.com :
o NBP tlcharg par dfaut sous WDS. Il fait ensuite appel aux autres NBP selon les

paramtres dfinis au point 4 de mon tuto


o Architecture : x86/x64
o Firmware : BIOS
PXEboot.com :
o Requiert lappui de la touche F12
o Architecture : x86/x64
o Firmware : BIOS
PXEboot.n12 :
o Dmarrage automatique sans intervention de lutilisateur
o Architecture : x86/x64
o Firmware : BIOS
AbortPXE.com :
o Annule le dmarrage PXE et passe directement loption next-device
o Architecture : x86/x64
o Firmware : BIOS
HDLscom1.com :
o Pour les ordinateurs dont le firmware permet la redirection de console
o Architecture : x86/x64
o Firmware : BIOS
6

Bootmgfw.efi :
o Equivalent du bootmgr.exe. Pour les firmware EFI, le choix de dmarrage PXE est
gr par le shell EFI et non par le NBP
o Architecture : x64/ia64
o Firmware : EFI

2.4 GUID
Le GUID (Global Unique Identifier) est une implmentation de lUUID par Microsoft. Il sagit dun
identifiant unique dont la taille est de 16 octets. Concrtement, ce dernier est compos de 32
caractres hexadcimaux (plus 4 tirets) rpartis en cinq groupes sous la forme suivante : 8 4 4
4 12. Il en existe 5 versions :
V1 (MAC address) : concatnation du GUID avec ladresse MAC, en plus du nombre de
nanosecondes coules depuis ladoption du calendrier Grgorien
V2 (DCE Security) : similaire la V1 sauf que la squence horaire a t remplace par le GID
du compte local admin
V3 (MD5 hash) : drivation de lUUID base sur une URL, un FQDN, un distingued name
(DN) , etc
o Structure : xxxxxxxx-xxxx-3xxx-xxxx-xxxxxxxxxxxx
V4 (random) : base sur des nombres alatoires
o Structure : xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx
V5 (SHA-1) : utilise un schma avec un hachage SHA-1
Ci-dessous, un exemple de GUID envoy par un poste client PXE :

On remarquera simplement que le GUID est 564d2bc5-30f2-d8ef-ea44-902e8f679e51 et quil


contient les trois derniers octets de ladresse MAC du client : 00 0c 29 67 9e 51

2.5 TFTP
Le TFTP (Trivial File Transfert Protocol) est un protocole rseau permettant le transfert simplifi de
fichiers. En raison de sa facilit et de sa flexibilit, le TFTP est souvent utilis pour la mise jour
dquipements rseau (routeurs, switchs, pare-feu, etc). Il diffre du FTP par les points suivants :
Fonctionnement en UDP et non en TCP. De ce fait, cest au client ou au serveur de grer les
ventuelles pertes de paquets
Utilisation du port 69 au lieu des ports 20 et 21
Il ne dispose daucun mcanisme dauthentification et de chiffrement
Il est ncessaire de connatre par avance le nom du fichier tlcharger
Il ne gre pas le listage des fichiers
Il ne peut pas grer les fichiers de plus de 4Gb
Le transfert de fichiers se fait bloc par bloc ( ping-pong method )
Le TFTP possde toutefois une limitation : il envoie le bloc suivant que lorsquil a reu laccus (ACK)
du paquet prcdent ; ce qui rduit considrablement les taux de transfert. Pour pallier ce
problme, Microsoft a implment la mthode Windowing qui consiste augmenter le nombre de
7

blocs par fentre. De cette faon, les informations sont transmises plus rapidement et le nombre de
paquets ACK est considrablement rduit. Afin doptimiser au maximum le transfert de fichiers, il
est possible de modifier manuellement la taille du bloc TFTP ainsi que la taille des fentres.
Par ailleurs, sachez quil existe de nombreux projets (Open TFTP Server, BazooTFTP, ) visant
combler ces dfauts, notamment en implmentant la gestion du multithread .

2.6 Dtection darchitecture


Pour dterminer larchitecture dune machine (ia64, x86, x64, etc), le protocole DHCP utilise une
option spcifique. Il sagit de loption 93 (Client System Architecture Type) dont la RFC est disponible
ici. Cette option peut possder lun des paramtres suivants :
0 = IA x86 PC
1 = NEC/PC98
2 = IA64 PC ou EFI Itanium
3 = DEC Alpha
4 = ArcX86
5 = Intel Lean Client
6 = EFI IA32
7 = EFI BC
8 = EFI Xscale
9 = EFI x86-64
La capture ci-dessous indique que larchitecture de client est IA x86 PC car la value est gale
0:

3. Etapes dexcution
3.1 Dmarrage rseau

Dmarrage du client en mode PXE


Requte DHCP de type Discover mise par le client indiquant :
o Quil est client PXE via loption 60 (Vendor Class Identifier - VCI)
o Son architecture via loption 93 (Client System Architecture)

Obtention dune adresse IP auprs du serveur DHCP


Contact du serveur PXE (WDS) partir du nom ou de lIP fourni par le DHCP via loption 66
(next server)

3.2 Tlchargement TFTP des fichiers damorage

Tlchargement du NBP wdsnbp.com grce au nom indiqu dans loption 67

Dtection de larchitecture
Attente de validation de la demande partir du GUID :

wdsnbp.com valide le paquet de rponse DHCP/PXE et tlcharge le NBP pxeboot

Rsum

1
2

pxeboot tlcharge ensuite :


le boot manager BOOTMGR.EXE :

les fonts du menu :

le magasin BCD (remplaant du boot.ini depuis Vista) :

Une requte de lecture du fichier hiberfil.sys est galement excute :

3.3 Slection du fichier de boot WinPE

Une fois les fichiers damorage tlchargs, lcran Windows Boot Manager apparat.
Ce dernier permet de slectionner le fichier WinPE tlcharger. Selon les paramtres
dfinis et selon larchitecture dtecte, lun des deux choix est automatiquement
slectionn :

10

Tlchargement et chargement du fichier boot.sdi (image disque formate en NTFS) :

Tlchargement du fichier de boot.wim selon larchitecture du client :

3.4 Cration et amorage du disque virtuel


Une fois les fichiers boot.wim et boot.sdi tlchargs :

3.4.1 Slection et cration dune entre systme

Le boot manager bootmgr.exe lit les entres du fichier BCD tlcharg prcdemment et
effectue les tches suivantes :
o Cration dun objet RAMDISK (ou disque virtuel)
o Cration dune entre pour le systme dexploitation spcifiant limage du systme
ainsi que les rfrences de lobjet RAMDISK
Ci-dessous, un exemple de magasin BCD :

11

3.4.2 Cration du RAMDISK

Le RAMDISK est compos de deux parties : un fichier disque format en NTFS (boot.sdi)
et un systme de fichiers. Le processus de dmarrage depuis le RAMDISK consiste faire
pointer le loader vers le boot.sdi comme sil sagissait dun disque physique. Le loader du
systme dexploitation monte ensuite le volume et cherche le fichier *.wim.

3.4.3 Dmarrage de WinPE

Bootmgr.exe commence le dmarrage de WinPE en appelant le boot loader Winload.exe


stock dans limage WinPE

3.5 Rsum

12

4. Divers
4.1 Dcouverte serveur WDS
La capture ci-dessous montre les trames mises par un client pour dtecter dautres serveurs WDS.

4.2 Session multicast


Ci-dessous, un extrait dune capture rseau durant une session multicast :

13

Conclusion
WDS savre donc tre une fonctionnalit faisant appel un grand nombre de protocoles. Cest
donc au travers de ce tuto que jai mis en vidence lensemble de ces interactions afin de vous les
prsenter de faon plus concrte. Par ailleurs, ces explications vous faciliteront la tche dans
dventuelles situations de troubleshooting

Nhsitez pas menvoyer vos commentaires ou retours ladresse suivante :


michel_de A-R-0-B-A-5 hotmail . com

Soyez-en dores et dj remerci

14