Working With Large Hard Drives - The issues and the Limits

WinXP & Win2k - FAT32 format limitations

A few points one must understand about creating and using FAT32 partitions in Windows XP or Windows 2000. There are limitations which are there by design.

  1. WinXP & Win2k cannot create FAT32 partitions larger than 32 GB.

  2. WinXP & Win2k cannot format FAT32 partitions larger than 32 GB.

  3. WinXP & Win2k will happily use larger ones created using Win95R2, Win98 or WinME.

If you want to use large FAT32 partitions in WinXP / Win2k then create them and format them using Win95R2, Win98 or WinME boot floppies or bootable CDs. You can also use third party partitioning tools like partition magic, or any other, that support creating and formatting of FAT32 partitions.
However, see later for limitations imposed by the old ATA protocol.

You can obviously create large NTFS partitions instead.

About MS-DOS 7 which ships with Windows 98

  1. MS-DOS 7 removes limitations found in MS-DOS 6.22.

  2. With large disk support disabled, MS-DOS 7 can create FAT (FAT16) partitions that are backward compatible with MS-DOS 6.22.
    Use this mode if inter operability with MS-DOS 6.22 is important to you (e.g. old DOS based games and programs).

  3. With large disk support enabled, MS-DOS 7 can create FAT32 partitions. However FAT32 partitions cannot be accessed by MS-DOS 6.22.

  4. MS-DOS 7 version of fdisk will allow you to create partitions (primary or logical) greater that 2GB in size when you have large disk support enabled.

  5. MS-DOS 7 version of fdisk will only allow you to create 1 primary partition and 1 extended partiton.

  6. MS-DOS 7 version of fdisk will only allow you to create logical drives upto drive letter X then it will stop and prevent you defining anymore even if you have unallocated space left.

  7. Maximum theoretical hard drive size supported is 8 terabytes (TB).

  8. There are limitations of MS-DOS 7 which you need to be aware of:

    • The 8 GB limit

    • This behaviour can occur if the hard disk controller does not fully support the interrupt 13 extensions. This information applies to both IDE and SCSI hard disk drives. This is a BIOS limitation and a BIOS upgrade is usually necessary to overcome it. See the following MS Knowledge Base articles:

      Q153550 - Hard Disk Limited to 8-GB Partition (BIOS limitation).

    • The 64 GB limit

    • FDISK

      When you use Fdisk.exe to partition a hard disk that is larger than 64 GB (64 gigabytes, or 68,719,476,736 bytes) in size, Fdisk does not report the correct size of the hard disk.

      The size that Fdisk reports is the full size of the hard disk minus 64 GB. For example, if the physical drive is 70.3 GB (75,484,122,112 bytes) in size, Fdisk reports the drive as being 6.3 GB (6,764,579,840 bytes) in size.

      A supported fix is now available from Microsoft which requires a new version of fdisk. If you update fdisk on your windows install, remember you will also need to update the fdisk.exe on your startup (boot) disk as well.

      See the following MS Knowledge Base article:

      Q263044 Solution to Fdisk Does Not Recognize Full Size of Hard Disks Larger than 64 GB

      Please note that the above Microsoft fix will add the new Fdisk.exe to the C:\Windows\Command and C:\Windows\Options directories. So if you are going to be using an existing boot floppy, you will need to copy the new version of Fdisk.exe to it. Similarly, if you create a Startup Disk, the new version of Fdisk.exe must still be copied to the floppy, since the Microsoft fix does NOT update the directory C:\Windows\Command\EBD, where the files reside from which the Startup disk is created.

      NOTE:
      This fix is not designed for 48-bit logical block addressing (LBA) of hard disks, and
      it does not support hard disks larger than 137 GB.

      FORMAT
      When you use Format.com to format a partition or logical drive that is larger than 64 gigabytes (64 GB, or 68,719,476,736 bytes) in size, Format.com does not report the correct size of the drive being formatted at the beginning of the format process. However, as the formatting process progresses, the entire drive is formatted, and the correct formatted size is displayed when the operation is finished.


      See the following MS Knowledge Base article:

      Q263045 - Format Displays Size of Partitions or Logical Drives Larger Than 64 GB Incorrectly.

    • The 127 GB limit

    • ScanDisk and Defrag limit. See the following MS Knowledge Base articles:

      Q184006 - Limitations of FAT32 File System.
      (Hard drive size limited to 127.53 GBytes limit - ScanDisk limit)
      (Partition sizes limited to 32 GB in Windows 2000).

      The native Windows 98SE ScanDisk and Defrag utilities are limited to smaller partition sizes and may not function on partitions greater than 127GB. There are no fixes available from Microsoft for this limitation.

      Third-party software may be available to defrag and monitor larger FAT32 file systems. It is best to create partitions of a size that can be managed by the native Windows 98SE ScanDisk and Defrag utilities.

      If you do use hard drives partitions greater than 127 GB they may appear to work but you WILL eventually run into problems - You have been warned.

      For Hard drives sizes geater than 127 GB you need to switch to Win2k SP3 or WinXP SP1. However, see the 137 GB limit for more obstacles to overcome.

    • The 137 GB limit

    • The old ATA protocol uses 16+4+8 = 28 bits to specify the sector number, and hence cannot address more than 2^28 (or 268,435,456) sectors of 512 bytes. This puts the ATA interface maximum at 137 GB.

      Windows has a default limitation of 137 GB supporting ATA interface disc drives. Therefore, your hard drive partition will have a maximum size of 137 GB even if the Hard drive is larger than that.

      PLEASE NOTE - FAT32 is NOT the problem. It is the old ATA protocol that is the problem.

