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

  1. Créer un répertoire dans lequel seront effectués les travaux.
mkdir {work-dir}
  1. Se placer dans le répertoire de travail.
cd {work-dir}
  1. Récupération du service pack depuis le site de Microsoft.
wget {sp-link}
  1. Extraction des fichiers de l’exécutable du service pack. Le répertoire {sp-dir} est créé automatiquement.
cabextract -d {sp-dir} {sp-file}
  1. Création du répertoire {in-dir}.
mkdir {in-dir}
  1. 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}
  1. Prenez soin de mettre les droits corrects sur les fichiers extraits.
chmod -R 777 {in-dir}
  1. 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.

  1. Renommage des fichiers et répertoires en majuscule (pas possible sur une partition de type NTFS ou FAT32).
convmv -r --upper --notest {in-dir}/*
  1. Extraction de l’image d’amorçage depuis le CD amorçable.
geteltorito /dev/scd0 > {in-dir}/boot.bin
  1. (Optionnel) Changement de la date des fichiers.
find {in-dir} | xargs touch -t 200804140000
  1. 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}

Références