Windows Vista

Préparation à Windows PE 2.0

Wes Miller

 

Vue d'ensemble:

  • Technologie d'imagerie Microsoft Windows
  • Mises à jour de pilotes et maintenance
  • Personnalisation de l'installation sans assistance

Dans les deux dernières éditions de TechNet Magazine, j'ai présenté l'histoire de Windows Preinstallation Environment (Windows PE en abrégé), les différentes décisions architecturales et les possibilités actuelles d'utilisation de Windows® PE. Dans cet article je parlerai essentiellement de Windows PE 2.0, qui est la version livrée avec Windows Vista™. Il ne s'agit pas d'une présentation détaillée de l'utilisation des différentes fonctionnalités, mais plutôt d'un aperçu des nouvelles fonctionnalités et possibilités offertes par Windows PE 2.0. Vous y trouverez un certain nombre de renseignements pratiques ; les conseils d'utilisation de Windows PE 2.0 suivront dans des articles à venir.

Au début du travail sur Windows Vista, l'équipe d'installation Windows (dont je faisais partie à l'époque) se consacra en priorité à la conception d'une toute nouvelle architecture d'installation en créant un nouvel outil d'imagerie afin de faire avancer le déploiement et le remplacement des services d'installation à distance (RIS, Remote Installation Services). Ce faisant notre attention s'est déplacée vers la version intermédiaire du Service Pack 2 de Windows PE et de Windows XP, puis vers le Windows Server® 2003 SP1. Cela a provisoirement mis en attente notre travail de développement sur Windows PE dans Windows Vista. En même temps, la mise à jour intermédiaire de Windows PE nous a permis de fournir quelques-unes des fonctionnalités initialement prévues pour la version 2.0 de Windows PE, et donc nos efforts n'ont pas été totalement vains.

Lors de la définition des nouvelles fonctionnalités que nous souhaitions inclure (voir la barre latérale « Les nouveautés de Windows PE 2.0 »), l'équipe Windows PE a mis l'accent sur la pérennité et les utilisations typiques de Windows PE. Voyons de plus près les nouvelles fonctionnalités.

Le travail avec les images

Il faut avoir compris les concepts de base de la technologie Microsoft® Windows Imaging (WIM) et Windows Deployment Services. WIM a été conçu à la base pour un déploiement de Windows sous forme d'images (appelées jusqu'alors images Sysprep). WIM s'appuie sur des fichiers alors que la plupart des outils d'imagerie s'appuient sur des secteurs. En clair, cela signifie qu'au lieu de dupliquer chaque secteur d'un disque dur, WIM prend les fichiers un par un, avec les métadonnées associées (listes de contrôle d'accès, noms de fichiers courts et longs, etc.) et les stocke dans un seul fichier.

L'un des principaux avantages des images WIM réside dans la capacité de stocker, dans un seul et unique fichier WIM, la copie de plusieurs volumes (chacun étant une image de volume). Chaque fichier n'est stocké qu'une fois, indépendamment du nombre d'images capturées. Ce procédé est appelé instanciation unique. Dans la pratique ce procédé est similaire à celui utilisé par les services d'installation à distance, même si la technologie est totalement différente. L'outil permettant de créer les images WIM images s'appelle ImageX. (également XImage par le passé, mais l'appellation a été changée depuis).

Pendant notre travail de développement sur Windows Vista et sur le moteur d'installation basé sur les images (qui utiliserait Windows PE pour déployer le système d'exploitation), nous nous sommes aperçu qu'il pourrait y avoir des astuces pour économiser de l'espace sur le support. A l'époque, nous ne savions pas encore si Windows Vista serait livré sur CD ou DVD, et nous avons donc été amenés à réduire au minium l'espace disque utilisé pour l'installation elle-même. Dans la mesure où la version de l'ensemble des fichiers contenant Windows PE sur le CD était la même que celle des fichiers dans le fichier WIM avoisinant, nous avons réfléchi à la possibilité d'inclure Windows PE dans le fichier WIM lui-même et de démarrer à partir de ce fichier. Grâce au travail impressionnant fourni par l'un des architectes de l'équipe en charge du système d'exploitation Windows Core, notre idée a pu être mise en œuvre dans une série de prototypes et intégrée dans le produit avant que « Longhorn » (désormais Windows Vista) ne soit présenté à la conférence des développeurs professionnels en 2003. Depuis, Windows PE se trouve dans un fichier WIM sur le support (boot.wim) et les données d'installation sur un autre (install.wim). Même si l'instanciation unique de Windows PE et de Windows initialement envisagée ne fait plus partie désormais du support d'installation, Windows PE continue à bénéficier de l'économie de place réalisé sur le disque du fait de sa compression. À l'intégration de la fonctionnalité de démarrage du RAMDisk proposée dans Windows PE 1.6, s'ajouta ainsi la possibilité de changer de support (retirer le CD/DVD de démarrage initial à la fin du démarrage) puisque le travail d'amorçage WIM initial était terminé.

