Learn about CD-ROM/DVD File System in this article computer systems require file systems, such as NTFS or UNIX, to exchange and access the data contained in files easily and quickly. They divide data stored on CD-ROMs into sectors, containing both user data and error correction codes, Users need not worry about which data is stored in which sector, but should have an understanding of the CD-ROM fife structure.
ISO (International Organization for Standardization) 9660 is a standard that defines uses for file systems of CD-ROM and DVD media. Its aim is to support different operating systems like MS Windows, Mac OS, and systems that follow the UNIX specification in order to exchange data
There are some well-known extensions to ISO 9660 to deal with the limitations. For example, the Rock Ridge extension allows usage of almost all ASCII characters for file or folder names, and enables longer file names (up to 255 characters). Users can select ASCII code to store the owner’s permission, for deeper directory and also for symbolic links. The El Torito Bootable CD specification allows machines to boot with the help of a CD-ROM.
This standard has several improvements over 9660, the later having few drawbacks, namely POSIX attributes and multi-byte characters. It addresses the file name completely. It is an efficient format that allows incremental recording and also permit the ISO 9660 format and the 150/IEC 13490 format to exist on the same media. It specifies using multicasting properly.
Related Product : Computer Hacking Forensic Investigator | CHFI
ISO 9660 Specifications
A reserved area of 32,768 bytes at the beginning of the disk is present for use in booting CDROMs on a computer (system area). However, it is important to note that, the ISO 9660 standard did not specify its use.
Immediately a series of volume descriptors details the contents and kind of information contained on the disk (something like the partition table of MS-DOS).
A volume descriptor describes the characteristics of the file system information present on a given CD-ROM, or volume. It has two parts: the type of volume descriptor, and the characteristics of the descriptor.
Construction of the volume descriptor is in such a manner that if a program reading the disk does not understand a particular descriptor, it can just skip over until it recognizes one , thus allowing the use of many different types of information on one CD-ROM. Also, if an error were to render a descriptor unreadable, a subsequent redundant copy of a descriptor could then allow for fault recovery. While checking CD-ROMs with a dump utility, each descriptor is present in a single logical sector on itself, and also a backup of the descriptor, a few logical sectors further.
An ISO 9660—compliant disc contains at least a primary descriptor describing the ISO 9660 file system and a terminating descriptor for indicating the end of the descriptor sequence. Joliet and UDF are examples of such file systems that are adding more descriptors to this sequence.
The primary volume descriptor acts much like the super block of the UNIX file system, providing details on the ISO 9660—compliant portion of the disc. The primary volume descriptor contains the root directory record that describes the location of the contiguous root directory. (As in UNIX, directories appear as files for the operating system’s special use.) Directory entries are successively stored within this region, Evaluation of the ISO 9560 file names begins at this location. The root directory is stored as an extent, or as sequential series of sectors, that contains each of the directory entries appearing in the root. In addition, since ISO 9660 works by segmenting the CD-ROM into logical blocks, the size of these blocks is present in the primary volume descriptor as well.
Also Read : Overview of ZFS file system
The first field in a volume descriptor is the volume descriptor type (type), which can have the following values:
- Number 0: refers that the volume descriptor is a boot record
- Number 1: refers that the volume descriptor is a primary volume descriptor
- Number 2: refers that the volume descriptor is a supplementary volume descriptor
- Number 3: refers that the volume descriptor is a volume partition descriptor
- Number 255: refers that the volume descriptor is a volume descriptor set terminator
The second field is the standard identifier and is set to CD001 for a CD-ROM compliant to the ISO 9660 standard. Another interesting field is the volume space size, which contains the amount of data available on the CD-ROM. File attributes are simple in ISO 9660. The most important file attribute is determining whether the file is a directory or an ordinary file. File attributes for the file described by the directory entry are stored in the directory entry and optionally, in the extended attribute record.
Compact Disc File System (CDFS)
The CD File System (CDFS) is a file system for the Linux operating system. It transfers all tracks and boot images on a CD, as normal files. These files can then be mounted (for example, for ISO and boot images), copied, and played (audio and video CD tracks), The primary goal for developing this file system was to unlock information in old ISO images.
For instance, if there is a nnulti5ession CD with two ISO images that contains the file “a,” only the file “a” in the second session is seen only if the ISO 9660 file system is used:
[root@k6 /root]# mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom
[root@k6 /root]# 1s -1 /mnt/cdrom
- r-xr-xr-x 1 root root 2 Aug 8 19:16 a
- r-xr-xr-x 1 root root 2 Aug 8 19:19 b
If we mount the CD with the CDFS file system, we get the two sessions as files:
[root@k6 /root]# mount -t cdfs -o ro /dev/cdrom /mnt/cdfs
[root@k6 /root]#1s -1 /mnt/cdfs
- r–r–r– 1 ronsseronsse 33503232 Aug 8 19:36 sessions_1-1.iso
- r–r–r– 1 ronsseronsse 34121728 Aug 8 1999 sessions_1-2.iso
These files can then be mounted loop back:
[roo.@k6 /root]# mount -t iso9660 -o loop /cdfs/sessions_1-1.iso /mnt/loopl [root@k6 /root]# mount -t iso9660 -o loop /cdfs/sessions_1-2.iso /mnt/loop2
File “a” can be accessed in both sessions: [root@k6 /root] # is -1 /mnt/loopl total 9889
- r-xr-xr-x 1 root root 10104236 Aug 8 17:34 a [root@k6 /root]# 1s -1 /mnt/loop2
- r-xr-xr-x 1 root root 2 Aug B 19:16 a
- r-xr-xr-x 1 root root 2 Aug 8 19:19 b
Questions related to this topic
- What filesystem is used if you convert a CD ROM to a disk image ISO file?
- How do I burn an ISO 9660 to a CD?
- Why are disk files broken up into blocks?
- What is an ISO disk image?
This Blog Article is posted by
Infosavvy, 2nd Floor, Sai Niketan, Chandavalkar Road Opp. Gora Gandhi Hotel, Above Jumbo King, beside Speakwell Institute, Borivali West, Mumbai, Maharashtra 400092
Contact us – www.info-savvy.com