Windows PE 1.2 et les nouveautés de la version 2004/1.5 (compatible Windows XP SP2)
Accueil > Articles > Système
|
|
Auteurs
|
|
 |
|
 |

267683 398/1575
|
3. Paramétrage
3.1. Edition de la base registre pour avoir un clavier français
La toute première chose dont on se rend compte en démarrant WinPE est que vous
êtes en clavier QWERTY ce qui peut poser problème à beaucoup de monde surtout
si l’on veut gagner du temps. Il faut donc changer le clavier par défaut de
WinPE. Pour information, tous les clavier sont intégrés mais il faut en fait indiquer
« en dur » quel clavier nous souhaitons utiliser. Pour ce faire,
nous allons devoir modifier la base de registre pour ajouter la partie Keyboard
Layout dans la base de registre et la valeur nous intéressant, qui est une valeur
REG_SZ à l’intérieur de la clé:
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload
Nous devons créer, ainsi, à l’intérieur une valeur “1” de type Reg_SZ contenant la
donnée 040C qui correspond au code pays Français.
Nous devons donc générer les fichiers .inf correspondant aux différentes
ruches de notre base de registre, qui correspondront ensuite à des fichiers qui
seront intégrés à l’intérieur de notre CD WinPE
Nous allons utiliser l’exécutable Mkimg.exe sans spécifier d’image
ISO et travailler sur le répertoire temporaire. Dans cette exemple nous considérons
que notre CD source est dans le lecteur E et que nous travaillerons dans
le répertoire d:\Temppe et enfin que nos programmes WinPE seront dans d:\WinPE.
Voici la commande que nous exécutons :
D:\WinPE\Mkimg E : D:\temppe
Nous avons donc des nouveaux fichiers .inf qui ont été générés à l’intérieur
de D:\WinPE mais aussi leurs correspondances à l’intérieur de D:\Temppe\i386\Config
Ici un petit tableau indiquant les correspondances entre vos différents fichiers
et les ruches de registre.
| Fichier |
Ruche |
Fichier |
| HIVECLS.inf |
HKCR et HKLM\Software\Classes |
%systemroot%\System32\config\Software |
| HIVEDEF.inf |
HKCU |
%systemroot%\System32\config\Default |
| HIVESFT.inf |
HKLM\Software |
%systemroot%\System32\config\Software |
| WINPESFT.inf |
HKLM\Software |
%systemroot%\System32\config\Software |
| WINPESYS.inf |
HKLM\System |
%systemroot%\System32\setupreg.hiv |
| WINPEDEF.inf |
HKCU |
%systemroot%\System32\config\Default |
Dans notre cas %systemroot% est D:\Temppe\i386, dans notre cas les fichiers
qui nous intéressent sont Hivedef.inf et Winpedef.inf. En fait ceci s'explique par le fait qu'il n’y ait
pas de profil utilisateur dans WinPE, ce qui veut dire que la ruche HKey_Current_User
correspond au seul et unique utilisateur de WinPE c’est à dire l’utilisateur
« Default User » qui récupère la ruche Hkey_Users\.Default.
Nous allons éditer Hivedef.inf car l’autre .inf n’a pas le même comportement
et n’a pas un contenu simple.
Voici en gros le début de notre fichier Hivedef.inf :
[Version]
Signature
= "$Windows NT$"
ClassGUID={00000000-0000-0000-0000-000000000000}
DriverVer=07/01/2001,5.1.2600.2180
[AddReg]
HKCU,"AppEvents",,0x00000012
HKCU,"AppEvents\EventLabels",,0x00000012
HKCU,"AppEvents\EventLabels\.Default","",0x00000000,"%DEFAULT_BEEP%"
HKCU,"AppEvents\EventLabels\AppGPFault","",0x00000000,"%PROGRAM_ERROR%"
HKCU,"AppEvents\EventLabels\Close","",0x00000000,"%CLOSE_PROGRAM%"
HKCU,"AppEvents\EventLabels\CriticalBatteryAlarm","",0x00000000,"%CRITICAL_BATTERY_ALARM%"
HKCU,"AppEvents\EventLabels\DeviceConnect","",0x00000000,"%DEVICE_CONNECT%"
HKCU,"AppEvents\EventLabels\DeviceDisconnect","",0x00000000,"%DEVICE_DISCONNECT%"
HKCU,"AppEvents\EventLabels\DeviceFail","",0x00000000,"%DEVICE_FAIL%"
HKCU,"AppEvents\EventLabels\EmptyRecycleBin","",0x00000000,"%EMPTY_RECYCLE_BIN%"
HKCU,"AppEvents\EventLabels\LowBatteryAlarm","",0x00000000,"%LOW_BATTERY_ALARM%"
HKCU,"AppEvents\EventLabels\Maximize","",0x00000000,"%MAXIMIZE%"
HKCU,"AppEvents\EventLabels\MenuCommand","",0x00000000,"%MENU_COMMAND%"
HKCU,"AppEvents\EventLabels\MenuPopup","",0x00000000,"%MENU_POPUP%"
HKCU,"AppEvents\EventLabels\Minimize","",0x00000000,"%MINIMIZE%"
HKCU,"AppEvents\EventLabels\MailBeep","",0x00000000,"%NEW_MAIL_NOTIFICATION%"
HKCU,"AppEvents\EventLabels\Navigating","",0x00000000,"%START_NAVIGATION%"
HKCU,"AppEvents\EventLabels\Open","",0x00000000,"%OPEN_PROGRAM%"
HKCU,"AppEvents\EventLabels\PrintComplete","",0x00000000,"%PRINT_COMPLETE%"
HKCU,"AppEvents\EventLabels\RestoreDown","",0x00000000,"%RESTORE_DOWN%"
……
Cela ne donne pas envie de rentrer dedans mais il faut quand même le faire. La partie
[AddReg] est celle qui nous intéresse le plus car par pure coïncidence, c’est
celle utilisée pour ajouter les clés dans votre base de registre. En faisant
une recherche on se rend compte que la clé Keyboard Layout n’existe pas. Il
va donc falloir mettre une ligne pour ajouter la clé Keyboard Layout puis les
sous-clés et valeurs voulues.
Il faut donc ajouter les lignes avec comme syntaxe le premier argument de la ruche
impactée (HKCU, HKLM, HKCR), puis le nom de la clé, le nom de la valeur (vide
si c’est la ligne correspondant à la création de la clé), le type de la valeur
et enfin la donnée de la valeur.
Voici donc la clé à rajouter pour créer Keyboard Layout :
HKCU,"Keyboard
Layout",,0x00000012
Puis celle pour la sous clé Preload :
HKCU,"Keyboard
Layout\Preload",,0x00000012
Puis enfin notre valeur 1 :
HKCU,"Keyboard
Layout\PreLoad","1",0x00020000,"0000040C"
Ces trois lignes sont à ajouter dans votre section [AddReg] à l’intérieur du
fichier HiveDef.inf. Pour information, voici un petit tableau pour faire les correspondances
entre les types de valeurs connues pour la base de registre et le chiffre correspondant
dans notre fichier inf. Nous parlerons plus tard de la partie PEBuilder.
| Code .inf WinPE |
Nom du Type |
Code Plugins PeBuilder |
| 0x00000012 |
Valeur par défaut (pour créer
une clé) |
0x0 |
| 0x00000002 |
REG_SZ |
0x1 |
| 0x00020002 |
REG_EXPAND_SZ |
0x2 |
| 0x00030003 |
REG_BINARY |
0x3 |
| 0x00010003 |
REG_DWORD |
0x4 |
| |
|
0x5 |
| |
|
0x6 |
| 0x00010002 |
REG_MULTI_SZ |
0x7 |
Maintenant que nous avons notre fichier .inf modifié, il faut l’injecter dans
notre installation WinPE. Pour ce faire, nous allons utiliser un autre utilitaire
de WinPE qui est bldhives (textuellement le « constructeur de ruches »). Pas la peine de
chercher de la documentation sur google vous n’en trouverez pas, comme beaucoup de choses
sur WinPE d’ailleurs :( . Exécutez cette commande à l’intérieur (très important)
de votre répertoire D:\WinPE :
Bldhives .\Config.inf
Après quelques secondes, vos fichiers de ruches de base de registre sont créées
à l’intérieur de votre répertoire D:\WinPE. Comme vu dans le premier tableau,
nous devons récupérer le fichier Default que nous devons copier dans
le répertoire d:\Temppe\i386\config pour écraser l’ancien fichier.
Maintenant nous devons recréer notre nouvelle image et cette fois-ci mkimg
ne nous aidera pas car il a tendance à effacer le répertoire temporaire avant
de la remplir. C’est pour cela que nous allons utiliser le fichier oscdimg en
exécutant la commande (toujours depuis d:\Winpe) :
oscdimg.exe -n -betfsboot.com d:\tempPE d:\test.iso
Vous pouvez ensuite graver de nouveau votre image et démarrer sur votre CD
et " miracle" votre clavier est en français.
3.2. Réseaux et Winbom.ini
3.2.1. Configuration du réseaux via Winbom.ini
Lors du démarrage de WinPE le fichier startnet.cmd est appelé et celui ci exécute
la commande Factory –winpe cette commande configure votre système et
entre autres la résolution d’affichage ainsi que la configuration IP, il faut
savoir que la configuration ip est difficile à configurer ici car en commande
de base vous utilisez netsh qui n’est pas implémenté sous WinPE et même si vous
l’implémenteriez, cela poserais un problème car votre connexion réseau n’as
pas de nom (comme ci-dessous) et juste un simple ID, ce qui veux dire que la
configuration IP doit être effectuée en amont sur votre CD à partir du fichier
winbom.ini.

En effet, si vous exécutez Factory le fichier de paramètre winbom.ini est appelé
et lu pour effectuer la configuration de votre système, si vous voulez des détails
sur tout son contenu je vous conseille de vous reporter au fichier Docs\Winpe.chm
de votre CD OPK 1.5 (Docs\ref.chm dans le cas du 1.2), dans notre cas nous regarderons
la partie [WinPE.net]. Si celle ci n’existe pas il faudra la créer, à l’intérieur
vous avez trois paramètres à mettre :
- IPConfig, ou vous définissez l’adresse IP sous la forme habituelle xxx.xxx.xxx.xxx
ou bien la mention DHCP si vous voulez utilisez l’adressage IP dynamique, à
ce moment là les paramètres suivants ne sont plus nécessaires.
- SubnetMask, comme son nom l’indique c’est le masque de sous réseau aussi
sous la forme xxx.xxx.xxx.xxx
- Gateway, là c’est la passerelle réseau toujours à mettre sous la même forme
Comme vous pouvez vous en rendre compte il n’est pas possible de configurer
le DNS ou encore un suffixe DNS pour la connexion dans le cas d’une IP fixe
via Winbom.ini, le façon la plus simple serait de passer en DHCP car dans ce
cas là les paramétrage de résolution de noms sont bien pris en compte dans le
cas contraire il faudra directement accéder à la base de registre via la clé
HKLM\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters\<ID
carte réseau>
Et pour que cette clé existe il faut au préalable démarrer le réseau, ce qui
a été fait a été l’utisation de commande Ms-DOS comme par exemple cette commande :
for /f "tokens=3*" %%A
in ('IPCONFIG ^| find /i "Ethernet Adapter"') do @set macartereseau=%%A
set macartereseau=%macartereseau:~0,-2%
Cette commande via la commande Ipconfig transférera l’ID de la première connexion
dans la variable d’environnement macartereseau, attention c’est pour le cas
d’un OS Anglais (terme « Ethernet Adapter » plutôt que « carte
Ethernet »), dans le cas du français certaines modifications seront nécessaire.
Ensuite cela vous permet ensuite d’exécuter les commandes :
reg add HKLM\System\ControlSet001\Services\Tcpip\Parameters\Interfaces\%macartereseau%
/v NameServer /t REG_SZ /d Addr_IP_DNS /f
Pour ajouter vos serveur DNS, Addr_IP_DNS correspond à votre serveur DNS vous
pouvez en mettre plusieurs en les séparant par des virgules
reg add HKLM\System\ControlSet001\Services\Tcpip\Parameters\Interfaces\%macartereseau%
/v Domain /t REG_SZ /d Suffixe_DNS /f
Pour ajouter le suffixe de connexion DNS pour aider lors de la recherche de
nom et éviter de taper systématiquement les nom FQDN de vos machines
Les modifications faites au registre seront prises en compte immédiatement,
le seul bémol est que la première commande utilises la commande find.exe qui
est une commande 16 Bits et donc demande l’environnement d’exécution 16 bits
qui n’est pas implémentée par défaut dans WinPE, nous verrons plus tard comment
l’implémenter grâce à l’utilisation des plugins PEBuilder.
Pour continuer sur le winbom.ini vous avez les informations sur chacune des
sections de celui ci dans le fichier Ref.chm (OPK 1.2) ou WinPE.CHM (OPK 1.5),
ce fichier est surtout utiliser par l’exécutable Factory qui est plutôt fait
pour de la configuration post sysprep (mode Factory) plutôt que Winpe, c’est
pour cela que même si le fichier d’aide vous indique un grand nombre de section
il n’y en a que certaine qui sont prises en compte lors de l’exécution de WinPE
(WinBomType=WinPE), voici un tableau extrait du fichier d’aide de la version
1.5 qui vous indique les sections prises n compte par WinPE.
| Section |
WinPE |
Factory |
OOBE |
| [Components] |
None |
All |
All |
| [ComputerSettings] |
DisplayRefresh
DisplayResolution |
All |
DisplayRefresh
DisplayResolution
ExtendPartition
Hibernation
PowerScheme
SourcePath
TestCert |
| [DesktopShortcutsFolder] |
None |
All |
None |
| [DiskConfig] |
DiskN
FileSystemN
ForceFormat
PartitionTypeN
QuickFormatN
SetActiveN
SizeN
WipeDisk |
None |
None |
| [Factory] |
AutoDetectNetwork
Logfile
Logging
LogLevel
LogPerf
NewWinbom |
All |
OptimizeShell |
| [Netcards] |
All |
All |
None |
| [NewConnectionWizard] |
None |
All |
None |
| [OEMLink] |
None |
All |
None |
| [OEMRun] |
All |
All |
None |
| [OEMRunOnce] |
All |
All |
None |
| [PnPDrivers] |
None |
All |
None |
| [PnPDriverUpdate] |
None |
All |
UpdateInstalledDrivers |
| [SetupHomenet] |
None |
All |
None |
| [Shell] |
None |
All |
BluetoothTaskbarIcon
CustomDefaultThemeFile
DefaultStartPanelOff
DefaultThemesOff
DoDesktopCleanup
MSNExplorer |
| [StartMenuMFUList] |
None |
All |
None |
| [UpdateSystem] |
All |
All |
None |
| [UserAccounts] |
None |
All |
None |
| [WinPE] |
All |
None |
None |
| [WinPE.Net] |
All |
None |
None |
3.2.2. Ajout de drivers supplémentaires réseaux et contrôleur disques
3.2.2.1. Ajout de drivers réseaux
Nous avons vu comment configurer le réseau sur votre WinPE, nous allons voir
le niveau inférieur, c’est à dire l’ajout de drivers pour les cartes réseaux
qui ne sont pas dans la HAL de Windows et qui nécessite l’ajout de drivers supplémentaires.
Vous récupérez vos drivers de carte réseaux, soit ils sont sous la forme de
plusieurs fichiers, soit sous la forme d’un exécutable, dans le second cas il
faut utiliser un logiciel de décompression comme WinRAR pour extraire le fichier.
Ensuite de ces fichiers vous devez récupérer :
-
Tous les fichiers *.inf et vous les copiez dans le répertoire
%windir%\inf (d:\Temppe\i386\inf dans nos exemples)
-
Tous les fichiers *.sys, vous les copiez dans le répertoire %winir%\system32\drivers
(d:\Temppe\i386\system32\drivers dans nos exemples)
-
Et les autres fichiers (*.dll, *.exe, etc ) dans le répertoire
%windir%\system32 (d:\temppe\i386\system32 dans nos exemples)
Il vous suffit ensuite de booter sous Winpe et lors de l’exécution de Factory.exe
les nouvelles cartes réseaux seront prises en compte
3.2.2.2. Ajout de drivers de contrôleur de disque
Pour l’ajout de drivers de contrôleur de disques (souvent les contrôleur RAID
supplémentaire des carte mère), il y a un peux plus de choses à faire, je vais
d’ailleurs paraphraser l’article 319214
de KB Microsoft.
A l’intérieur de votre répertoire de travail WinPE (d:\Temppe dans nos exemples),
vous créez un répertoire à l’intérieur de %windir%\System32 avec un nom unique
(souvent le nom générique de votre contrôleur)
Ensuite ajoutez à l’intérieur de ce répertoire le contenu des drivers de votre
contrôleur (souvent la disquette utilisée dans l’installation avec la touche
F6 de Windows XP), et surtout n’oubliez pas le txtsetup.oem.
Vérifiez à l’intérieur du txtsetup.oem que les sections [Disk] et [Defaults]
sont bien remplies avec [Defaults] pointant vers une entrée de la section [SCSI]
Ensuite éditez le fichier Winpeoem.sif à l’intérieur de %windir%\system32 (d:\Temppe\i386\System32
dans nos exemples)
Allez dans la section [OemDriverParams] pour ajouter les valeurs OEMDriverRoot
qui correspond au chemin relatif par rapport à l’installation (le laisser vide)
et OemDriversDir pour les répertoires à l’intérieur de %windir%\system32, si
vous en avez plusieurs vous pouvez les séparer par une virgule.
Ensuite vous pouvez recréer votre image WinPE pour découvrir que vos drivers
contrôleur sont bien pris en compte.
1. Introduction
2. Présentation
2.1. OPK et licence
2.2. ERD Commander et BartPE
2.3. Installation
3. Paramétrage
3.1. Edition de la base de registre pour avoir un clavier français
3.2. Réseaux et Winbom.ini
3.3. Scripting
3.4. Intégration d'hot fixes à l'intérieur de WinPE
3.5. Installation de WinPE sur un disque dur
3.6. Utilisation de WinPE dans le cadre d'une installation RIS
4. Nouveautés de la version du Service Pack 2 (OPK 1.5)
4.1. Support WMI
4.2. Firewall
4.3. Détection Plug'n Play
4.4. Drvinst.exe
5. Conclusion
|
|
 |
Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft
|
|