Randy Guthrie – Microsoft Academic Developer Evangelist
Update: Dec 15, 2014. The Microsoft published tool mentioned below has been updated so it works with more file types. It has also been renamed to just the “Windows USB Download Tool”.
As notebooks, netbooks and slates get thinner, smaller, and more power-conscious, optical drives that can read and write to a bootable DVD have now become a peripheral device rather than a built-in. This makes it difficult to install software from a DVD for devices that do not have an optical drive, and even more problematic when you want to wipe the device and install a new OS. For these devices, installing software that you download as a compressed .iso file from a SD card or USB flash memory device is fast and cheap and a great alternative to buying an external optical reader. This is particularly useful to developers since most (if not all) of the software available via MSDN and DreamSpark is only available for download in the .iso format. Unfortunately there are not a lot of turn-key tools out there for burning from an .iso to a USB memory device.
Microsoft has created the Windows USB Download Tool which is really nice if your .iso is a Windows operating system, but it fails when you try to use it with any other .iso. While searching for a work-around, I found this great blog post by Rafael Rivera with an explanation for why the Windows USB Download tool won’t work with every .iso file:
It appears there are two (possibly more) “navigation buoys” within UDF-formatted ISOs that point to important chunks of the image called Anchor Volume Descriptor Pointers (AVDPs). The first AVDP is somewhere near the top of the image. The last AVDP is located in what appears to be the last logical block of the image. (My guess is this is to support bi-directional reading.)
So assuming each logical block of the image is 2048 bytes large, one could also assume the last logical block is –2048 from the end of the file, right? Well, that’s what the tool assumes. It checks for the last AVDP at the start of the last logical block, doesn’t find it, and bombs out.
Rafael wrote a tiny downloadable utility program that will “fix” any .iso file where the last logical block does not have the AVDP so that the Windows 7 USB Download tool will work. Basically, you download the .zipped utility program and extract it. Then copy the .exe file to the same directory as your iso file, then run the utility in command mode pointing to the .iso file. In a second or so, your .iso file will be “fixed” so that the last logical block is the same size as the rest and the Windows 7 Download Tool will work. I tested it with the Windows 8 Developer Preview .iso I had downloaded and it worked like a charm.
Once you have the utility unpacked and in the same directory as your .iso file, launch a command prompt and change the directory to the folder where your files are, and then run the utility pointing to the .iso file:
In a few seconds your .iso file will be fixed! Then launch the Windows 7 USB Download Tool pointing to your .iso file and your USB memory device will be formatted and your .iso file unpacked so it will act just like a DVD. If installing an application, just navigate to the setup file and double click. If you are installing an OS, then first you have to make sure your boot priority setting in your BIOS lists the USB device first, then DVD and finally your hard drive. Then restart your computing device and it should start booting from the USB device. As an added bonus, installing programs from flash memory devices, particularly USB devices goes MUCH faster than from DVDs.