Home
Overview
Functionality
Products
Demo
Support
Press
Order
 
Home Search Deutsche Seite Contact News
ImageCopy
 Support overview
 FAT
 Partition tables

Technical Information

LBA Mode, Extended Interrupt 13, FAT

We have compiled the following brief technical information to answer many of the various questions that have come up, concerning copying with ImageCopy. We hope that it will provide you with valuable help in understanding frequently asked questions in conjunction with hard disks and file systems. If you have any further questions, we would be happy to answer them (preferably by telephone).

The fundamentals: for hard disks smaller than 504 MB

Hard disks with a size of less than 504 MB can be addressed by all operating systems without any restrictions and the actual (physical) disk geometry (number of sectors heads and cylinders) is used in that form by all operating systems. The maximum parameter values are 63 sectors, 16 heads and 1024 cylinders, which gives a maximum size of

    512 x 63 x 16 x 1024 = 528482304 bytes
    (528482304 / 1024 / 1024 = 504 MB)

where the number 512 is the number of bytes per sector.

Hard disks larger than 504 MB and smaller than 7.84 GB

These disks cannot be addressed because of the above limitations and therefore the BIOS carries out a so-called drive mapping (usually wrongly called LBA mode; more correctly, it should be called "CHS-translation"), i.e. the BIOS "claims" the disk has the correspondingly tte higher number of heads (maximum number 255), so that with a maximum number of (as before) 1024 cylinders, the entire disk can be addressed. E.g. if there exists a disk with 63 physical sectors, 16 heads and 6232 cylinders, a BIOS of the manufacturer "A" instead puts, in the LBA mode, 63 sectors, 128 heads and 778 cylinders, so that the number of cylinders is again below 1024 and the entire disk can thus be addressed. However, this is not the only variant as to how disks can be mapped. Thus, a BIOS of the manufacturer "B" could, for example, enter 255 heads and a correspondingly smaller number of cylinders, so that the entire disk can be addressed again. A hard disk which has been created in a computer with the BIOS "A" and is to be operated in a computer with the BIOS "B" cannot then run in the second computer! In such a case, ImageCopy recognizes that the mapping has been originally done elsewhere, and re-calculates all the values accordingly at the time of copying, although that disk would not be operable in the computer with BIOS "B", where the copying is being done.

The maximum size which can be addressed with this mapping, is

    512 x 63 x 255 x 1024 = 8422686720 bytes
    (8422686720 / 1024 / 1024 / 1024 = 7.84 Gbyte)

If a disk larger than 504 MB is operated without the LBA Mode, then, (depending on the BIOS) either 63 sectors / 16 heads / 1024 cylinders (maximum number) or the physical disk geometry, with the number of cylinders limited to 1024, is specified.

The above is all based on a BIOS type with Standard Interrupt 13 (interrupt for hard disk access). However, in order to be able to address disks larger than 7.84 GB, additional functions have been introduced in the case of this BIOS Interrupt by Microsoft (functions 41h to 48h), which have already been implemented on the new motherboards. These functions are collectively called "Extended Interrupt 13". With these Extended Functions, hard disks greater than 504 MB can once again be addressed with the physical parameters, but these functions must be addressed completely differently from the conventional variant. Presently, according to our knowledge, Windows 95 alone uses these additional functions. ImageCopy currently accesses the hard disks using the conventional variant exclusively, but uses the Extended Int 13 for determining the size of the hard disks.

Hard disks larger than 7.84 GB, Extended Interrupt 13

As has already been described in the paragraph above, in the case of a disk larger than 7.84 GB, it is not possible to access the entire disk with the conventional variant. Windows NT or SCO Unix and Novell bypass the BIOS and access the hard disks with their own drivers, so that this limit has no effect. Windows 95 can already work with hard disks smaller than 7.84 GB both with the conventional as well as with the Extended Int 13 functions (if the BIOS provides them); the strategy (on which the user has no influence) seems to be that partitions which are bigger than 2 GB (FAT32 partitions), will be addressed by the Extended Int 13 functions if the latter are present and will always be be addressed by the latter if the disk is operated without LBA mode and the partitions are greater than 504 MB. If the disk is operated in LBA mode, and if, with the logical (i.e. mapped) geometry specified by the BIOS, the entire disk cannot be addressed, then too, the Extended Int 13 mode is selected by Windows 95.

Partition tables

