Thursday, April 22, 2010

Make a non-bootable ISO image bootable

For whatever reason, Cisco only post "non-bootable" ISO images on CCO for download. In some urgent situations, you might need a bootable disc to recover the system (or your client/boss would shoot you in the head). Here's the procedure to make a non-bootable ISO image bootable.

Before you continue, be aware that this procedure is NOT approved by Cisco. Neither Cisco nor I will be responsible for any loss caused by this.

Any bootable disc has to follow "El Torito" specification. No exception for Cisco discs. The only difference between a bootable disc and non-bootable disc is the "boot sector". Thus the solution is very simple - extract the boot sector from a bootable disc and inject it into a non-bootable disc.

The boot sector is a very small file (usually less than 10k). And the boot sector is usually content independent (i.e. you may extract the boot sector from CUCM 7.1.3 and inject it into 7.1.5). You may save the boot sector on your USB thumb drive and keep it handy.

To extract/inject the boot sector, you need some disc image tools like UltraISO. (You may also use other ISO tools with similar features)

Step 1: Get the boot file

There are two ways to get a boot file - extract from the DVD's file system (regardless bootable or not) or extract from a bootable DVD's boot sector.

Option 1: Extract from DVD's file system (regardless bootable or not)

This option is preferred as you don't have to find another bootable disc or ISO file.

The boot file should be available on any CUCM DVD, regardless bootable or not.  It is located in the "isolinux" folder.  File name is isolinux.bin.

Extract and save the isolinux.bin file to your hard drive.  We'll need to use that later.

Option 2: Extract the boot sector from a bootable DVD

If for some reason, you were not able to find/extract the isolinux.bin file, you may extract the boot file from a bootable disc (or ISO image).

Put a bootable CUCM disc into the DVD drive and launch UltraISO. Go to menu "Bootable > Extract Boot File from CD/DVD..."

Save the file to your hard drive as a "boot info file" (bif). In our example, we call it "boot.bif"

Step 2: Inject the boot file

Open the non-bootable image in UltraISO. Go to menu "Bootable". Make sure "Generate Bootinfotable" was checked (it will NOT work without this option). Then choose "Load Boot File...".

Choose the boot file we saved before (isolinux.bin or boot.bif).

Note that the image type changed to "Bootable".

Now, you may go to "File > Save As" to save the bootable image to an ISO file. Then you may burn the ISO to a disc with your favorite disc burner software.

Tuesday, April 6, 2010

New book and Cisco Live

New edition of the book has been published. Use coupon code "SHOWERS" to get 10% off. Use coupon "FREEMAIL305" to save on shipping. (Offer ends April 30, 2010)

It covers new topics like: XMPP, Jabber, CSF (Client Service Framework), Message Archiver, Persistent Chat, 3rd-Party Compliance, external database, etc.

If things worked out, I'll go to Cisco Live (Networkers) at Las Vegas from Jun 28 to July 1. I'll be at the Technical Solution Clinics. See you there.