Microsoft KB Archive/126855

From BetaArchive Wiki

Article ID: 126855

Article Last Modified on 1/19/2007



APPLIES TO

  • Microsoft Windows Millennium Edition
  • Microsoft Windows 98 Second Edition
  • Microsoft Windows 98 Standard Edition
  • Microsoft Windows 95
  • Microsoft Windows 3.0 Standard Edition
  • Microsoft Windows 3.0a
  • Microsoft Windows 3.1 Standard Edition
  • Microsoft Windows 3.11 Standard Edition
  • Microsoft Windows for Workgroups 3.2
  • Microsoft MS-DOS 6.22 Standard Edition



This article was previously published under Q126855

If this article does not describe your hardware-related issue, please see the following Microsoft Web site to view more articles about hardware:

SUMMARY

Windows 95 and Windows 98 support the use of Integrated Drive Electronics (IDE) hard disks that are larger than 504 MB (1024 cylinders) by using any one of the following methods:

  • ROM BIOS support for INT13h extensions (for example: Logical Block Addressing, or LBA).
  • Hard disk bus adapter (hard disk controller) support for INT13h extensions (for example: LBA)
  • Using only the first 1024 cylinders of the drive
  • Real-mode driver support for geometry translation

In addition, the Windows 95 and Windows 98 protected-mode IDE disk driver (Esdi_506.pdr) is used to provide 32-bit disk access when you use any of the first three methods in the preceding list. When you use a real-mode driver to provide geometry translation, 32-bit disk access is provided by Esdi_506.pdr only if you use version 6.03 (or later) of the OnTrack Disk Manager XBIOS drivers. For more information about or assistance with Disk Manager, please contact OnTrack Technical Support.

NOTE: For related information about the FAT32 file system in Windows 95 and Windows 98, see the following article in the Microsoft Knowledge Base:

154997 Description of the FAT32 File System


MORE INFORMATION

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 a maximum of 65,536 cylinders, 16 heads, and 255 sectors per track. To ensure compatible communication between the system BIOS and the IDE interface, the least common denominators of 1024 cylinders, 16 heads, and 63 sectors per track must be used. When you are using the INT13h services to access a hard disk, therefore, the largest drive that can be accessed is 504 MB, calculated as follows:

1024 cylinders x 16 heads x 63 sectors per track x 512 = 528,482,304 bytes, or 504 MB


NOTE: Some hard disk manufacturers consider 1 MB to be 1,000,000 bytes and would therefore consider 528,482,304 bytes to be 528 MB. In standard programming vocabulary and in MS-DOS and Windows 95/98, however, 1 MB is equal 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 the CMOS memory (or they could instead use more than 63 sectors per track, but this is very rare). As a result, drives of this size are not compatible with the system BIOS INT13h interface and the entire drive cannot be used unless geometry translation is being employed by the hard disk controller. Because most IDE controllers do not use geometry translation, IDE hard disks are almost always subject to the 1024-cylinder limit as imposed by the system AT ROM BIOS.

NOTE: Small Computer System Interface (SCSI) controllers usually include a device driver or BIOS ROM that replaces the system AT ROM BIOS services when communicating with a SCSI hard disk and therefore are not limited to 1024 cylinders (504 MB). Enhanced Small Device Interface (ESDI) drives use BIOS ROM-based INT13h functionality to provide drive geometry translation that is compatible with the ATA interface. Also note that when you are using IDE hard disks, it is possible to have a CMOS Setup allow you to view the full number of cylinders but still have the ROM BIOS limited to only 1024 cylinders.

MS-DOS, Windows 95, and Windows 98 support IDE drives that exceed the 504-MB (1024 cylinder) limit by using either geometry translation or LBA. Geometry translation is implemented by BIOS drivers that translate the IDE hard disk's actual geometry into geometry that will fit within the system BIOS' INT13h limitations. LBA is implemented by the system BIOS or hard disk bus adapter, which translates the CHS information that is passed to the BIOS into a 28-bit logical block address that is used by the drive to retrieve data 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 INT13h extensions. A BIOS that supports LBA provides automatic translation for 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 following articles in the Microsoft Knowledge Base:

122052 Logical Block Addressing (LBA) Defined


153550 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 or performs geometry translation. This allows you to partition and format the entire disk 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.

NOTE: For information about where to obtain a hard disk controller that supports INT13h Extensions or performs geometry translation, contact your hard 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 from Storage Dimensions, EZ-Drive from Micro House, and Disk Manager from OnTrack 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.03 or later), the Windows 95/Windows 98 protected-mode driver (Esdi_506.pdr) obtains the actual geometry and sector skew factor from the OnTrack driver by using an API that is defined in the OnTrack Disk Manager XBIOS specification. In this case, 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 to version 6.03 or another third-party utility, Esdi_506.pdr unloads and disk access occurs in real mode by using the system BIOS INT13h interface. In this case, you will still have access to your drive in Windows, but the drive will be accessed by using MS-DOS Compatibility Mode.

NOTE: Disk Manager 6.03 is supported in protected mode on hard disks on the primary IDE channel and when DriveSpace disk compression is not installed. For drives on the secondary IDE channel, Disk Manager 7.0 or later is required. When you use the DriveSpace compression software that is included with Microsoft Windows 95, Windows 98, and Microsoft Plus!, Disk Manager 7.04 or later must be used. The OnTrack Disk Manager XBIOS driver (Xbios.ovl) is stored in the root folder of the boot drive and is loaded from the Master Boot Record to support the primary partition (drive C). The Config.sys driver (Dmdrvr.bin) supports extended partitions and must be loaded to access any drives in the extended partition.

For information about how to set CHS information for your drive in the CMOS memory, contact your hard disk manufacturer. In addition, these programs usually require you to partition and format the drive with a special utility provided with the third-party software. For information about this procedure, consult the documentation that is included with the software or contact the software manufacturer.

Use Only the First 1024 Cylinders of the Disk

In the CMOS settings, specify the CHS parameters so that no more than 1024 cylinders are used. This allows you to partition and format the drive to a 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 CMOS settings, 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 504 MB (1024 cylinders) with Windows version 3.0 or later or Windows for Workgroups version 3.1 or 3.11. In addition, when you use one of these methods you can use the Windows for Workgroups 3.11 32-bit file access (VFAT) feature on most computers. Note that using INT13h extensions or geometry translation as previously described does not allow you to use the Windows or Windows for Workgroups 32-bit disk access feature.

In Windows and Windows for Workgroups versions 3.1 and later, 32-bit disk access is provided by a FastDisk driver called WDCTRL. WDCTRL compares the total number of cylinders specified for the hard disk in the CMOS memory in the BIOS Parameter Block (BPB) with the number of cylinders reported by the hard disk in response to an Identify Drive command. If the BIOS reports more than 1024 cylinders, WDCTRL validation does not work regardless of whether the system BIOS or bus adapter supports geometry translation or INT13h extensions.

To use 32-bit disk access with hard disks that are configured for more than 1024 cylinders (and are therefore incompatible with WDCTRL), you must use a third-party FastDisk driver provided by the manufacturer of the hard disk or hard disk controller. You can also use such a FastDisk driver in place 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 vendor independent 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:

255867 How to Use Fdisk and Format to Partition or Repartition a Hard Disk


221829 How to Install Windows 98 on a Computer with No Operating System



Additional query words: 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

Keywords: kbenv kbfaq kbhardware kbinfo KB126855