fallen.jpg (1857 bytes)bahzone.iii.gif (3834 bytes)hfn2.v.GIF (3710 bytes)

Please see "Installing NT to an NTFS partition larger than 4GB" at Powerquest.

This page last updated on October 04, 2003 12:09 AM.

Copyright © 1997, 1998, 1999 Hammond Family Network

Bahzone!

Mh_on.gif (2919 bytes)

Installing NT to an NTFS partition larger than 4GB

by Russ Marsh, Developer

Many NT users have experienced the frustration of not being able to install NT to a partition larger than 4GB. This article will explore the source of this 4GB limitation and suggest some ways to install NT to partitions as large as 7.8GB.

NT can be installed to either a FAT or an NTFS partition. While each file system has an entirely different set of characteristics, both are subject to the 4GB boundary when it comes to booting NT. As we will see, it is possible to create bootable NTFS partitions as large as 7.8GB. But to lay the groundwork, it may prove useful to explore the sources of the 4GB and 7.8GB limitations.

DOS/FAT LIMITATION (2GB)

The largest cluster size that DOS can address is 32KB. When we combine this with the fact that the FAT can only reference 2^16 (65536) clusters, we end up with a limitation for FAT partitions running under DOS of (65536 * 32KB) = 2GB.

NT EXTENDS FAT (4GB)

NT extended its FAT support to include 64KB clusters (compared with 32KB in DOS FAT). Doubling the cluster size for the same number of clusters (65536) means that NT supports FAT partitions up to 4GB. Note that any partition created with 64KB clusters will not be accessible to DOS/WIN95.

BIOS LIMITATION (7.8GB)

The most rigid boundary for NT boot partitions exists at 7.8GB. Currently, no way has been devised to transcend 7.8GB. This boundary exists because of limitations in the system BIOS, specifically in the Int 13h disk read/write API. Int 13h functions address the disk by specifying the (C)ylinder, (H)ead, and (S)ector address to be read (or written). The maximum value for each is:

Cylinders: 1024 (0-1023)
Heads: 256 (0-255)
Sectors: 63 (1-63)

Thus, we end up with (1023 * 256 * 63) sectors, or 7.8GBs of disk space addressable by the system BIOS.

This BIOS limitation becomes significant during the boot process because Int13h is the only method of disk I/O available before an operating system has been loaded. Therefore, if an operating system is going to be loaded, it better reside in the first 7.8GBs of disk space.

NT SETUP PLAYS A ROLE TOO

During the NT setup, the user is prompted for the location at which to install NT. The following screen then appears:

Format the partition using the FAT file system

Format the partition using the NTFS file system

Leave the current file system intact (no changes)

FORMATING WITH FAT

By choosing to format with FAT, the user has no choice but to live with the 4GB upper limit. FAT simply cannot be larger than 4GB. 

FORMATING WITH NTFS

To understand why the above is true, it first needs to be understood that the NT setup program executes in the early stages without NTFS support. If the user selects an NTFS format, setup initially installs itself into a FAT partition. Then after the first reboot, the partition is converted from FAT to NTFS. Because of its original status as a FAT partition, it inherits the 4GB FAT restriction.

LEAVE THE CURRENT FILE SYSTEM INTACT

Leaving the current files system intact means that the user selected a partition that was already formatted with either FAT or NTFS. Choosing this option uses the file system as is.

SO HOW CAN WE GET ABOVE 4GB ON AN NT BOOT PARTITION?

Method 1: Before beginning the NT setup process, pre-format the target disk space as an NTFS partition no larger than 7.8GB (see instructions below). Then when prompted during the NT install, choose:

Leave the current file system intact (no changes)

The NT setup process will not have any problem installing into the pre-formatted partition.

There is a catch, however. It takes some work to get the NTFS partition pre-formatted in the first place. The difficulty arises because we need NT to be running in order to format an NTFS partition on which to install NT (chicken and egg). This can be overcome in one of the following ways:

- Place the target hard drive in another NT workstation as a slave drive. Boot the master NT and format the slave as NTFS (not to exceed 7.8GB). Return the slave drive to its home workstation as master. Then proceed with a normal NT install and choose ‘Leave the current file system intact.’

- Install a skeletal NT to your drive. Boot into the skeletal NT install long enough to format the remainder of the drive as NTFS. Install NT to the newly formatted NTFS drive. Delete the minimal install and use PartitionMagic to expand the NTFS drive as large as 7.8GB.

For both of the above cases, the user will have to copy the following files to the new partition in order for it to be bootable: ntldr, ntdetect.com, boot.ini, and for SCSI systems also include ntbootdd.sys.

Method 2: Use Drive Image to create an image of a fully configured, bootable NTFS partition of any size less than 7.8GB. Then use Drive Image to restore the image to as many hard drives as desired. Drive Image can resize the partition as it copies it to the target. It will not resize it above 7.8GB. 

A resize on image restore of a bootable NT partition will also invalidate the NTFS journal file. However, since the partition is bootable, NT will repair the journal file on the next reboot.