Inclure une image Windows PE dans un WIM n'est pas plus compliqué que d'utiliser ImageX pour prendre les fichiers (je développerai ce détail dans un article à venir) et d'identifier l'image comme image de démarrage en fournissant le /boot flag à ImageX. Vous pouvez la considérer comme le secteur de démarrage. Lorsque Windows Boot Manager charge le fichier WIM, le marqueur contenu dans les états /boot flag indique la (ou les) image(s) du fichier WIM qui est (sont) une (ou des) image(s) de démarrage. Notez que seul Windows PE est capable de démarrer à partir d'un fichier WIM. Windows Vista ne peut pas être démarré intégralement à partir d'un fichier WIM. Comme dans le cas d'un CD oud 'un DVD, ce fichier WIM est en lecture seule. Vous pouvez ainsi démarrer à partir d'une image WIM de Windows PE et modifier des fichiers. Pour modifier Windows PE, il vous faudra modifier l'image WIM elle-même.

Gestion des pilotes

Pour Windows PE, nous nous sommes toujours concentrés sur la prise en charge des périphériques de stockage en masse et de gestion de réseau. Malgré cela, il y avait encore des cas où la prise en charge de certains périphériques sur de nouveaux systèmes manquait dans Windows PE. Windows PE 1.5 offrait déjà davantage de prise en charge pour ajouter des pilotes de périphériques. Cette amélioration fut encore accentuée dans Windows PE 2.0. Désormais tous les types de périphériques sont pris en charge dès le démarrage sans qu'il n'y ait besoin de produits miracles, tels que factory.exe ou drvinst.exe. Pour ajouter un nouveau pilote de périphérique à Windows PE 2.0, il vous suffit d'exécuter le nouvel outil peimg.exe. La syntaxe indiquée ici est très simple :

peimg.exe /inf drivername.inf builddirectory\Windows

Il suffit de remplacer drivername par le nom du .inf (les caractères génériques tels que net*.inf sont acceptés) et builddirectory par le nom du répertoire dans lequel votre image Windows PE est construite.

Espace de travail « scratch »

Un problème fréquemment rencontré sous Windows PE est que de nombreuses applications Windows (et même bon nombre de composants Windows) s'attendent à être exécutés dans un espace de stockage accessible en écriture. Beaucoup d'entre elles réagissent mal lorsqu'elles sont exécutées à partir de support en lecture seule, tels que les CD-R. Ainsi, lorsque j'ai essayé tout d'abord d'exécuter Microsoft Internet Explorer® sous Windows PE (ou lorsque j'ai essayé avec MSHTA ou l'application Microsoft HTML, qui sont des composants Windows), les principales DLL n'ont pas pu être enregistrées par manque d'espace de stockage accessible en écriture dont elles avaient besoin pour certaines tâches du processus d'enregistrement.

Dans Windows PE 2.0, ce problème ne se pose plus puisqu'il y a 32 Mo d'espace de travail « scratch » pour des écritures dans le système de fichiers. Par conséquent, les composants qui refusaient de fonctionner dans un environnement Windows PE en lecture seule, sont désormais utilisables, puisqu'ils peuvent effectuer sur le disque les écritures requises. Cet espace de travail « scratch » se distingue d'un espace de travail d'un lecteur RAM (fréquemment utilisé par les utilisateurs de Windows PE) en ce sens qu'il est contenu dans le même volume que le volume de démarrage au lieu d'être un autre lecteur temporaire.

Composants optionnels

