 |

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
|
 |