What if I have a hard drive which is greater than 137 GB?

  1. 48-bit Logical Block Addressing (LBA) support.
  2. The new ATA standard, ATA/ATAPI-6, resolves the 137 GB limit by increasing the maximum number of address bits from 28 to 48 hence the name 48-bit Logical Block Addressing.

    48-bit Logical Block Addressing (LBA) extends the capacity of IDE ATA/ATAPI devices beyond the limit of 137 GB imposed by the old ATA protocol. With 48-bit addressing the new limit is now a huge 144 petabytes (i.e. 144,000,000 GB).

    Thus 48-bit Logical Block Addressing (LBA) support for ATA Packet Interface (ATAPI) disk drives can enable the capacity of your hard disk to exceed the current 137 GB limit.

    You must meet the following requirements to use 48-bit LBA ATAPI support:

    • You must have a 48-bit LBA compatible BIOS.
      This can be either a 48-bit LBA capable motherboard OR 48-bit LBA capable add-on IDE controller.
      One such add-on IDE card is the Promise Ultra 100 TX2.

    • You must have a hard disk that has a capacity that is greater than 137 GB.

    • You must have Windows XP SP1 installed. WinXP pre SP1 will NOT work. Another alternative to WinXP SP1 is Win2k SP3.

    Cautionary note:
    If you do decide to re-install WinXP SP1 by installing XP and then updating to SP1, you may have a temporary situation where access to the hard drive may become an issue especially if your first partition exceeds 137 GB in size. It would be better to slipstream your XP CD to SP1. That way if you re-install XP it goes straight to XP SP1.

    If you meet the above three conditions, then to properly use your hard drive:
    You must enable the support in the Windows registry by adding or changing the EnableBigLba registry value to 1 in the following registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\atapi\Parameters

    To enable 48-bit LBA large-disk support in the registry:

    1. Start Registry Editor (Regedt32.exe).

    2. Locate and then click the following key in the registry:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Atapi\Parameters

    3. On the Edit menu, click Add Value, and then add the following registry value:
      Value name: EnableBigLba
      Data type: REG_DWORD
      Value data: 0x1

    4. Quit Registry Editor.


    For more information see:
    Microsoft Knowledge Base Article - 303013.
    48-Bit LBA Support for ATAPI Disk Drives in Windows 2000. - This describes what if scenarios - worth reading
    48bit LBA. The most comprehensive site on 48 Bit LBA with lots of information and Links.
    48bit LBA FAQ. They also have a decent FAQ page.
    Hard Drive Size Limitations and Barriers. - See subsection titled "How a BIOS handles Oversized Hard Disks".
    Maxtor - Knowledge Base Support
    Maxtor - White Paper - Drives greater than 137 GB
    Seagate - Disc Knowledge Base
    Seagate - Windows 137GB Capacity Barrier
    Seagate - Why can I only see 127 to 137 GBytes of my 160 GB drive in Windows 98SE?
    Microsoft - BIOS May Limit Fdisk When Partitioning Hard Disks Larger Than 128 GB
    Windows 98 & Large Hard Drives

  3. Intel Application accelerator.

  4. Alternatively, if you are one of the lucky ones to own an intel chipset motherboard then it is still possible to use greater than 137 GB hard drives on Win98. I have NOT tried this myself.

    You will still have problems with the scandisk limit at 127 GB. To get over this limit, ensure that you do not have any individual partition greater than 127 GB in size.

    Download and install the Intel Application accelerator. The Intel Application Accelerator provides 48-Bit LBA compliant ATA/ATAPI controller drivers (IntelATA.mpd) and replaces the Windows 98/Me, 2000 and XP ATA controller drivers (ESDI_506.PDR). Intel is the only chipset manufacturer that currently offers a compatible controller driver for Windows.

    At the time of writing this, the Intel Application Accelerator only supports the intel 8xx chipset series (more specifically the following chipsets: 810, 810E, 810E2, 810L, 815, 815EP, 815G, 815EG, 815P, 820, 820E, 840, 845, 845E, 845G, 845GE, 845GL, 845GV, 845PE, 850, 850E, 860).

    The Intel Application Accelerator can be obtained from here

    Cautionary note:
    If you do decide to re-install Win98 followed by the Intel Application accelerator, you may have a temporary situation where access to the hard drive may become an issue especially if your first partition exceeds 137 GB in size.

  5. Do NOT exceed 137 GB.

  6. If you do NOT meet the requirements necessary to use larger than 137 GB hard drives and you have a hard drive that exceeds this size then the only safest option is to partition it to create one or more more partitions upto the 137 GB limit ONLY (in fact lower still to 127 GB to ensure you do not have problems with the lower scandisk limit of 127 GB).
    LEAVE THE REST UNALLOCATED. You will avoid tears later.

Finally IF you decide to stay with Win98 using one of the options above, then:

  1. Download and use the updated FDISK.EXE utility program from Microsoft. Note fdisk does NOT support hard drives greater than 137 GB. For that you will need to use the partition utilities provided by the Hard drive manufacturer or other third party utilities.

  2. Keep your partiton sizes to 127GB or less (to avoid Scandisk and Defrag problems).

  3. Use the Windows 98 FORMAT.COM utility program to format your partitions. However, please note that while the formatting is in progress it will display an incorrect size for your partition. After formatting has finished, the summary screen will show the correct size that was formatted.

© MAK 2004
End of Document