This article describes how to integrate a service pack with original installation media. An image of the media, in ISO format for example, can also do the trick.
The procedure described below applies to all service packs: SP1, SP2, SP3.
Prerequisites
- wine
- geteltorito
- cabextract
- convmv
Nomenclature
{work-dir}
: Working directory.{sp-link}
: Link to the service pack.{cdrom-drive}
: CD-ROM{cdrom-dir}
: Directory pointing to the CD-ROM{in-dir}
: Directory containing the modified version of Windows including the service pack.{sp-dir}
: Directory containing the unpacked service pack.{sp-file}
: Name of the service pack file.
Integration
- Create a directory in which the work will be done.
mkdir {work-dir}
- Move to the working directory.
cd {work-dir}
- Retrieving the service pack from the Microsoft website.
wget {sp-link}
- Extraction of the service pack executable files. The {sp-dir} directory is created automatically.
cabextract -d {sp-dir} {sp-file}
- Creation of the {in-dir} directory.
mkdir {in-dir}
- Recovery of files from the original Windows CD. This operation can also be done from an ISO image.
cp -r {cdrom-dir}/* {in-dir}
- Take care to set the correct rights on the extracted files.
chmod -R 777 {in-dir}
- Updating of files.
wine {sp-dir}/i386/update/update.exe -s:{in-dir}
The message: fixme:seh:_abnormal_termination (void)stub
is displayed about 30 times. This is not a problem for the rest of the procedure.
- Renaming of files and directories in upper case (not possible on NTFS or FAT32 partition).
convmv -r --upper --notest {in-dir}/*
- Extraction of the boot image from the bootable CD.
geteltorito /dev/scd0 > {in-dir}/boot.bin
- (Optional) Change the date of the files.
find {in-dir} | xargs touch -t 200804140000
- Creation of the CD image.
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}