While Paul Thurrott was playing with the official Windows 7 USB/DVD Download Tool, creating a bootable USB stick for his netbook upgrade, he ran into an interesting snag with certain discs. The tool, when directed to use an ISO dumped via ImgBurn, would error out. Everything was to UDF spec, so what was going on here? I’m not a UDF expert, hell not even a novice, but I skimmed through ECMA-167 and the reflected tool code. 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.
I haven’t read through the entire spec., but I doubt there’s anything in here regarding the container of the UDF formatted data.
While one could argue Microsoft Store-downloaded ISOs are comprised in a compatible manner and therefore this scenario is unsupported it wouldn’t have been hard to add some AVDP seeking code.
As a quick hack to resolve this issue, I wrote a tool that merely finds the AVDP in your ISO file and copies it to offset (EOF-2048). This will allow you to use your own ISOs with the Microsoft tool. Microsoft.NET 2.x or higher required.