Windows NT 4.0 Large HDD Information.

Introduction:

I see a lot of people having trouble installing NT 4.0 on large Hard Disk Drives. Some of the problems are caused by limitations of the ATAPI.SYS driver originally supplied with NT4.0 (and as a result only affect I.D.E. Hard Disk Drives, not S.C.S.I.), other problems are caused by restrictions of the file systems being used.

Four Microsoft Knowledgebase articles are often quoted in the microsoft.windows.nt.xx newsgroups relating to the problems:

I'd like to nominate some more articles to add to this list:
Article 154052 - "Explanation of x86 Boot Drive Limitations" details WHY the rules in the other Knowledgebase articles apply. It is important that you understand these restrictions before attempting to install NT 4.0 on a machine.

Important Note: There is a typographical error in knowledgebase article 154052 - the corrected text (in red) is presented below:

  • "If the disk controller is using a 32 sector/64 head translation scheme, this boundary will be 1 GB. If the controller uses 63 sector/255 head translation, the limit will be 7.8 GB. (63 sectors x 255 heads x 1024 tracks x 512 Bytes/sector = 8422686720 Bytes) If there is a secondary controller that does not have BIOS enabled, Windows NT will default to 32 sectors/64 heads. In some cases, such as duplexing, this may cause identical drives on different controllers to be interpreted as being slightly different in size."

  • Hardware Limitations

    Most modern ATA (I.D.E.) controllers and hard disks use Logical Block Addressing (LBA) to bypass the limitations of the older Cylinder/Head/Sector (CHS) addressing scheme. CHS could address a maximum of 504MB, assuming 512 Byte sectors. (1024 Cylinders x 16 Heads x 63 Sectors x 512 Bytes/sector = 528,482,304 Bytes)

    Since LBA uses a 28 bit address (as a sector count), the maximum accessible disk space using this scheme is 2^28 sectors, which equates to theoretical maximum of 137,438,953,472 Bytes (137GB), assuming 512 Byte sectors.

    The latest version of the ATA standard (ATA-6) revised the LBA addressing scheme to 48 bits to support even larger disk sizes. (Theoretical maximum disk size = 144,115,188,075,855,872 Bytes = 131,072TB) The Microsoft supplied ATAPI.SYS driver DOES NOT correctly function on this 48 bit scheme. Attempting to create or use disk geometry above the 137GB barrier on NT4 without properly functional driver support creates a high risk of data loss - proceed with extreme caution.

    Third party controller hardware, hard disk drives and NT4 drivers are available that can circumvent the 137GB limitation and allow 48 bit LBA addressing. Provided the driver support is correct, NT4 can fully utilise the space provided.

    A totally new, open source Universal ATA driver for Windows NT3.51/NT4/2000/XP (With PATA/SATA support and LBA48 support) is available from Alter.org.ua This driver may provide superior performance on your hardware than the Microsoft supplied atapi.sys, and can fully utilise ATA-6 LBA48 (ie: >137GB) hard disk drives.

    DO NOT believe reports that NT4 has insurmountable hard disk drive size limits. The NTFS file system can support a partition (and in fact single file) to a maximum size of 2^64 Bytes. (equals 16 ExaBytes or 18,446,744,073,709,551,616 Bytes) Other hardware and physical restrictions usually mean that a partition of this magnitude cannot be practically realised - but sizes large enough for the foreseeable storage needs of most modern systems can be easily created.


    A Solution.

    I find the simplest method of obtaining the correct result when installing NT 4.0 on large hard disks is to use a third party partitioning tool to configure some of the HDD partitions prior to starting NT4 installation. My usual choice is GDisk from Symantec Ghost packages - it isn't very friendly at all (it has a command line interface) but it seems to be able to cope with just about any disk geometry you can throw at it. I'm certain that many other partitioning tools could be used to perform this task - ask in the newsgroups if you are having trouble picking a suitable product.

    Alternately, you can temporarily add the HDD to a functioning NT4 (must be SP5 or later) machine and use Disk Administrator to create your partition layout on the disk.

    CAUTION: If you are using a Win2k machine or later DO NOT attempt to format any of the partitions created. Win2k and above use a newer form of NTFS which is incompatible with NT4. (at least until NT4 is advanced to at least SP5)

    DO NOT try to use the partitioning features of an original NT4 setup floppy disk set / CD. It is not capable of dealing with HDDs that exceed the 7.8GB size limit and will cause BIG problems.

    My normal procedure (assuming a blank HDD):

    (If the following 'word picture' is difficult to visualise, see the 'Disk Administrator Map' below.)
    1. Make a <2GB primary FAT partition - this is the system partition for the machine.
    2. Make an extended partition occupying the remainder of the HDD space.
    3. Define the first logical drive in the extended partition as max 2GB (min probably about 400MB, or NT will outgrow it REAL fast), unformatted - this will be the boot partition for the machine.
    4. Leave the rest of the HDD alone for the moment.
    5. If you require to be able to 'Dual Boot' into DOS or other OS on the primary partition, install it now.
    6. Run NT4 install using the startup floppies and CD as normal. (or boot directly from the CD if capable) Specify the unformatted (or formatted if big NTFS) logical drive you created before in step 3 (ie: first logical drive in extended partition) as the location for NT4 files - this will be the boot partition. You can choose FAT or NTFS here - I usually go for NTFS to get the benefits of file security - the downside is the NTFS partition is more difficult to patch if you break NT4 and have to manually replace files.
    7. Once NT4 base installation is complete (the text setup stage is followed by a reboot, a GUI setup stage and another reboot to complete), immediately run SP6a - it will need a reboot after.
    8. Once NT4 (with SP6a) is up and running, you can now use WinNT disk administrator to allocate and format the other logical partitions (and allocate drive letters) however you like in the extended partition you created in step 2.


    Here is a 'Disk Administrator Map' of what the finished layout should look like:


    Other Options:

    If you prefer, the system and boot partitions can be combined into a single partition. The same size rules still apply. I usually prefer the separate partitions approach merely because you can then have the boot partition formatted in NTFS and still have a system partition in FAT16 format. This makes repair of a failed system slightly simpler.

    For descriptions of the correct terminology of system and boot partitions, see Microsoft Knowledgebase article:

    100525 - Definition of System and Boot Partition


    Conclusion:

    As shown in the diagram above, ATA (I.D.E.) drives of sizes up to 137GB can be utilised fully as described. As explained previously, suitable hardware allows the breaking of the 137GB barrier, and the creation of extremely large storage solutions that can fully realise the potential of the NTFS file system.


    Acknowledgements:

    Thanks to Alter and Kiilk for additions and corrections on this page.


    Back to Index

    All promotional photographs and advertising material, corporate names and logos, product names, trade names, trademarks and registered trademarks are the property of their respective owners, and are acknowledged as such.
    This information is maintained by ZCM Services, Australia. Whilst every care is taken in preparation, I accept no responsibility for errors or omissions. Use the information presented on this site AT YOUR OWN RISK.
    Last Update April 7, 2010 at 8:35 PMAEST.