Vendredi 10 novembre 2006
5
10
/11
/Nov
/2006
11:28
Téléchargez la documentation au format PDF (environ 1Mo).
Copié - collé format texte de la documentation :
VISTA : clonage & déploiement
Table des matières
1 - Résumé du rôle de chaque outil 3
A - WAIK 3
Package qui contient : aide, SIM, .wim, CopyPE, ImageX, PEimg, OSCDimg… 3
B - SIM 3
Génère en interface graphique des fichiers unattended 3
C - CopyPE ("xcopy") 3
Descend sur un répertoire une arborescence de CD de boot WinPE 3
D - ImageX ("ghost pour noyau Windows") 4
1 - Informations sur une image wim (arbo Windows) 4
2 - Descente d'une image wim WinPE, reformation, puis modification 4
3 - Capture d'une image wim puis descente master 4
4 - Wim multiples 4
E - PEimg ("Modificateur hors ligne de Windows" + "Sysprep") 4
1 - Liste des composants présents dans l'arborescence d'une image 4
2 - Ajout de composants dans l'arborescence 4
3 - Ajout de drivers à l'arborescence 4
4 - Préparation de l'arborescence 4
2 - Création du poste master 5
A - Résumé des étapes 5
B - Outils : WAIK, SIM 5
C - Création du fichier de réponses "autounattend.xml" dans SIM 7
D - Personnalisation manuelle du master Vista 9
1 - Applications ajoutées 9
2 - Permissions NTFS ajoutées 9
3 - Profils ajoutés 9
E - "Préparation" du modèle (sysprep) 10
3 - Création du CDROM de boot réseau + outils 11
A - Résumé des étapes 11
1 - Deux niveaux de travail 11
2 - Arborescence minimum pour l'image du CD 11
3 - Les étapes 12
4 - Liste des commandes minimum pour CD custom avec modif noyau 13
B - CD WinPE custom SANS modif du noyau Windows / CopyPE et OSCDimg 14
1 - Descendre l'arborescence du CDROM standard avec CopyPE 14
2 - Embarquer les outils par copie 16
3 - Créer un ISO avec OSCDimg 16
4 - Comparaison des arborescences Répertoire CopyPE / CDROM OSCDimg 19
5 - Charger manuellement des drivers avec DrvLoad (ex : pour tests) 20
C - CD WinPE custom AVEC modif du noyau Windows / PEimg et ImageX 21
1 - Descendre l'arborescence du CDROM standard avec CopyPE 22
2 - Descendre l'image noyau standard "WinPE.win" avec ImageX 23
3 - Ajouter des composants dans l'arborescence noyau descendue, avec PEimg 24
4 - Injecter des drivers dans l'arborescence noyau descendue, avec PEimg 29
5 - Ajouter les outils de type ImageX 30
a - Soit en RAM, dans l'arborescence du noyau (ex : dans Program files) 30
b - Soit hors RAM, dans l'arbo du CD (ex : un rép Tools à la racine du CD) 30
6 - Ajouter le support PXE 30
7 - Scripts 31
a - Méthodes 31
b - startnet.cmd, menu de boot, et scripts lancés 32
1 - StartNet.cmd 32
2 - Menu 33
3 - Connexion réseau 35
4 - Formatage disque 35
5 - ImageX 36
6 - Dir outils et drivers 38
7 - Sauvegarder cette image noyau custom avant prep avec ImageX 39
8 - "Préparer" l'image noyau avec PEimg 40
9 - Sauvegarder cette image noyau custom définitive après prep avec ImageX 40
10 - Création d'un ISO avec OSCDimg 42
11 - Comment maintenant modifier l'image du CD ? 43
a - Modifier le noyau windows embarqué (fichier boot.wim) 43
1 - Installation d'éléments (drivers…) 43
2 - Copié-collé d'éléments 43
b - Modifier la structure du CDROM 43
4 - Boot en WinPE depuis le réseau (PXE) 43
A - Principe 43
B - Installation du serveur PXE 43
C - Préparation du "média" (fichiers de boot) 44
D - Résultat 44
5 - Boot en WinPE depuis le disque dur - A FINIR 46
6 - Capture du fichier master, et mise à disposition sur le réseau 48
A - WinScript.ini 48
B - ImageX 48
7 - Déploiement du master sur d'autres postes 51
A - DiskPart 51
B - Problèmes de boot 55
ANNEXE - Documentations 57
ANNEXE - unattend.xml - A FINIR 58
ANNEXE - EFI (nouveau système de boot) 58
Documentation : WAIK_doc_RC1.zip / getting_started_itpro.rtf
Le WAIK répond à plusieurs difficultés actuelles :
Problèmes avec les images :
- Ghost : plusieurs images si plusieurs modèles de PC
- Taille des images énorme avec Vista
- Sysprep obligatoire
- Fichiers unattended pas simples à réaliser.
Problèmes avec la connexion réseau au serveur hébergeant les images :
- Disparition des lecteurs de disquette
- Difficulté de trouver des drivers réseau sous MS-DOS
- Petit espace de stockage de la disquette, plusieurs nécessaires pour boot + drivers + logiciel de clonage.
1 - Résumé du rôle de chaque outil
A - WAIK
Package qui contient : aide, SIM, .wim, CopyPE, ImageX, PEimg, OSCDimg…
Le "Windows Automated Installation Kit" se télécharge séparément de Vista. Gratuit.
Contient tous les outils et fichiers d'aide pour le déploiement de Vista.
B - SIM
Génère en interface graphique des fichiers unattended
"Windows System Image Manager" : pour personnaliser l'installation d'images Vista.
C - CopyPE ("xcopy")
Descend sur un répertoire une arborescence de CD de boot WinPE
(à partir de plusieurs fichiers du WAIK. Recrée quasiment la même arborescence que celle du répertoire :
C: Program FilesWindowsAIKToolsPEToolsx86).
CopyPE x86 C:MasterPE
D - ImageX ("ghost pour noyau Windows")
1 - Informations sur une image wim (arbo Windows)
ImageX /info "C:Program filesWindowsAIKToolsPEToolsx86WinPE.wim
ImageX /dir WinPE.wim 1
2 - Descente d'une image wim WinPE, reformation, puis modification
ImageX /apply "C:Program filesWindowsAIKToolsPEToolsx86WinPE.wim 1 C:WinPEBuild
ImageX /capture C:WinPEBuild C:CustomPECustomPE.wim "WinPE avec ImageX et drivers reseau VMWare" /boot /compress maximum
ImageX /mountrw C:CustomPECustomPE.wim 1 c:mountwim
ImageX /unmount /commit c:mountwim
3 - Capture d'une image wim puis descente master
ImageX /capture C: M:VRC1us.wim "VistaRC1us" /compress fast /verify
ImageX /apply M:Mastervista.wim 1 C:
4 - Wim multiples
ImageX /append C:winpe_x86mount c:winpe_x86winpe.wim "MyWinPE" /verify
ImageX /export /boot C:winpe_x86winpe.wim 2 C:winpe_x86ISOsourcesboot.wim
E - PEimg ("Modificateur hors ligne de Windows" + "Sysprep")
1 - Liste des composants présents dans l'arborescence d'une image
PEimg C:WinPEBuildWindows /list
2 - Ajout de composants dans l'arborescence
peimg C:WinPEBuildWindows /install=winpe-hta-package
3 - Ajout de drivers à l'arborescence
PEimg /inf="C:MasterDriversvmxnet.inf" C:WinPEBuildwindows
4 - Préparation de l'arborescence
PEimg C:WinPEBuildWindows /Prep
2 - Création du poste master
A - Résumé des étapes
Avec Windows SIM, en chargeant du DVD de Vista le fichier install.win, créer un fichier de réponse autounattend.xml (mettre sur disquette ou clé USB).
Installer Vista en bootant sur le DVD, avec présente dans le lecteur la disquette ou la clé contenant le autounattend.xml.
Eventuellement finaliser le master vista.
Sysprep.
B - Outils : WAIK, SIM
A ce jour le WAIK (Windows Automated Installation Kit) n'est plus téléchargeable sur le site Web de Microsoft. Trouvé sur emule.
Vista 5600.16384.060829-2230-LR1WAIK_EN.iso 786 Mo
Contient : aide (WAIK.chm, WinPE.chm, Getting_Started_ITPro.rtf…), ImgMgr.exe, WinPE.wim, ImageX.exe …
Windows System Image Manager (SIM)
C - Création du fichier de réponses "autounattend.xml" dans SIM
Les différentes version de Vista dans install.wim.
Importation du catalogue terminée dans SIM.
Créer un nouveau point de distribution, un nouveau fichier de réponse, ajouter les paramètres…
D - Personnalisation manuelle du master Vista
1 - Applications ajoutées
Sont conservés.
2 - Permissions NTFS ajoutées
Sont conservées.
3 - Profils ajoutés
Sont conservés.
E - "Préparation" du modèle (sysprep)
C:Windowssystem32sysprepsysprep.exe /oobe /generalize /shutdown
(Essai : démarrage d'un Vista tout juste sysprepé :
3 - Création du CDROM de boot réseau + outils
A - Résumé des étapes
1 - Deux niveaux de travail
CD-ROM bootable WinPE - 2 niveaux :
- le "noyau" Windows embarqué
(personnalisable -ex : ajout de drivers réseau-, par extraction d'image + installation + prep)
- la structure du CDROM
(personnalisable, par simple ajout de fichiers ou dossiers).
LecteurCD_D:
Boot (etfsboot.com, boot.sdi…)
Sources (boot.wim)
Drivers
Outils (imagex.exe…)
Scripts (connection réseau, formatage disque…)
bootmgr
2 - Arborescence minimum pour l'image du CD
L'objectif est d'obtenir cette arborescence :
Copie du fichier du WAIK
C:Program filesWindowsAIKToolsPEToolsx86BootMgr.
Copie du contenu du répertoire du WAIK
C:Program filesWindowsAIKToolsPEToolsx86Boot
A partir du WinPE.wim du WAIK descendu sur un répertoire C:WinPEBuild, en rajoutant les drivers réseau VMWare, après préparation du répertoire C:WinPEBuildWindows. On refait une image du répertoire C:WinPEBuild => boot.wim.
Copier tous les outils utiles type ImageX pour les embarquer sur le CD-ROM.
3 - Les étapes
Créer l'arbo du CD de boot réseau et de ses outils : copype pour créer l'arborescence à partir du WAIK + copier les outils (dans un même répertoire imagex.exe et wimscript.ini - exculsions-, drivers…).
Générer l'ISO (avec oscdimg) et le graver.
Booter sur ce CD sur le poste master, capturer Vista avec imagex, copier l'image sur le réseau.
ou (cas testé VMWare) :
Créer le CD de boot réseau custom (ajout de drivers réseau VMWare dans le "noyau") :
- Créer l'arbo du CD de boot réseau et de ses outils : copype (idem)
- Descendre l'image de départ WinPE.win (arbo Windows) sur un répertoire avec ImageX
Injecter des drivers dans cette arborescence Windows avec PEimg
"Préparer" cette arborescence avec PEimg
Créer l'image win de cette arbo Windows avec ImageX (génère boot.wim)
Générer l'ISO (avec oscdimg) et le graver.
Booter sur ce CD sur le poste master, capturer Vista avec ImageX, copier l'image sur le réseau.
Ne pas confondre :
- CopyPE : descend sur un répertoire une structure de CD de boot,
à partir de plusieurs fichiers du WAIK.
CopyPE travaille sur la structure du CDROM bootable.
- ImageX /apply : descend sur un répertoire la structure d'un noyau Windows,
avec à la "racine" les répertoires Windows, Program files, Users…
ImageX et PEimg travaillent sur le "noyau" Windows
(inclus dans le CDROM bootable, ou image Vista véritable).
4 - Liste des commandes minimum pour CD custom avec modif noyau
copype x86 c:masterpe
robocopy c:stockadditifsiso c:masterpeiso /E
'copie des répertoires Drivers, Tools, Scripts.
md c:winpebuild
imagex /apply "c:program fileswaiktoolspetoolsx86winpe.wim 1 c:winpebuild
robocopy c:winpebuildwindowsbootpxe c:masterpeisobootpxe /E
peimg C:WinPEBuildWindows /install=winpe-hta-package
peimg C:WinPEBuildWindows /install=winpe-Scripting*
peimg C:WinPEBuildWindows /install=*SRT*
peimg /inf="c:additifsisodriversnet_vmvmxnet.inf c:winpebuildwindows
peimg /inf="c:additifsisodriversnet_vmvmware-nic.inf c:winpebuildwindows
peimg c:winpebuildwindows /prep
'pas nécessaire dans tous les cas.
XXXX unattend ? XXXX
imagex /capture c:winpebuild c:masterpeisosourcesboot.wim "noyau custom winpe" /boot /compress maximum
oscdimg -n -b"c:masterpeisobootetfsboot.com" c:masterpeiso c:stockmasterwinpecus.iso
B - CD WinPE custom SANS modif du noyau Windows / CopyPE et OSCDimg
Le CDRom ainsi fabriqué est standard, mais embarque les outils de notre choix, que l'on a simplement copié sur le CD.
Cela évite de devoir switcher entre 2 CD : 1 CD WinPE et 1 CD Outils.
Les drivers embarqués dans ce CD doivent donc être chargés manuellement.
Nous verrons plus bas comment créer un CD réellement personnalisé, chargeant automatiquement les drivers souhaités. Pour cela, il faudra modifier le noyau Windows embarqué.
1 - Descendre l'arborescence du CDROM standard avec CopyPE
"WinPE.win" dans le WAIK. La commande "CopyPE.cmd" crée une arborescence qu'on pourra customiser (ajouter "ImageX", "WimScript.ini"…)
L'installation du WAIK a créé à cet effet un raccourci dans le menu Démarrer :
CopyPE x86 C:MasterPE
On obtient l'arborescence du CD de boot.
2 - Embarquer les outils par copie
Ajouts à ce CD : dans le répertoire ISO ou dans un sous-répertoire, on copie ImageX depuis le WAIK
et on crée le fichier d'exclusions WimScript.ini.
+ flexible : embarquement dans des sous-répertoires d'ISO : Drivers, Scripts, Tools…
3 - Créer un ISO avec OSCDimg
OSCDIMG [options] repertoiresource fichierisodedestination
oscdimg -n -b"C:MasterPEISObootetfsboot.com" C:MasterPEISO "M:SoftsMicrosoft_OS_et_ServeursWindowsVistaComplementsCDROM_bootable_WinPEWinPECustom1_NoyauStdEtOutils.iso"
-n autorise les noms longs.
Pas d'espace dans -bc:... ; etfsboot.com = nom de l'image de secteur de boot "El Torito".
ou
Quand on boote :
- le système (Windows, Program files…) est sur X:, entièrement chargé en mémoire au démarrage
- le CDROM est sur D:
- on voit le système installé à cloner, ici sur C:
Note : WAIK RC1 US : CDROM clavier US
WAIK 1 Fr : CDROM clavier FR.
Note : pas besoin de "Prep" (on n'a pas apporté de modification au noyau Windows -fichier boot.wim-).
Prep permet de réduire la taille de l'image : important pour l'image finale car elle devra être chargée en mémoire, donc nécessite beaucoup de RAM : 512 Mo pour l'image WinPE par défaut, compter 100 Mo de plus que la taille de l'image pour une image custom.
X: est la lettre de mount par défault, elle ne peut pas être modifiée (doc Microsoft).
4 - Comparaison des arborescences Répertoire CopyPE / CDROM OSCDimg
CopyPE (sur HD)
OSCDimg ( sur CD)
C:MasterPEetfsboot.com
C:MasterPEwinpe.wim
C:MasterPEISO
C:MasterPEmount
C:MasterPEISObootmgr
D:BOOTMGR
C:MasterPEISOboot
C:MasterPEISOEFI
C:MasterPEISOoutils
C:MasterPEISOsources
D:BOOT
D:EFI
D:OUTILS
D:SOURCES
C:MasterPEISObootbcd
C:MasterPEISObootboot.sdi
C:MasterPEISObootbootfix.bin
C:MasterPEISObootetfsboot.com
C:MasterPEISObootfonts
C:MasterPEISObootfontschs_boot.ttf
C:MasterPEISObootfontscht_boot.ttf
C:MasterPEISObootfontsjpn_boot.ttf
C:MasterPEISObootfontskor_boot.ttf
C:MasterPEISObootfontswgl4_boot.ttf
D:BOOTBCD
D:BOOTBOOT.SDI
D:BOOTBOOTFIX.BIN
D:BOOTETFSBOOT.COM
D:BOOTFONTS
D:BOOTFONTSCHS_BOOT.TTF
D:BOOTFONTSCHT_BOOT.TTF
D:BOOTFONTSJPN_BOOT.TTF
D:BOOTFONTSKOR_BOOT.TTF
D:BOOTFONTSWGL4_BOOT.TTF
C:MasterPEISOEFImicrosoft
C:MasterPEISOEFImicrosoftboot
C:MasterPEISOEFImicrosoftbootbcd
C:MasterPEISOEFImicrosoftbootfonts
C:MasterPEISOEFImicrosoftbootfontschs_boot.ttf
C:MasterPEISOEFImicrosoftbootfontscht_boot.ttf
C:MasterPEISOEFImicrosoftbootfontsjpn_boot.ttf
C:MasterPEISOEFImicrosoftbootfontskor_boot.ttf
C:MasterPEISOEFImicrosoftbootfontswgl4_boot.ttf
D:EFIMICROSOFT
D:EFIMICROSOFTBOOT
D:EFIMICROSOFTBOOTBCD
D:EFIMICROSOFTBOOTFONTS
D:EFIMICROSOFTBOOTFONTSCHS_BOOT.TTF
D:EFIMICROSOFTBOOTFONTSCHT_BOOT.TTF
D:EFIMICROSOFTBOOTFONTSJPN_BOOT.TTF
D:EFIMICROSOFTBOOTFONTSKOR_BOOT.TTF
D:EFIMICROSOFTBOOTFONTSWGL4_BOOT.TTF
C:MasterPEISOoutilsimagex.exe
C:MasterPEISOoutilswimscript.ini
D:OUTILSIMAGEX.EXE
D:OUTILSWIMSCRIPT.INI
C:MasterPEISOsourcesboot.wim
D:SOURCESBOOT.WIM
5 - Charger manuellement des drivers avec DrvLoad (ex : pour tests)
Objectifs :
- booter sur le CD WinPE standard,
- puis charger manuellement en mémoire des drivers gravés sur un CD additionnel.
- ou utiliser le CD créé juste avant, ne modifiant pas le noyau Windows mais embarquant les drivers.
Graver sur un CD les TOUS fichiers drivers réseau VMWare suivants :
Fichiers présents sur le master dans C:Program filesVMwareVMware ToolsDrivers.
Booter sur le CD WinPE (contient DrvLoad.exe en standard), puis charger les drivers du CD juste gravé :
DrvLoad VMWare-NIC.inf
DrvLoad VMxnet.inf
(Ces 2 drivers semblent nécessaires. Essai avec 1 seul (vmxnet.inf => échec). Avec les 2 => succès).
La connexion réseau s'établit directement, sans nécessité de monter les couches réseau manuellement :
Net use M: 192.168.1.20Maintena
Attention, préciser le domaine au login.
C - CD WinPE custom AVEC modif du noyau Windows / PEimg et ImageX
Objectif: automatiser la connexion réseau sous VMware.
"PEIMG Outil de personnalisation d'images Windows PE 2.0."
"Gestion des pilotes
Pour ajouter un nouveau pilote de périphérique à Windows PE 2.0, il vous suffit d'exécuter le nouvel outil peimg.exe.
peimg.exe /inf drivername.inf builddirectoryWindows
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."
Objectifs :
- modifier le CD WinPE standard afin de charger automatiquement des drivers additionnels,
- et embarquer sur le CD des outils de type ImageX, scripts…
ImageX /info "C:Program filesWindowsAIKToolsPEToolsx86WinPE.wim"
Voir le contenu de l'image Wim
1 - Descendre l'arborescence du CDROM standard avec CopyPE
Voir plus haut (déjà fait) : CopyPE x86 C:MasterPE
2 - Descendre l'image noyau standard "WinPE.win" avec ImageX
ImageX /apply "C:Program filesWindowsAIKToolsPEToolsx86WinPE.wim" 1 C:WinPEBuild
(ce WinPE.wim est le même que celui descendu par CopyPE : C:MasterPEwinpe.wim)
Il est nécessaire d'appliquer l'image à un répertoire pour pouvoir opérer des modifications sur l'image.
(656 Mo)
(Liste complète des fichiers en annexe)
3 - Ajouter des composants dans l'arborescence noyau descendue, avec PEimg
PEimg - Preinstallation Environment Image Setup Tool for Windows Copyright (C) Microsoft Corporation. All rights reserved.
PEIMG {Command} {Image} [Flags]
Command /import | /inf | /install | /lang | /list | /prep | /uninstall | /targetpath | /timezone
Flags /verbose | /quiet | /f
Image Specifies the path to the Windows directory within the base Windows PE image. The image must first be applied or mounted to a local directory using ImageX. This can also be specified as /image=path.
Commands:
/import=
Imports a package from a .CAB file or directory structure. The package will be made available for installation.
/inf= Installs an INF package (typically a driver) to a Windows PE image. is the path to the .INF file. You can perform this on a Windows PE image that was previously prepared with /prep.
/install= Installs a package, where denotes the package name. A list of available packages and their names can be obtained using the /list command. Wildcards can be used when specifying a package name. Any packages with matching long names will be installed.
/lang= [/layerdriver=] Sets the locale and the UI language of a Windows PE image. The value is the culture name of the specified language. A language pack for the specified language must already be installed. For the ja-JP or ko-KR cultures, the /layerdriver option can be used to specify which keyboard layer driver should be installed. Values for are integers in the range 1..6 and are described in the documentation. You can perform this on a Windows PE image that was previously prepared with /prep.
/timezone= Sets the default time zone of a Windows PE image. The time zone can be specified either by a culture name, or by a time zone name. Please consult the documentation for more details. You can perform this on a Windows PE image that was previously prepared with /prep.
/targetpath=X:... For harddisk boot scenarios, sets the location where the Windows PE image will reside on the disk. This path must be equal to or a subdirectory of X: (which is the default). You can only perform this on a Windows PE image that was previously prepared with /prep.
/list Displays a list of packages in the current image. Packages are displayed in short name form. In the INS column, (+) denotes installed packages and (-) denotes not installed. /verbose will display the full package names.
/prep Optimizes the Windows PE image for size. This operation cannot be reverted, and after /prep is issued, the /install, /uninstall, /import, and /list commands will not function. The /lang, /inf and /targetpath commands will continue to function. The tool will prompt the user to confirm the command. To suppress this prompt for scripting, specify the /f flag.
/uninstall= Uninstalls a package, where denotes the package name. A list of installed packages and their names can be obtained by using the /list command. In the INS column, (+) denotes installed packages. Wildcards can be used when specifying a package name. Any packages with matching long names will be uninstalled.
Flags:
/verbose Display long names for packages. Only short names are displayed by default.
/quiet Suppress the progress bar.
/f Suppress prompts for use in scripts. This flag is ignored for operations that would not normally prompt.
Examples:
REM Import a feature/update in a .CAB file peimg c:winpewindows /import=feature.cab
REM List the installed and available packages peimg /list /image=c:winpewindows
REM Install all available scripting packages peimg /install=*Scripting* c:winpewindows
PEimg C:WinPEBuildWindows /list
Liste des composants disponibles à l'installation. "-" = absent. "+" = présent.
Ajout du composant pour le support HTML :
peimg C:WinPEBuildWindows /install=winpe-hta-package
Ajout du composant pour le support du VBscript :
peimg C:WinPEBuildWindows /install=winpe-Scripting*
Ajout du composant de recovery pour installation failed :
peimg C:WinPEBuildWindows /install=*SRT*
A noter : les "+" dans la colonne "Ins[tallés]".
Boot.wim du WinPE dans SIM
4 - Injecter des drivers dans l'arborescence noyau descendue, avec PEimg
PEimg /inf="C:MasterDriversvmxnet.inf" C:WinPEBuildwindows
Attention pour injecter un driver dans l'image, il ne faut pas seulement les .inf
(cf appel aux autres fichiers dans les .inf)
PEimg /inf="C:MasterPEISODriversnet_vmvmware-nic.inf" C:NoyauPEwindows
WAIK version Fr.
5 - Ajouter les outils de type ImageX
2 méthodes pour ajouter des outils dans l'image :
a - Soit en RAM, dans l'arborescence du noyau (ex : dans Program files)
En RAMdisk - Résultat en bootant sur le CDROM (file system "mounté").
Attention les images de boot sont chargées en RAM avant d'être lancées -> vérifier la taille des images et le montant de RAM disponible. Ex : un prep permet de réduire la taille d'une image WinPE.
b - Soit hors RAM, dans l'arbo du CD (ex : un rép Tools à la racine du CD)
(Vu plus haut)
Hors RAMdisk.
6 - Ajouter le support PXE
robocopy c:winpebuildwindowsbootpxe c:masterpeisobootpxe /E
(ou sur c:masterpeisopxe : idem).
Cette image, placée sur un serveur réseau, pourra être utilisée pour booter, rendant inutile le support physique "CDROM" (F12 au démarrage pour boot réseau ou PXE en 1er). Voir paragraphe boot pxe plus bas.
7 - Scripts
a - Méthodes
Le script X:WindowsSystem32StartNet.cmd se lance automatiquement au démarrage et peut être personnalisé.
Une autre possibilité est de créer un fichier html à lancer automatiquement au démarrage via unattend.xml.
b - startnet.cmd, menu de boot, et scripts lancés
1 - StartNet.cmd
startnet.cmd
startnet.cmd : appelle menu.bat
Attention, prévoir les path pour que ce package de boot WinPE soit utilisable
depuis un CDROM *** et *** un serveur réseau.
2 - Menu
menu.bat
@echo off
set maintenp=192.168.1.20maintena
set encoursp=192.168.1.20_encours
set login=mondomainemonuser
set maintenl=M
set encoursl=N
color 3E
cls
echo ==============================================
echo.
echo Menu
echo.
echo 1 - Sortir (retour en ligne de commande)
echo.
echo 2 - Reseau : maps %maintenl% Maintenance + %encoursl% _Encours
echo.
echo 3 - Formatage : aide
echo 4 - Formatage : creation partition C: 16 Go
echo.
echo 5 - Imagex : aide
echo 6 - Imagex : capture
echo 7 - Imagex : descente
echo.
echo 8 - Outils embarques : liste
echo 9 - Drivers embarques : liste
echo.
echo ==============================================
echo.
choice /c:123456789
if errorlevel 9 goto 9
if errorlevel 8 goto 8
if errorlevel 7 goto 7
if errorlevel 6 goto 6
if errorlevel 5 goto 5
if errorlevel 4 goto 4
if errorlevel 3 goto 3
if errorlevel 2 goto 2
if errorlevel 1 goto 1
:1
goto fin
:2
color 3F
netconnect.bat
goto fin
:3
color 3F
hdprepdskh.bat
goto fin
:4
color 0C
hdprepdsk1.bat
goto fin
:5
color 3F
imageximgh.bat
goto fin
:6
color 0C
imageximgcaptu.bat
goto fin
:7
color 0C
imageximgdesch.bat
goto fin
:8
color 3F
arbolisttool.bat
goto fin
:9
color 3F
arbolistdrvr.bat
goto fin
:fin
color
3 - Connexion réseau
cls
echo ==============================================
echo.
echo Net use
echo.
echo Connexion aux repertoires reseau de maintenance.
echo.
echo %maintenl%: %maintenp% (lecture seule)
echo %encoursl%: %encoursp% (lecture ecriture)
echo.
echo ==============================================
echo.
pause
echo.
rem M: mappe auparavant par startnet.cmd pour menu en PXE
rem echo Suppression du map eventuel sur %maintenl%:
rem net use %maintenl%: /del
echo.
echo Suppression du map eventuel sur %encoursl%:
net use %encoursl%: /del
echo.
echo Mappage du repertoire de maintenance sur %maintenl%:
net use %maintenl%: %maintenp% /user:%login%
echo.
echo Mappage du repertoire encours sur %encoursl%:
net use %encoursl%: %encoursp% /user:%login%
echo.
echo Retour au menu...
pause
menu.bat
4 - Formatage disque
prepdskh.bat
cls
echo ==============================================
echo.
echo DiskPart
echo.
echo Aide
echo.
echo *** Si le disque est VIERGE,
echo *** utiliser la procedure automatique
echo *** (effacement complet + formatage).
echo.
echo *** Si le disque est partitionne
echo *** adapter le modele ci-dessous.
echo.
echo ==============================================
echo.
pause
echo.
echo diskpart
echo.
echo list volume
echo list disk
echo.
echo select disk 0
echo list partition
echo.
echo select partition 1
echo delete partition
echo.
echo create partition primary size=16000
echo active
echo format
echo.
echo select partition 1
echo detail partition
echo.
echo exit
echo.
echo Retour au menu...
pause
menu.bat
prepdsk1.bat
cls
echo ==============================================
echo.
echo DiskPart
echo.
echo - Creation de la partition systeme C: de 16 Go
echo - Activation
echo - Formatage NTFS.
echo.
echo.
echo *** Si le disque est DEJA partitionne,
echo *** supprimer manuellement les partitions
echo *** avant d utiliser ce script.
echo.
echo ==============================================
echo.
pause
echo.
echo !!!---!!!---!!!---!!!---!!!---!!!---
echo Etes vous sur de vouloir continuer ?
echo (Taper ctr c pour annuler.)
echo !!!---!!!---!!!---!!!---!!!---!!!---
echo.
pause
echo.
diskpart /s hdprepdsk2.txt
menu.bat
prepdsk2.txt
list volume
list disk
select disk 0
list partition
create partition primary size=16000
active
format
select partition 1
detail partition
exit
5 - ImageX
imgh.bat
cls
echo ==============================================
echo.
echo ImageX
echo.
echo Aide
echo.
echo - Creation d image wim
echo - Descente d image wim
echo.
echo Utiliser les scripts automatiques fournis
echo ou adapter les modeles ci-dessous.
echo.
echo ==============================================
echo.
echo imagex /capture c: %encoursl%:img.wim
echo "ImagePersonnalisee" /compress fast /verify
echo.
echo imagex /apply %encoursl%:img.wim 1 c:
echo.
echo Retour au menu...
pause
menu.bat
imgcaptu.bat
cls
echo ==============================================
echo.
echo ImageX
echo.
echo Capture de la partition C: en image Win sur %encoursl%:
echo.
echo ==============================================
echo.
pause
echo.
echo Capture de la partition C: dans %encoursl%:img.wim.
echo Cette operation peut etre longue (de 30 min a 1 h).
pause
echo Connexion au reseau :
echo Suppression du map eventuel sur %encoursl%:
net use %encoursl%: /del
echo Mappage du repertoire encours sur %encoursl%:
net use %encoursl%: %encoursp% /user:%login%
echo.
..toolsimageximagex /capture c: %encoursl%:img.wim "ImagePersonnalisee" /compress fast /verify
echo.
echo Retour au menu...
pause
menu.bat
imgdesch.bat
cls
echo ==============================================
echo.
echo ImageX
echo.
echo Descente sur C: de l image wim choisie.
echo.
echo ==============================================
echo.
pause
echo.
echo Usage :
echo imageximgdesc path_image_wim
echo.
echo Exemple :
echo imageximgdesc %maintenl%:ghostvistavtafrais.wim
echo.
echo Retour au menu : taper menu.
echo.
pause
echo.
echo Connexion au reseau :
echo.
echo Suppression du map eventuel sur %encoursl%:
net use %encoursl%: /del
echo Mappage du repertoire encours sur %encoursl%:
net use %encoursl%: %encoursp% /user:%login%
echo.
imgdesc.bat
@echo off
echo.
echo Descente de l image wim choisie sur C:.
echo Cette operation peut etre longue (environ 30 min).
echo.
pause
echo.
..toolsimageximagex /apply %1 1 c:
echo.
echo Retour au menu...
pause
menu.bat
6 - Dir outils et drivers
listtool.bat
cls
echo ==============================================
echo.
echo Dir
echo.
echo Liste des outils presents sur le CD.
echo.
echo ==============================================
echo.
pause
echo.
dir ..tools /b
echo.
echo Retour au menu...
pause
menu.bat
listdrvr.bat
cls
echo ==============================================
echo.
echo Dir
echo.
echo Liste des drivers presents sur le CD.
echo.
echo ==============================================
echo.
pause
echo.
dir ..drivers /b
echo.
echo Retour au menu...
pause
menu.bat
7 - Sauvegarder cette image noyau custom avant prep avec ImageX
ImageX /capture C:WinPEBuild C:CustomPECustomPE.wim "WinPE avec ImageX et drivers reseau VMWare" /boot /compress maximum
(Attention : ouvrir cmd.exe en tant qu'Administrateur, si erreur de droits).
Sauvegarder ces répertoires ou cette image dans un WIM avant de créer et graver un ISO.
Si l'on doit retoucher cette image, il faudra repartir de ce répertoire d'installation sauvegardé,
ou de ce WIM.
3 niveaux de compression possibles : none, fast, maximum. Exemple avec une même arbo capturée :
8 - "Préparer" l'image noyau avec PEimg
Pas forcément nécessaire dans tous les cas. Dans celui-ci (ajout de drivers réseau VMware), le CD fonctionne sans que le noyau n'ait été "prepé".
PEimg C:WinPEBuildWindows /Prep
"Préparation" de l'image. On va maintenant utiliser ImageX pour créer un WIM à partir de ces fichiers préparés, et se servir de ce wim pour créer un ISO avec OSCDimg.
Note : en version Fr, taper "yes" et non "oui" comme demandé ;-)
9 - Sauvegarder cette image noyau custom définitive après prep avec ImageX
ImageX /capture C:WinPEBuild C:MasterPEISOSourcesboot.wim "Custom WinPE boot image"
/boot /compress maximum
(contenant ici les drivers réseau VMware)
Placer ce fichier boot.wim dans le répertoire Sources du CDROM à graver.
10 - Création d'un ISO avec OSCDimg
Il reste à graver l'image :
OSCDIMG [options] repertoiresource fichierisodedestination
OSCDimg -n -b"C:Program filesWindowsAIKToolsPEToolsx86Bootetfsboot.com" C:MasterPEISO C:SourcesWinPE.iso
Contenu du répertoire WinPE : boot, sources, + custom.
Boot avec le CD WinPE : la connexion réseau s'établit, les drivers ont donc bien été montés.
11 - Comment maintenant modifier l'image du CD ?
2 options :
a - Modifier le noyau windows embarqué (fichier boot.wim)
1 - Installation d'éléments (drivers…)
Ex : - on ajoute des drivers : Prep pas nécessaire.
- on ajoute des modules : Prep pas nécessaire.
A voir : les cas où Prep serait nécessaire.
2 - Copié-collé d'éléments
Ex : - on ajoute dans "Program files" un répertoire Test, contenant un fichier Test.txt
- on recrée boot.wim
- on replace ce boot.wim à sa place dans l'architecture du CD de boot
- on recrée l'ISO.
Résultat : le CD fonctionne correctement. Prep pas nécessaire.
b - Modifier la structure du CDROM
Ex : - rajouter un répertoire C:MasterPEISOScripts, pour qu'il soit à la racine du CDROM
- regénérer l'ISO avec OSCDimg sur C: MasterPEISO.
Résultat : le CD fonctionne correctement. Prep pas nécessaire.
4 - Boot en WinPE depuis le réseau (PXE)
A - Principe
Le boot réseau passe par PXE (pour Preboot eXecution Environment), un protocole propriétaire d'Intel. La carte réseau possède une PROM sur laquelle la machine va booter. Cette PROM contient les premières instructions qui vont permettre d'effectuer une requête DHCP (Dynamic Host Configuration Protocol) auprès du serveur afin d'obtenir une adresse IP sur le réseau et de charger ainsi le client PXE en RAM.
Le client récupère ensuite le noyau de l'OS par TFTP (Trivial FTP) et peut donc booter sur ce noyau.
Il faut donc utiliser 3 serveurs :
TFTPD (TFTPD)
PXE (4011)
DHCPD (67)
B - Installation du serveur PXE
Voir document "Installation d'un serveur de déploiement" : exemple avec 2 serveurs, TFTPD32 et IIS. Les serveurs hébergent et pointent sur l'arborescence du CDROM WinPE custom, qu'ils donnent à la demande des clients par PXE (carte réseau), DHCP (@IP), TFTPD (transmission fichiers de boot).
C - Préparation du "média" (fichiers de boot)
Il faut poser le répertoire PXE (contenu dans l'image WinPE.wim), sur le CDROM dans le répertoire Boot.
Cette opération a déjà été faite plus haut.
Si elle a été ignorée, voici comment remodifier l'image :
C:Program FilesWindows AIKToolsx86>imagex.exe /mountrw C:MasterPEISOsourcesboot.wim 1 E:MasterPEmount
ImageX Tool for Windows
Copyright (C) Microsoft Corp. 1981-2005. All rights reserved.
Mounting (RW): [C:MasterPEISOsourcesboot.wim, 1] ->
[C:MasterPEmount]
Successfully mounted image (RW).
Copier les fichiers qui seront utilisés par le boot réseau (PXE), càd tout le contenu de
C:MasterPEMountWindowsBootPXE vers le répertoire C:MasterPEISOBoot.
C:Program FilesWindows AIKToolsx86>imagex.exe /unmount C:MasterPEmount /commit
ImageX Tool for Windows
Copyright (C) Microsoft Corp. 1981-2005. All rights reserved.
Unmounting: [C:MasterPEmount]...
Successfully unmounted image.
D - Résultat
IP reçue par DHCP au niveau du boot PXE : 192.168.1.152
192.168.1.128 = le serveur d'install.
IP reçue par DHCP au niveau de Windows : 192.168.1.161
5 - Boot en WinPE depuis le disque dur - A FINIR
Comment créer une entrée pour booter sur une image Wim stockée sur le HD :
Il faut créer une entrée de type OSloader avec des options RAMDISK pointant sur la partition de boot.
Boot.wim contient Winload.exe dans son répertoire System32 à l'intérieur de l'image WIM.
Créer l'objet {ramdisktoptions} dans le BCD store :
BCDedit /create {ramdiskoptions} /d "RamdiskOptions"
BCDedit /set {ramdiskoptions} ramdisksdidevice partition=C:
BCDedit /set {ramdiskoptions} ramdisksdipath bootboot.sdi
Créer une nouvelle entrée d'application de boot (retourne un id) :
BCDedit /create /d "WinPEcustom" /application OSLOADER
BCDedit /set {id} device ramdisk=[c:]masterpeisoboot.wim,{ramdiskoptions}
BCDedit /set {id} path windowssystem32winload.exe
BCDedit /set {id} osdevice ramdisk=[c:]masterpeisoboot.wim,{ramdiskoptions}
BCDedit /set {id} systemroot windows
S'il s'agit d'une entrée Windows PE, il faut ajouter :
BCDedit /set {id} winpe yes
BCDedit /set {id} detecthal yes
Fixer l'ordre d'affichage dans le menu :
BCDedit /displayorder {id} /addlast
6 - Capture du fichier master, et mise à disposition sur le réseau
Rappel : le master vista, une fois terminé, a subi un sysprep (voir paragraphe de création du poste master).
A - WinScript.ini
[ExclusionList]
ntfs.log
hiberfil.sys
pagefile.sys
"System Volume Information"
RECYCLER
WindowsCSC
[CompressionExclusionList]
B - ImageX
Aller à la racine du CDROM
ImageX /capture C: M:VRC1us.wim "VistaRC1us" /compress fast /verify
Capture en direct sur le réseau
On note : l'image peut être enregistrée sur la même partition !
Partition Vista = environ 10 Go. Image sur M:
Exclusions du wimscript.ini
7 - Déploiement du master sur d'autres postes
Booter sur l'ISO.
Formater avec diskpart (ou diskpart /s monscript).
Appliquer l'mage avec imagex.
A - DiskPart
Select disk 0
Detail disk
List Disk | Partition | Volume
DiskPart
Select disk 0
Clean
Create partition primary size=10000
Active
Format
Exit
Clean : supprime tout formatage de partition ou de volume sur le disque qui a le focus.
net use m: serveurmasters
ImageX /apply m:monmastervista.wim 1 C:
Depuis ImageX chargé en mémoire.
Depuis ImageX dans un répertoire Outils du CDROM de boot WinPE.
Au reboot : entrer le numéro de série, personnaliser quelques fenêtres (cf l'image est issue d'un Sysprep) => OK.
B - Problèmes de boot
Contexte :
On réalise une image Wim d'une partition système Vista C:
imagex /capture c: m:img.wim "ImagePersonnalisee" /compress fast /verify
On masterise un poste avec cette image :
imagex /apply n:img.wim 1 c:
Les fichiers sont bien présents sur C: mais le système ne boote pas.
Problème :
Le nouveau loader de Vista a besoin d'un coup de pouce manuel pour être configuré, et donc pointer sur C:
Solution :
Utilitaire en ligne de commande bcdedit :
Vérifier la section {default} : les paramètres device et osdevice sont-ils à "unknown" ? Si oui :
bcdedit /set {default} device partition=c:
bcdedit /set {default} osdevice partition=c:
Maintenant, le système boote normalement.
Tests réalisés sous machines virtuelles VMware, avec les versions Vista RC2 Fr et Vista FR définitif.
ANNEXE - Documentations
Archive for June, 2006
WinPE2 with BDD 3.0 beta
MS has released new builds of the Vista deployment tools with the “Business Desktop Deployment Solutions Accelerator 3.0 Beta” (AKA BDD 3.0 beta). This pack includes the “Windows AIK” that we have looked at previously. Good! The last version needed a lot of improvement.
Here are the steps that I have followed to build a new ISO, usable in VMWare Server Beta and VMWare Workstation 5.5…
1. Install the BDD 3.0 pack
2. From c:program filesbdd vistawaik, install the WAIK using “startcd.exe”.
3. Using the included CHM files, follow the “Walkthough: Create a bootable Windows PE RAM Disk on CD-ROM”:
1. from c:program fileswindows aiktoolspetools, run:
copype x86 c:winpe_x86
2. step 2 in this procedure claims that you can copy EXE files (such as ImageX.exe) to c:winpe_x86iso, and they will then be included in the image…
NOTE: These files show up on the “D:” [CDROM] drive after booting into WinPE. The reason for putting additional tools here is to reduce the memory footprint of WinPE. Everything in the X: drive is loaded into RAM at boot time!
3. before actually making the iso, apply some customizations:
1. Mount the WinPE WIM file:
imagex /apply c:winpe_x86winpe.wim 1 c:winpe_x86mount
2. Install drivers:
peimg /inf=c:driversvmwarevmxnetwin2kvmware-nic.inf c:winpe_x86mountWindows
C:winpe_x86_2>peimg /inf=c:driversvmwarevmxnetwin2kvmxnet.inf c:winpe_x86mountWindows
3. Install optional components
peimg /install=*srt* c:winpe_x86mountwindows
peimg /list c:winpe_x86mountwindows
(shows currently installed optional packages)
4. If you want ImageX (or any other utilities) in the RAM disk, put them there now:
Copy files from c:program fileswindows aiktoolsx86 to c:winpe_x86mountwindowssystem32
(This includes the imagex.exe utility. I suppose these really should go in the “programs” directory, to separate them from the actual OS files, but this way they are in the path so the idiot end user does not have to know where the ImageX utility is, just how to use it).
5. Prep the PE image (don’t ask me why, it is in the directions!):
peimg /prep c:winpe_x86mountWindows
6. capture the mounted PE instance to a WIM:
imagex /append c:winpe_x86mount c:winpe_x86winpe.wim "MyWinPE" /verify
(Actually appends this instance to an existing WIM)
7. Export the appended image to a bootable WIM file:
imagex /boot /export c:winpe_x86winpe.wim 2 c:winpe_x86ISOsourcesboot.wim
(NOTE: the instructions on “custom images” fails to mention that you must use the “/boot” flag here!)
8. Create the ISO:
oscdimg -n –bc:winpe_x86etfsboot.com c:winpe_x86ISO c:winpe_x86winpe_x86.iso
ANNEXE - unattend.xml - A FINIR
Comment générer le unattend.xml, pour le lancement automatique d'une page HTML au démarrage ?
A VOIR
Test avec SIM :
- avec image wim prep :
Erreur : on n'accède pas à la liste des composants.
- avec image wim non prep :
Propriétés grisées : on ne peut rien modifier.
Cliquer sur "Nouveau fichier de réponses" pour pouvoir éditer.
ANNEXE - EFI (nouveau système de boot)
L'architecture IA-64 utilise la nouvelle interface « Extensible Firmware Interface » (EFI) d'Intel. Contrairement au traditionnel BIOS x86 qui ne connaît rien du périphérique de démarrage sinon la table des partitions et le secteur principal d'amorçage (MBR), le programme EFI peut lire et écrire des fichiers provenant d'une partition FAT16 ou FAT32. Cela simplifie le processus souvent mystérieux de l'amorçage du système. Le programme d'amorçage du système et le firmware EFI possèdent un système de fichiers complet pour stocker les fichiers nécessaires au démarrage du système. Cela signifie que le disque système sur un système IA-64 possède une partition additionnelle dédiée à EFI à la place du simple MBR ou du bloc de démarrage sur les systèmes plus conventionnels.
Le cédérom Debian contient une petite partition EFI sur laquelle résident le programme d'amorçage ELILO, son fichier de configuration, le noyau de l'installateur ainsi qu'un système de fichiers initial (initrd). Le système en marche contient aussi une partition EFI sur laquelle résident les fichiers nécessaires au démarrage du système. Ces fichiers sont lisibles depuis le shell EFI comme décrit plus bas.
Il faut d'abord mettre en place une partition EFI avant d'installer le système de base. Autrement, l'installation de ELILO échouera rendant le système non amorçable. La partition EFI est allouée et formatée lors de l'étape partitionnement de l'installation, avant le chargement des paquets sur le disque système. La tâche de partitionnement vérifie aussi qu'une partition EFI convenable est présente avant de permettre l'installation.
Le gestionnaire de démarrage EFI est la dernière étape de l'initialisation du firmware. Il montre un menu où l'utilisateur peut choisir une option. Dépendant du modèle du système ainsi que des autres programmes chargés, ce menu peut être différent d'un système à l'autre. Il devrait y avoir au moins deux menus affichés, Boot Option Maintenance Menu et EFI Shell (Built-in). L'utilisation de la première option est conseillée ; néanmoins si cette option n'est pas disponible, ou si le cédérom ne peut pas s'amorcer, utilisez la seconde option.