henrygab Posted January 6, 2010 Posted January 6, 2010 ImgBurn indicates that it supports the following formats: BIN, CUE, DI, DVD, GI, IMG, ISO, MDS, NRG and PDI What I'm interested in are replies that can help the curious understand the layout of each of these formats. Most preferably, documentation about the format. I'll reply with the few I already understand -- maybe this can become the reference point for these format definitions on the internet...
henrygab Posted January 6, 2010 Author Posted January 6, 2010 (edited) ISO An ISO image is simply a sector-by-sector copy of the 2k data for each sector on the media. However, being related to CD media, it's not quite this simple. For CD media: Generally speaking, the ISO represents from LBA 0 through LBA N-1, where N is the start of the lead-out. However, it may also represent LBA 0..N-151, if dealing with Track-at-Once written media. Single and Multi-session media: Only single-session discs are supported. The method of finding the file system on multi-session media requires finding the start of the last session. ISO images don't store information about sessions. Thus, no support for multi-session. Sector Modes (1/2/etc.): Only 2048 bytes per sector are stored in the ISO image. Thus, the resulting user data portion of the CD sector must be 2048 bytes in size. The topic is complex, but the basic idea is that if it's not a VideoCD, and it's got a file system on it, it's using 2048 bytes per sector. Disc-At-Once vs Track-At-Once (TAO): DAO writes the session/disc from the start of the lead-in to the end of the lead-out. Thus, no extra sectors are added and it's "simple" to read from. Writing in DAO mode can be more complex, but we're focused on the file format in this thread. TAO is a method of burning a single track of information on the disc at a time. When a first track is done, a next track can be added to the session. Writing in TAO adds 150 sectors of "post-gap" at the end of the track. Thus, if writing only one track of 2000 sectors, the resulting start of the lead-out (end of the disc) would be reported as 20150. Extra data at the end of an image is usually not important. But, some UDF file system versions use the start of the lead-out to find file system structures. Most UDF implementations attempt to read at (N-1, N-150, etc.) to work around this on a given media. However, if you create an ISO with the extra 150 sectors, and then it's written in TAO mode, there'd be an extra 300 sectors, and mess up the UDF file system recognition sequence. Thus, these extra sectors from the last track have to be excluded when creating an ISO image from TAO media. Unfortunately, a CD-ROM drive often doesn't support telling you if the disc was written DAO or TAO. You need to use a drive that supports writing to CDs to extract this information. Worse, the implementations for reporting the start of the lead-out vary, with some drives including the 150 sectors when calculating the start of the lead-out and some drives "hiding" it. Thus, you'll actually have to query each track's information to determine the readable sectors. Finally, some sectors between tracks may not be readable in all drives. In that case, just pad the ISO image with zero data. In summary, if creating an ISO image from CD media: Don't create an ISO from multi-session media. DO use a CD Writer for CD media, DO determine if source is TAO or DAO, and DO exclude the post-gap sectors from the final track. For DVD, HD-DVD, and Blu-ray media (generically, DVD media): Generally speaking, the ISO represents from LBA 0 through LBA N-1, where N is the start of the lead-out. DVD media was designed such that there is no "postgap". Furthermore, although DVD media technically has more than 2048 bytes per sector, only 2048 bytes is available via standard commands. Thus, there are no "Mode 2" sectors on DVD media -- everything is a single sector size. DVD media does have multi-session support. For the same reason as with CDs, multi-session support is not supported by an ISO image. Creating an ISO image from DVD media is trivial: Open the disc, read from sector 0, stop reading at sector N-1. Edited January 6, 2010 by henrygab
henrygab Posted January 6, 2010 Author Posted January 6, 2010 IMG Similar to ISO, this is a sector-by-sector dump of the user data on a floppy/hard drive. The sector size is presumed to be 512 bytes per sector. The capacity of the disk defines the size of the resulting image file. Simple as can be....
Recommended Posts