Cet article décrit comment intégrer un service pack à un média d’installation original. Une image du média, au format ISO par exemple, peut également faire l’affaire.
La procédure qui est décrite ci-après, s’applique à tous les service pack : SP1, SP2, SP3.
Pré-requis
- wine
- geteltorito
- cabextract
- convmv
Nomenclature
{work-dir}
: Répertoire de travail.{sp-link}
: Lien vers le Service Pack.{cdrom-drive}
: CD-ROM{cdrom-dir}
: Répertoire pointant sur le CD-ROM{in-dir}
: Répertoire contenant la version modifiée de Windows intégrant le Service Pack.{sp-dir}
: Répertoire contenant le Service Pack décompressé.{sp-file}
: Nom du fichier du Service Pack.
Intégration
- Créer un répertoire dans lequel seront effectués les travaux.
mkdir {work-dir}
- Se placer dans le répertoire de travail.
cd {work-dir}
- Récupération du service pack depuis le site de Microsoft.
wget {sp-link}
- Extraction des fichiers de l’exécutable du service pack. Le répertoire {sp-dir} est créé automatiquement.
cabextract -d {sp-dir} {sp-file}
- Création du répertoire {in-dir}.
mkdir {in-dir}
- Récupération des fichiers du CD original de Windows. Cette opération peut également être faite depuis une image ISO.
cp -r {cdrom-dir}/* {in-dir}
- Prenez soin de mettre les droits corrects sur les fichiers extraits.
chmod -R 777 {in-dir}
- Mise à jour des fichiers.
wine {sp-dir}/i386/update/update.exe -s:{in-dir}
Le message : fixme:seh:_abnormal_termination (void)stub
s’affiche environ 30 fois. Cela ne pose pas de problème pour la suite.
- Renommage des fichiers et répertoires en majuscule (pas possible sur une partition de type NTFS ou FAT32).
convmv -r --upper --notest {in-dir}/*
- Extraction de l’image d’amorçage depuis le CD amorçable.
geteltorito /dev/scd0 > {in-dir}/boot.bin
- (Optionnel) Changement de la date des fichiers.
find {in-dir} | xargs touch -t 200804140000
- Création de l’image du CD.
mkisofs -b boot.bin -hide boot.bin -hide boot.catalog -no-emul-boot -boot-load-size 4 -iso-level 4 -relaxed-filenames -D -V GRTMPVOL_EN -o /media/disk/GRTMPVOL_EN.iso ./{in-dir}