Comme pour les précédentes versions, la nouvelle version de Windows PE propose des composants optionnels permettant d'utiliser d'autres fonctionnalités. (Ces composants augmentent évidemment la taille, raison pour laquelle ils sont optionnels.) Windows Script Host (WSH), Windows Management Instrumentation (WMI) et MSHTA sont toujours pris en charge. Vous pouvez désormais ajouter la prise en charge de MSXML, l'environnement de Windows Vista Recovery, des polices Windows supplémentaires et des composants Microsoft Data Access (MDAC) qui remplacent ADO pour la prise en charge de SQL qui comprenait une partie, mais pas l'intégralité de la prise en charge de MDAC). Ce qui change vraiment ici, c'est la facilité avec laquelle ces composants peuvent être ajoutés. Au lieu de les implémenter à l'aide d'un script WSH approximatif, ils sont simplement ajoutés ou supprimés à l'aide peimg.exe, le même outil donc que celui présenté plus haut pour ajouter des pilotes.

Packs de langue

Une des principales originalités de Windows Vista est le principe des interfaces utilisateur multilingues (MUI) (concept introduit avec Windows 2000 et amélioré ensuite dans Windows XP) qui a été implémenté ici via le système d'exploitation. Dans Windows 2000 comme dans Windows XP, vous avez certes la possibilité de spécifier une langue autre que l'anglais, mais la MUI est elle-même basée sur la version anglaise du système d'exploitation. Autrement dit, vous pouvez avoir une autre langue si vous le souhaitez, à condition que l'anglais soit toujours présent.

Pour Windows Vista, ce n'est plus le cas. Sans vouloir rentrer dans tous les détails, c'est un changement de taille pour Windows PE. En effet, dans les versions antérieures de Windows PE, la MUI n'était pas prise en charge. Il vous fallait la créer à partir de la langue localisée de Windows à prendre en charge. Désormais vous ajoutez ou modifiez la prise en charge des langues comme n'importe quel autre composant optionnel en utilisant peimg.exe pour ajouter ou supprimer les packs langues correspondants à vos besoins spécifiques dans Windows PE.

Plus de service

La prise en charge des services était un autre point faible dans les versions antérieures de Windows PE. Pour ajouter un pack services, il fallait reconstruire complètement Windows PE. Et pour ajouter un correctif, il fallait improviser manuellement, si toutefois vous osiez. Compte tenu de la faible taille de Windows PE avec des fonctionnalités Windows limitées et une période d'utilisation assez réduite, cela ne nous préoccupait pas particulièrement. Jusqu'à ce que le fameux Blaster tristement célèbre attaque. Comprenant l'appel de procédure distante, Windows PE était vulnérable dans certaines circonstances et pouvait subir des redémarrages à répétition.

C'est pour cette raison que nous avions inclus le pare-feu Windows dans Windows PE 1.5. Ensuite, l'équipe s'est efforcée de faire en sorte que les versions futures de Windows PE bénéficient des mêmes services que les versions complètes de Windows. L'amélioration des services était au centre des efforts faits pour Windows Vista. Windows PE bénéficie des résultats de ces efforts. Pour effectuer des mises à jour, Windows PE utilise peimg.exe, comme pour les autres composants et langues optionnels. Les mises à jour sont fournies par le Centre de téléchargement Windows.

Prise en charge des fichiers sans assistance