The partition tables created by FDISK divide the hard disk into different areas. The conventional variant for this is a table in the following format:

  • Number of the partition
  • Partition bootable (Yes/No)
  • Byte value which describes the type of partition
  • Start of the partition (sector, head, cylinder)
  • End of the Partition (sector, head, cylinder)
  • Distance of the start of partition from the start of the disk, in number of sectors
  • Number of sectors in the partition

If the disk is now operated using the Extended Int 13 functions, the boot code cannot address the entire disk any more, since it always works with the conventional Int 13 variant. Hence, the start of the partition (always at the start of a head) and the end of the partition (always at the end of a cylinder) always refer to the logical (and not physical) disk parameters, so that when using the Extended Int 13 variant, the number of sectors in the partition is often greater than the end minus start of the partition (!).

The type of partitions (extract) is as follows:

Code (Hex)
Designation in ImageCopy log file Description Used by
01
DOS/F12 FAT 12 Partition DOS, Windows 3.x, 95, NT
04
DOS/F16 FAT 16 Partition DOS, Windows 3.x, 95, NT
05
DOS, Ext Extended Partition DOS, Windows 3.x, 95, NT and other
06
DOS4 > 32M FAT16 > 32 MB Partition DOS, Windows 3.x, 95, NT
0B
DOS/F32 Windows 95 FAT 32 Partition Windows 95
0C
Win95F32 Windows 95 FAT32 Partition with Ext. Int 13 Windows 95
0E
Win 95 FAT16 > 32 MByte Partition with Ext. Int 13 Windows 95
0F
Win95Ext Extended Partition with Ext. Int 13 Windows 95

The FAT File System

The file system used by DOS, Windows 3.x, Windows 95 and to some extent, by Windows NT is a FAT (File Allocation Table) file system, i.e. it is a chained list of the sectors used (usually in duplicate for reasons of safety). Since, owing to historical factors, this list soon became too small, several sectors were combined into so-called clusters and the list now refers exclusively to these clusters. The clusters used by a file are entered in such a format in this chained list, that the entry for, say cluster number 2345 points to the next cluster used by the file (e.g. 3423). The last cluster has a special tag (EOF) to identify the end of the chain. The first cluster of a file is referenced from the directory index entry.

Depending on the maximum quantity of data which can be accommodated in a partition, different FAT versions and cluster sizes are used. Thus, for example, with a maximum list size of about . 65000 entries, (with FAT16 = list entry is 16 bits long) a maximum of 65000 clusters can be administered. Now, if a cluster consists of, say, 32 sectors(cluster size 16 KB), then, in that case, about 65000 x 16 KB = 1 GB can be administered. If the partition has to be bigger, a larger cluster size must be chosen. The maximum cluster size supported by DOS, Windows 3.x and Windows 95 is 32 KB (64 sectors), which gives a maximum size of 2 GB per partition. Windows NT can also work with a FAT partition with 64 KB clusters, in which case the maximum size would be 4 GB (the file system usually used in Windows NT, NTFS, is structured completely differently and therefore does not have all these restrictions). With the Windows 95 OEM version, the so-called FAT32 was introduced the first time, in which the FAT list is 32 bits in size and hence - even with smaller cluster sizes of 4 KByte - very large disk sizes can be administered and the space that is lost is considerably smaller (a file of 1 byte size always occupies a full cluster i.e. in the case of FAT16, a maximum of 64 KB). The cost of this is a correspondingly lower speed of access to the file system. The FAT12 file system, used as before for small partitions, has entries which are only 12 bits (1 1/2 byte) in size, and can therefore administer a maximum of about 4000 clusters (of course, each of size up to 32 KB), but is normally operated only with correspondingly smaller cluster sizes.

More detailed literature

"Priemeln mit Diskedit und Debug"
by Harald Bögeholz in c't 5/97, S. 188,
Heise Verlag

"Lange Dateinamen unter Windows 95"
by Thomas Lauer in c't 5/97, S. 352,
Heise Verlag

"Enhanced Disk Drive Specification v1.1"(Adobe Acrobat File),
"Enhanced Disk Drive Specification v3.0"(Adobe Acrobat File),
Phoenix Technologies Ltd.

"CHS-Translation" by Hale Landis

"Partition Tables" by Hale Landis

Support overview | FAT | Partition tables
Top of Page | Home | Overview | Functionality | Products | Demo | Press | Order