« bbPress for WordPress
Smart Bookmarks in Epiphany »

How to create a Windows bootable CD with mkisofs

April 25th, 2007 by George Notaras

Generally, the only reason for which you may need to create a bootable Windows CD is when you have updated the operating system installation files with the latest Service Pack (slipstream). Even in this case, chances are that most users will rather use standard windows software to create the bootable CDs than mkisofs under Linux, but, even for this extremely rare case, here is how to accomplish this task.

For the following operation the Linux native mkisofs version 2.01 (or genisoimage), which is shipped with Fedora (and with every other Linux distribution), was used.

The Windows port of mkisofs and, generally, the Win32 binaries of all the utilities included in the cdrtools package can be found in the Cdrtools: Win32 Binaries page. Please note that the page also includes a Win32 binary version of the latest (unstable) version of cdrtools. It is highly recommended to use the latest stable version.

So, change to the directory that contains the Windows installation files and issue the following command:

mkisofs \
    -b cdboot/msboot.img -no-emul-boot -boot-load-seg 1984 -boot-load-size 4 \
    -iso-level 2 -J -l -D -N -joliet-long -relaxed-filenames \
    -V "WINSP" \
    -o ../winsp.iso .

The above command ends with a period (.).

All of the above flags seem to be necessary in order to relax many of the ISO restrictions. For more information about each of them please refer to the mkisofs (or genisoimage) manual page (man 8 mkisofs).

This tip assumes that the boot image which is used in the Microsoft bootable CDs is available and that it has been placed in a cdboot/ subdirectory under the windows installation files root dir:

.
    cdboot/msboot.img
    other_dir/some_other_file
    file1
    file2

I admit that this is a nasty workaround, but I didn’t have enough time to investigate why the -b option caused that much trouble. The path to the boot image which is supplied with the -b option is supposed to be a relative path to the path of the root directory of the windows files, which is our current directory, aka (.). But, everytime I placed the msboot.img outside the win files directory and used -b ../msboot.img, mkisofs complained with the following pesky error message:

mkisofs: Uh oh, I cant find the boot image '../msboot.img' !

It didn’t make any sense, so I did not bother any more with it. If you have any info on this or if I miss anything, which is rather possible since I have spent very little time with this, your feedback is appreciated.

The above command will produce an image of a bootable Windows CD, which will also contain the boot image. But, this should not be a problem in any case.

Note that the ISO image will be saved in the parent directory of the one that holds the Windows files.

Note: How to integrate a service pack into a Windows OS is beyond the scope of this document. There are numerous guides out there that cover this topic in great detail.

The How to create a Windows bootable CD with mkisofs by George Notaras, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License. Terms and conditions beyond the scope of this license may be available at www.g-loaded.eu.

Related Articles

Tags: , , ,

Bookmark and Share

Comments are automatically disabled after a certain period of time. Further discussion about the published content is still possible though in the G-Loaded Forums.