With a very corrupted CD or DVD it may be necessary to set the type of format manually. It is therefore essential to know how each format is recognised. Fortunately, CnW Recovery software will normally determine the disk correctly, but problems can occur when a significant part of the disk (typically the start) has been made unreadable.
There are two common formats for CDs and DVDs. These are ISO9660 / Joliet and UDF. DVDs tend to be UDF, but this is not always the case. There is also a middle case where a disk is both ISO9660 and UDF. On these disks, the data is stored once, but there are two parallel directory structures pointing to the same files.
ISO9660 / Joliet
The first location to look on a CD is sector 16 (10H). If the sector contains the string "CD001" then this is a ISO9660. A joliet disk is very similar, and typically, sector 17 (11H) will have the string "CD001" , bute the volume name in byte offset 1aH will be double spaced uni-code
Sector 16 for ISO9660
000000 01 43 44 30 30 31 01 00 - 20 20 20 20 20 20 20 20 CD001
000010 20 20 20 20 20 20 20 20 - 20 20 20 20 20 20 20 20
000020 20 20 20 20 20 20 20 20 - 42 41 43 4B 5F 55 50 5F BACK_UP_
000030 44 56 44 5F 31 20 20 20 - 20 20 20 20 20 20 20 20 DVD_1
000040 20 20 20 20 20 20 20 20 - 00 00 00 00 00 00 00 00
000050 D0 3B 17 00 00 17 3B D0 - 00 00 00 00 00 00 00 00 Ð; ;Ð
000060 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
000070 00 00 00 00 00 00 00 00 - 01 00 00 01 01 00 00 01
000080 00 08 08 00 F2 15 00 00 - 00 00 15 F2 A8 01 00 00 ò ò¨
000090 00 00 00 00 00 00 01 AB - 00 00 00 00 22 00 13 00 « "
0000A0 00 00 00 00 00 13 00 08 - 00 00 00 00 08 00 6B 03 k
0000B0 15 14 38 00 00 02 00 00 - 01 00 00 01 01 00 20 20 8
0000C0 20 20 20 20 20 20 20 20 - 20 20 20 20 20 20 20 20
0000D0 20 20 20 20 20 20 20 20 - 20 20 20 20 20 20 20 20
0000E0 20 20 20 20 20 20 20 20 - 20 20 20 20 20 20 20 20
0000F0 20 20 20 20 20 20 20 20 - 20 20 20 20 20 20 20 20
000100 20 20 20 20 20 20 20 20 - 20 20 20 20 20 20 20 20
Sector 17 - Joliet
000000 02 43 44 30 30 31 01 00 - 00 20 00 20 00 20 00 20 CD001
000010 00 20 00 20 00 20 00 20 - 00 20 00 20 00 20 00 20
000020 00 20 00 20 00 20 00 00 - 00 42 00 61 00 63 00 6B B a c k
000030 00 2D 00 75 00 70 00 20 - 00 44 00 56 00 44 00 20 - u p D V D
000040 00 31 00 00 00 20 00 00 - 00 00 00 00 00 00 00 00 1
000050 D0 3B 17 00 00 17 3B D0 - 25 2F 45 00 00 00 00 00 Ð; ;Ð%/E
000060 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
000070 00 00 00 00 00 00 00 00 - 01 00 00 01 01 00 00 01
000080 00 08 08 00 1A 4C 00 00 - 00 00 4C 1A 66 03 00 00 L Lf
000090 00 00 00 00 00 00 03 70 - 00 00 00 00 22 00 AE 01 p " ®
0000A0 00 00 00 00 01 AE 00 08 - 00 00 00 00 08 00 6B 03 ® k
0000B0 15 14 38 00 00 02 00 00 - 01 00 00 01 01 00 00 20 8
0000C0 00 20 00 20 00 20 00 20 - 00 20 00 20 00 20 00 20
0000D0 00 20 00 20 00 20 00 20 - 00 20 00 20 00 20 00 20
0000E0 00 20 00 20 00 20 00 20 - 00 20 00 20 00 20 00 20
0000F0 00 20 00 20 00 20 00 20 - 00 20 00 20 00 20 00 20
000100 00 20 00 20 00 20 00 20 - 00 20 00 20 00 20 00 20
UDF
A UDF disk has several very distinctive features that can be looked for. Often the first two bytes are the most relevant values on a control sector. The sectors with tags 1-9 below all follow the Primary Vol descriptor. The sequence is not important, but the final sector in the chain is always tag 8.
tag 1 (ECMA167 3/10.1) Primary Vol descriptor 0x01 0x00
tag 2 Anchor Vol Pointer normally at location 256 0x02 0x00
tag 3 Volume descriptor pointer 0x03 0x00
tag 4 Implementation use volume descriptor 0x04 0x00
tag 5 Partition descriptor 0x05 0x00
tag 6 Logical volume descriptor 0x06 0x00
tag 7 Unallocated space descriptor 0x07 0x00
tag 8 Terminating descriptor 0x08 0x00
tag 9 Logical vol integrity descriptor 0x09 0x00
tag 256 Fileset descriptor 0x00 0x01
tag 257 File identifer descriptor 0x01 0x01
tag 258 Allocation length descriptor 0x02 0x01
tag 259 Indrect entry 0x03 0x01
tag 260 Terminal entry 0x04 0x01
tag 261 File entry 0x05 0x01
tag 262 Extented attribute header descriptor 0x06 0x01
tag 263 Unallocated space descriptor 0x07 0x01
tag 264 Space bitmap descriptor 0x08 0x01
tag 265 Partition integrity entry 0x09 0x01
tag 266 Extended file entry 0x0a 0x01
The first three sectors of a UDF disk - often after the Joilet sectors for a Bridge disk
000000 00 42 45 41 30 31 01 00 - 00 00 00 00 00 00 00 00 BEA01
000010 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
000020 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
000000 00 4E 53 52 30 32 01 00 - 00 00 00 00 00 00 00 00 NSR02
000010 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
000020 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
000000 00 54 45 41 30 31 01 00 - 00 00 00 00 00 00 00 00 TEA01
000010 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
000020 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
Anchor sector 0x100
000000 02 00 02 00 CE 00 00 00 - 01 D7 F0 01 00 01 00 00 Î ×ð
000010 00 80 00 00 20 00 00 00 - 00 80 00 00 30 00 00 00 € € 0
000020 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
Bridge Disk
A bridge disk has both UDF and ISO9660 structures.