Access to IDE hard disks that use the AT Attachment (ATA) interface is through the system AT ROM BIOS INT13h services. IDE identifies a hard disk's capacity to the system BIOS by specifying the number of cylinders, heads, and sectors per track (CHS) in the CMOS memory.
Sectors are always 512 bytes in size, so you can determine the capacity of an IDE hard disk with the following formula:
cylinders x heads x sectors per track x 512 (bytes per sector) = capacity
The system BIOS INT13h interface allows for a maximum of 1024 cylinders,255 heads, and 63 sectors per track. The IDE interface allows for amaximum of 65,536 cylinders, 16 heads, and 255 sectors per track. Toensure compatible communication between the system BIOS and the IDEinterface, the least common denominators of 1024 cylinders, 16 heads, and63 sectors per track must be used. When you are using the INT13h servicesto access a hard disk, therefore, the largest drive that can be accessedis 504 MB, calculated as follows:
1024 cylinders x 16 heads x 63 sectors per track x 512 = 528,482,304 bytes, or 504 MBNOTE
: Some hard disk manufacturers consider 1 MB to be 1,000,000 bytes andwould therefore consider 528,482,304 bytes to be 528 MB. In standardprogramming vocabulary and in MS-DOS and Windows 95/98, however, 1 MB isequal to 1,048,576 bytes, so 528,482,304 bytes is equal to 504 MB.
IDE hard disks that are larger than 504 MB require more than 1024 cylinders in theCMOS memory (or they could instead use more than 63 sectors per track, butthis is very rare). As a result, drives of this size are not compatiblewith the system BIOS INT13h interface and the entire drive cannot be usedunless geometry translation is being employed by the hard disk controller.Because most IDE controllers do not use geometry translation, IDE harddisks are almost always subject to the 1024-cylinder limit as imposed bythe system AT ROM BIOS.NOTE
: Small Computer System Interface (SCSI) controllers usually include adevice driver or BIOS ROM that replaces the system AT ROM BIOS serviceswhen communicating with a SCSI hard disk and therefore are not limited to1024 cylinders (504 MB). Enhanced Small Device Interface (ESDI) drives useBIOS ROM-based INT13h functionality to provide drive geometry translationthat is compatible with the ATA interface. Also note that when you areusing IDE hard disks, it is possible to have a CMOS Setup allow you toview the full number of cylinders but still have the ROM BIOS limited toonly 1024 cylinders.
MS-DOS, Windows 95, and Windows 98 support IDE drives that exceed the 504-MB (1024cylinder) limit by using either geometry translation or LBA. Geometrytranslation is implemented by BIOS drivers that translate the IDE harddisk's actual geometry into geometry that will fit within the system BIOS'INT13h limitations. LBA is implemented by the system BIOS or hard disk busadapter, which translates the CHS information that is passed to the BIOSinto a 28-bit logical block address that is used by the drive to retrievedata from the disk.
To use an IDE hard disk that is larger than 504 MB (1024 cylinders) with MS-DOS, Windows 95, or Windows 98, use one of the following methods.
ROM BIOS Support for INT13h Extensions
Update your computer's ROM BIOS to a version that supports INT13hextensions. A BIOS that supports LBA provides automatic translationfor IDE hard disks that are configured for more than 1024 cylinders.This allows you to partition and format the entire drive with MS-DOS, Windows 95, or Windows 98 and to use the Windows 95 protected-mode disk driver(Esdi_506.pdr) for 32-bit disk access.NOTE
: Contact your computer manufacturer for information about how to update your ROM BIOS or enabling LBA support in the CMOS memory. For information about how to set CHS information for your hard disk in the CMOS memory,contact your hard drive manufacturer.
For more information about INT13H EXTENSIONS, please see the followingarticles in the Microsoft Knowledge Base:
Logical Block Addressing (LBA) Defined
Hard Disk Limited to 8-GB Partition
Hard Disk Bus Adapter Support for INT13h Extensions
You may want to purchase a hard disk controller card that supports INT13H Extensions orperforms geometry translation. This allows you to partition and format theentire disk with MS-DOS, Windows 95, or Windows 98 and to use the Windows 95/Windows 98protected-mode disk driver (Esdi_506.pdr) for 32-bit disk access.NOTE
: For information about where to obtain a hard disk controller thatsupports INT13h Extensions or performs geometry translation, contact yourhard disk or hard disk controller manufacturer.
Real-Mode Driver Support for Translation
You can use a third-party software utility to perform geometry translation.Examples of this type of translation software include SpeedStor fromStorage Dimensions, EZ-Drive from Micro House, and Disk Manager fromOnTrack Computer Systems.
If you use version 6.03 or later of the OnTrack Disk Manager XBIOS drivers(both the Master Boot Record and Config.sys drivers must be version 6.03or later), the Windows 95/Windows 98 protected-mode driver (Esdi_506.pdr) obtainsthe actual geometry and sector skew factor from the OnTrack driver by usingan API that is defined in the OnTrack Disk Manager XBIOS specification. In thiscase, 32-bit disk access is available in Windows 95 and Windows 98.
If you use a version of the OnTrack Disk Manager XBIOS Drivers prior toversion 6.03 or another third-party utility, Esdi_506.pdr unloads and diskaccess occurs in real mode by using the system BIOS INT13h interface. Inthis case, you will still have access to your drive in Windows, but thedrive will be accessed by using MS-DOS Compatibility Mode.NOTE
: Disk Manager 6.03 is supported in protected mode on hard disks onthe primary IDE channel and when DriveSpace disk compression is notinstalled. For drives on the secondary IDE channel, Disk Manager 7.0 orlater is required. When you use the DriveSpace compression software that isincluded with Microsoft Windows 95, Windows 98, and Microsoft Plus!, Disk Manager7.04 or later must be used.The OnTrack Disk Manager XBIOS driver (Xbios.ovl) is stored in the rootfolder of the boot drive and is loaded from the Master Boot Record tosupport the primary partition (drive C). The Config.sys driver(Dmdrvr.bin) supports extended partitions and must be loaded to accessany drives in the extended partition.
For information about how to set CHS information for your drive in the CMOSmemory, contact your hard disk manufacturer. In addition, these programsusually require you to partition and format the drive with a specialutility provided with the third-party software. For information about thisprocedure, consult the documentation that is included with the software or contactthe software manufacturer.
Use Only the First 1024 Cylinders of the Disk
In the CMOS settings, specify the CHS parameters so that no more than 1024cylinders are used. This allows you to partition and format the drive toa 504-MB capacity with MS-DOS, Windows 95, or Windows 98 and to use the Windows 95/Windows 98 protected-mode disk driver (Esdi_506.pdr) for 32-bit disk access.
For information about how to set CHS information for your drive in the CMOSsettings, contact your hard disk manufacturer.
Using Large Hard Disks with Windows and Windows for Workgroups
You can use the preceding methods to use a drive that is larger than 504MB (1024 cylinders) with Windows version 3.0 or later or Windows forWorkgroups version 3.1 or 3.11. In addition, when you use one of thesemethods you can use the Windows for Workgroups 3.11 32-bit file access(VFAT) feature on most computers. Note that using INT13h extensions orgeometry translation as previously described does not allow you to use theWindows or Windows for Workgroups 32-bit disk access feature.
In Windows and Windows for Workgroups versions 3.1 and later, 32-bit diskaccess is provided by a FastDisk driver called WDCTRL. WDCTRL compares thetotal number of cylinders specified for the hard disk in the CMOS memoryin the BIOS Parameter Block (BPB) with the number of cylinders reported bythe hard disk in response to an Identify Drive command. If the BIOSreports more than 1024 cylinders, WDCTRL validation does not work regardless ofwhether the system BIOS or bus adapter supports geometry translation orINT13h extensions.
To use 32-bit disk access with hard disks that are configured for morethan 1024 cylinders (and are therefore incompatible with WDCTRL), you mustuse a third-party FastDisk driver provided by the manufacturer of the harddisk or hard disk controller. You can also use such a FastDisk driver inplace of the Esdi_506.pdr file to provide 32-bit disk access in Windows 95 and Windows 98,although this should not be necessary for most hard disks.
Disk Manager is manufactured by OnTrack Computer Systems, a vendorindependent of Microsoft; we make no warranty, implied or otherwise,regarding this product's performance or reliability.
The third-party products that are discussed in this article are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, regarding the performance or reliability of these products.
Preparing A Hard Disk
For information about how to combine partitions or prepare your hard disk for installation or reinstallation of Windows 95 or Windows 98, please see the following articles in the Microsoft Knowledge Base:
How to Use Fdisk and Format to Partition or Repartition a Hard Disk
How to Install Windows 98 on a Computer with No Operating System
HWDDRV 3.x 5.x 6.00 6.20 6.21 6.22 atapi wd enhanced eide fast-ata msdos ms-dos ms dos w95hw