Slipstreaming Windows XP with Service Pack 3 in Linux

12 July 2008

In between constructing table-based layouts in Dreamweaver (groan) in a web design class, I slipstreamed Service Pack 3 into Windows XP using only tools available in Linux. I didn’t boot into Windows once during the process (except for, obviously, booting the resulting ISO image in a VM to make sure it worked), but I did use Wine at one point.

This post isn’t going to be a how-to; rather, I will just give you a quick overview of how I did it, and let you readers fill in the gaps.

Here are the tools I used:

What I did:

  • Extracted the contents of a Windows XP ISO (in your case, it may be the CD) into a directory called “xp” on my Desktop. I initially loop-mounted the ISO and copied the files out of it that way, but I later had to re-extract them with file-roller instead. The reason? If you extract the contents of the ISO with lower-case names (the loop-mounted ISO lower-cased all the filenames), the CD will not boot. Make sure they are all in uppercase.
  • Extracted Service Pack 3: mkdir ~/Desktop/sp3 && cd ~/Desktop/sp3 && cabextract ../xpsp3.exe
  • Ran the slipstreamer for SP3 on the files: cd ~/sp3/update && wine update.exe /integrate:Z:\\home\\jeremy\\Desktop\\xp
  • Extracted the boot image from the existing Windows XP ISO. (To do this, you can either use the geteltorito command, run BBIE under Wine, or follow the directions under the “Finding the CD boot image” heading on this guide.)
  • Made the ISO image with genisoimage. You’ll at least need the -b (reference the boot image you extracted in the previous step), -no-emul-boot, -c, -max-iso9660-filenames, -relaxed-filenames options.

If you’re lucky, you now have a Windows XP SP3 ISO.

22 replies

Leave a reply