Vous connaissez peut-être winbom.ini utilisé pour piloter une petite application appelée factory.exe dans les versions antérieures de Windows PE et désormais remplacé. Il existe maintenant une nouvelle infrastructure XML permettant de personnaliser Windows PE (c'est en fait le même mécanisme utilisé pour les installations sans assistance dans Windows Vista) et une nouvelle application appelée wpeinit.exe.

Wpeinit.exe utilise le format unattend.xml dans Windows Vista pour spécifier les personnalisations et actions de Windows PE. La figure 1 présente un échantillon du fichier unattend.xml qui pourrait être utilisé pour personnaliser Windows PE. Le format du fichier unattend.xml est documenté en tant que partie intégrante du kit OPK (Windows OEM Preinstallation) et du kit WAIK (Windows Automated Installation) que j'aborderai plus loin.

Figure 1 Architecture d'un fichier unattend.xml

Fichier XML Commentaires
<Nomordinateur>MonordinateurWinPE</Nomordinateur>
Installe l'ordinateur sous Windows PE en tant que MonoridnateurWindowsPE.
<Redémarrage>Arrêt</Redémarrage>
Arrête le système après un redémarrage (plutôt que de le redémarrrer, comme dans les versions antérieures de Windows PE).
<Fonctionnementsynchrone>
 
<Commandefonctionnementsynchrone> <Ordre>1</Ordre> <Chemin>notepad.exe</Chemin> </Commandefonctionnementsynchrone>
Exécute notepad.exe.
<Commandefonctionnementsynchrone> <Ordre>2</Ordre> <Chemin>cmd.exe</Chemin> </Commandefonctionnementsynchrone>
Lorsque notepad.exe est terminé, cmd.exe est exécuté.
</Fonctionnementsynchrone>
 
<Activerpare-feu>vrai<Activerpare-feu>
Active le pare-feu Windows au démarrage.
<Fichieréchange> <Taille>1000</Taille> <Chemin>C:\pagefile.sys</Chemin> </Fichieréchange>
Crée un fichier d'échange de 1 Go sur le lecteur C.
<Cheminjournal>C:\mylog.txt</Cheminjournal>
Établit un journal de la sortie de wpeinit.exe et de ce script dans C:\mylog.txt.

Windows Deployment Services

Comme je l'ai indiqué plus haut, l'un de nos principaux objectifs était l'amélioration de l'installation via un réseau en passant à une infrastructure uniformisée quel que soit le point de départ de l'installation (CD, DVD ou réseau). Malheureusement, il n'y a pas mal de travail qui s'effectue en parallèle lorsque l'on effectue d'une installation RIS de Windows. Notre but était de rendre ce processus le moins complexe et redondant possible, raison pour laquelle nous avons conçu Windows Deployment Services.

Windows Deployment Services, comme RIS, est une installation basée sur PXE. Il se distingue de RIS par le fait qu'il démarre Windows PE via le réseau et qu'il utilise la même infrastructure d'installation basée sur des images qu'un démarrage normal avec CD ou DVD. En même temps, il offre le même type d'infrastructure centralisée d'installation pour entreprises que celle fournie par RIS depuis Windows 2000. Il y a aurait beaucoup à dire sur WIM et les Windows Deployment Services, mais cela dépasserait le cadre de mon article. Restez cependant « branchés », j'y reviendrai plus en détail dans un papier à venir.

Utilisation de WAIK

Il serait peut-être temps maintenant de voir comment utiliser Windows PE 2.0. Tout d'abord, il vous faut le kit WAIK. Les versions antérieures de Windows PE étaient livrées avec Windows OPK ou avec le support Software Assurance. Depuis qu'il est prévu de rendre disponible Windows PE 2.0 à tous les clients propriétaires d'une licence Windows, Microsoft a créé WAIK pour tous les autres clients.

WAIK fournit l'ensemble des outils conçus pour Windows PE et dont vous avez besoin pour vous faire une copie de Windows PE 2.0. Le kit WAIK est actuellement disponible en tant que partie intégrante de Windows Business Desktop Deployment (BDD) 2007 bêta. BDD, en plus du WAIK, fournit des instructions sur l'utilisation du kit et de ses outils. Bien entendu, la meilleure façon de se familiariser avec Windows PE 2.0 et toutes les autres nouvelles technologies d'installation et de déploiement de Windows Vista consiste à s'entraîner à les utiliser dès que vous en avez l'occasion.

Les nouveautés de Windows PE 2.0

Windows PE 2.0 offre les mêmes fonctionnalités que Windows PE 1.6, avec, en plus, un certain nombre de nouvelles possibilités et de nouveaux composants, comme par ex. :

  • Démarrage à partir d'une image WIM (Microsoft Windows Imaging)
  • Injection de pilotes et prise en charge Plug and Play en temps réel
  • Espace de travail « scratch » accessible en écriture (même en cas de démarrage avec un CD)
  • Composants optionnels faciles à ajouter (Services Microsoft Core XML, Environnement de récupération Windows, Composants Microsoft Data Access)
  • Packs de langue
  • Prise en charge des fichiers sans assistance
  • Outils améliorés de conception et de mise à jour pour Windows PE

Wes Miller est responsable du développement chez Pluck (www.pluck.com) à Austin, au Texas. Auparavant, il a travaillé chez Winternals Software à Austin, et chez Microsoft comme responsable de programmes et comme responsable de produit Windows. Vous pouvez le contacter à l'adresse suivante : technet@getwired.com.

© 2008 Microsoft Corporation et CMP Media, LLC. Tous droits réservés. Toute reproduction, totale ou partielle, est interdite sans autorisation préalable.