Ajouter un BAT/CMD à WinPE 2.0
On suppose que vous disposez
déjà d'une image Windows PE 2.0 Fr prête à utiliser qui n'a pas été
optimisée avec /prep
Lorsque l'on a à utiliser fréquemment
Windows PE pour certaines opérations (par exemple du déploiement), il
est plus simple d'intégrer à notre image WIM les fichiers qui nous
simplifieront la vie..
1) Si ce n'est pas déjà fait, "mounter" l'image de Windows PE 2.0 sur le disque dur en mode lecture/ecriture :
(ouvrir l'invite de commandes des outils Windows PE)
Si
il s'agit de créer ou modifier une image ISO, utilisez winpe\ISO\sources\boot.wim
C:\Program
Files\Windows AIK\Tools\x86>imagex.exe /mountrw
E:\WinPE\sources\boot.wim 1 E:\WinPE\mount
ImageX Tool for Windows
Copyright (C) Microsoft Corp. 1981-2005. All rights reserved.
Mounting (RW): [E:\WinPE\sources\boot.wim, 1] ->
[E:\WinPE\mount]
Successfully mounted image (RW).
ImageX Tool for Windows
Copyright (C) Microsoft Corp. 1981-2005. All rights reserved.
Mounting (RW): [E:\WinPE\sources\boot.wim, 1] ->
[E:\WinPE\mount]
Successfully mounted image (RW).
2) Ajouter le fichier :
Ouvrir Notepad ou tout autre éditeur de texte et créez votre fichier de commandes. Sauvez le dans le répertoire Windows de votre image "mountée". (E:\WinPE\mount\Windows).
Evidemment, si votre fichier était déjà prêt, copiez le simplement au bon endroit !
Si vous utilisez une machine XP équipée de TFTPD32 en guise de serveur, alors le script suivant (XP.CMD) vous aidera surement :
@echo off
REM extraction de l'adresse du serveur DHCP par ipconfig français
FOR /F "TOKENS=2* DELIMS=:" %%A IN ('IPCONFIG /ALL ^| FIND "Serveur DHCP"') DO FOR %%B IN (%%A) DO SET DHCPIP=%%B
REM capture du partage caché xp$
net use y: \\%DHCPIP%\xp$ "" /user:invite
y:unattend.bat
REM extraction de l'adresse du serveur DHCP par ipconfig français
FOR /F "TOKENS=2* DELIMS=:" %%A IN ('IPCONFIG /ALL ^| FIND "Serveur DHCP"') DO FOR %%B IN (%%A) DO SET DHCPIP=%%B
REM capture du partage caché xp$
net use y: \\%DHCPIP%\xp$ "" /user:invite
y:unattend.bat
Ce script extrait l'adresse IP du serveur DHCP et s'en sert pour capturer un partage caché (utilisation de "$" en fin de nom de partage), puis lance le fichier unattend.bat présent sur ce partage. Le "serveur" est en mode "partage de fichiers simple" (accès par le compte invité). La ligne FOR /F fini à DHCPIP=%%B, sans saut de ligne.
Je vois d'ici la question que vous vous posez : et le unattended.bat,
y'a quoi dedans ?
Allez, on y va :
Le diskpart.txt efface le disque 0 et créé un partition de la totalité de l'espace libre. A vous d'adapter si nécessaire à votre usage :
Allez, on y va :
REM Batch pour préparation de Disque Dur +
install XP
@echo off
Rem en cas de clic malencontreux
if NOT %systemdrive% == X: GOTO EOF
net stop vds
Rem pour compatibilité de diskpart avec XP
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\VDS\ALIGNMENT /v LessThan4GB /t REG_DWORD /d 0 /f
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\VDS\ALIGNMENT /v Between4_8GB /t REG_DWORD /d 0 /f
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\VDS\ALIGNMENT /v Between8_32GB /t REG_DWORD /d 0 /f
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\VDS\ALIGNMENT /v GreaterThan32GB /t REG_DWORD /d 0 /f
net start vds
set CaptNetUse=Y:
set DPFile=%CaptNetUse%\diskpart.txt
%CaptNetUse%
diskpart /s %DPFile%
set AnswerFile=%CaptNetUse%\unattend.txt
set SetupFiles=%CaptNetUse%\I386
REM Lancement de l'installation de XP en mode Unattended
%SetupFiles%\winnt32 /syspart:C /tempdrive:C /s:%SetupFiles% /unattend:%AnswerFile% /makelocalsource
REM suite à ajout pilote SATA : copie "m5287.sy_" nécessaire
if %errorlevel% == 0 (
copy %SetupFiles%\m5287.* C:\$WIN_NT$.~BT\
exit
)
Je vous laisse retirer les sauts de ligne en trop sur
les REG ADD et l'appel à winnt32...@echo off
Rem en cas de clic malencontreux
if NOT %systemdrive% == X: GOTO EOF
net stop vds
Rem pour compatibilité de diskpart avec XP
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\VDS\ALIGNMENT /v LessThan4GB /t REG_DWORD /d 0 /f
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\VDS\ALIGNMENT /v Between4_8GB /t REG_DWORD /d 0 /f
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\VDS\ALIGNMENT /v Between8_32GB /t REG_DWORD /d 0 /f
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\VDS\ALIGNMENT /v GreaterThan32GB /t REG_DWORD /d 0 /f
net start vds
set CaptNetUse=Y:
set DPFile=%CaptNetUse%\diskpart.txt
%CaptNetUse%
diskpart /s %DPFile%
set AnswerFile=%CaptNetUse%\unattend.txt
set SetupFiles=%CaptNetUse%\I386
REM Lancement de l'installation de XP en mode Unattended
%SetupFiles%\winnt32 /syspart:C /tempdrive:C /s:%SetupFiles% /unattend:%AnswerFile% /makelocalsource
REM suite à ajout pilote SATA : copie "m5287.sy_" nécessaire
if %errorlevel% == 0 (
copy %SetupFiles%\m5287.* C:\$WIN_NT$.~BT\
exit
)
Le diskpart.txt efface le disque 0 et créé un partition de la totalité de l'espace libre. A vous d'adapter si nécessaire à votre usage :
select disk 0
clean
create partition primary
assign letter=c:
active
list partition
select partition 1
format fs=ntfs label="" quick
exit
Pour
ce qui est du Unattended.txt, celui d'un CD XP marche bien.(nommez le unattended.txt et
placez le à la racine de votre partage)clean
create partition primary
assign letter=c:
active
list partition
select partition 1
format fs=ntfs label="" quick
exit
3) Optimiser la place occupée par l'image (optionnel, empêche certaines modifications ultérieurement) :
C:\Program
Files\Windows AIK\Tools\PETools>peimg /prep
E:\WinPE\mount
[bla bla bla]
Pour continuer, entrez « oui ». Toute autre entrée quittera le programme.
Voulez-vous continuer ? yes
[==========================100,0%==========================]
PEIMG a terminé l'opération.
(z'avez
vu le "yes" ? [bla bla bla]
Pour continuer, entrez « oui ». Toute autre entrée quittera le programme.
Voulez-vous continuer ? yes
[==========================100,0%==========================]
PEIMG a terminé l'opération.
4) Dé-mounter et appliquer les modifications (ne surtout pas oublier le /commit) :
C:\Program
Files\Windows
AIK\Tools\x86>imagex.exe
/unmount E:\WinPE\mount /commit
ImageX Tool for Windows
Copyright (C) Microsoft Corp. 1981-2005. All rights reserved.
Unmounting: [E:\WinPE\mount]...
Successfully unmounted image.
Vos fichiers sont prêts à être
utilisés.ImageX Tool for Windows
Copyright (C) Microsoft Corp. 1981-2005. All rights reserved.
Unmounting: [E:\WinPE\mount]...
Successfully unmounted image.
Documentation :