How to fix Windows NT 4.0's 7.8 GB System Partition limitation
Created: Jan 7, 2003
Updated: Mar 7, 2005
Introduction
If you replace a harddisk from a NT 4.0 machine using Symantec Ghost or
PowerQuest Drive Image, most of the time the new harddisk is a lot bigger than
the old one. Normally with NT 4.0 you have to "clone" the NTFS system
partition within the 7.8 GB limit. But not anymore...
This page will show you how you can use Windows 2000 or XP's bootsector,
ntldr and
ntdetect.com to fix NT 4.0's 7.8 GB system
partition limitation.
To pull this off you'll need a tool, mkbt.exe created by Bart Lagerweij.
For more information on mkbt check the
mkbt page.
Mkbt.exe is used to extract or install FAT and NTFS partition boot sector(s).
Technical
Although Windows NT 4.0 can in theory support partitions of up to 16 exabytes
in size using the NTFS file system, the maximum size of the system partition
is limited to 7.8 gigabytes (GB).
What is the system partition?
The system partition is defined as the partition containing the files needed
for the initial system startup. For Windows NT, the files are Ntdetect.com,
NTLDR, Boot.ini, and sometimes Ntbootdd.sys
Why the 7.8 GB limit?
During the bootstrap process, Windows NT 4.0 uses INT13 BIOS functions to
access the drive. The INT13 functions have a maximum of 256 heads, 1024
cylinders, and 63 sectors. This is approximately 7.8 GB (512 bytes per
sector).
NOTE: Partitions other than the system partition are not affected by the these
limitations.
When trying to boot with ntldr located passed the 7.8GB limit you will get
this error message:
Os Loader V4.01
.Disk I/O error: Status = 00000001
Windows NT could not start because the following file is missing or corrupt:
\system32\ntoskrnl.exe.
Please re-install a copy of the above file.
|
More information about this:
Windows NT 4.0 Supports Maximum of 7.8-GB System Partition
Microsoft Knowledge Base Article - 224526
Windows NT Boot Process and Hard Disk Constraints
Microsoft Knowledge Base Article - 114841
Installation
The steps to fix NT4.0 are:
-
Download mkbt.exe from the mkbt page and put in on a floppy disk.
-
On a Windows 2000 or XP PC copy ntldr and ntdetect.com. They are normally
located in the c:\ folder and hidden. Copy them to a floppy disk. Use mkbt.exe
to extract the NTFS boot sector(s). A bootable NTFS partition uses the first
16 sectors to store the bootstrap loader.
Use this command to extract the NTFS bootstrap loader and save it to floppy disk:
mkbt -x -c c: a:\bootsect.bin
The -c option is for "copy" mode.
The -x option is for "expert" mode, in standard mode mkbt only accepts floppy drives "a:" and "b:"
-
Goto to the "limited" NT 4.0 system, boot it and login as administrator.
Rename the existing ntldr into ntldr.nt4
Rename the existing ntdetect.com into ntdetect.nt4
Copy the ntldr and ntdetect.com from the floppy disk on the NT 4.0 system partition, normally "c:\".
Use this command to make a backup of the current boot sector:
mkbt -x -c c: a:\bootsect.nt4
Use this command to install the NTFS bootstrap loader from floppy disk:
mkbt -x a:\bootsect.bin c:
-
If your NT 4.0 machine uses a fixed NT boot disk driver ntbootdd.sys
(will have "scsi" entries in your boot.ini) you must also update that to a
Windows 2000 or XP version.
Done. You can now reboot the system and see if it boot's up OK.
With the Windows 2000 or XP bootstrap loader your Windows NT 4.0 machine can
have a system partition of 2TB. This is the maximum partition value.
Remarks
- THIS PROCEDURE IS PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND, USE AT YOUR OWN RISK!
For more information check the Nu2 license.
- Don't mix languages. If you use Windows NT 4.0 English and you install the
bootsector, ntldr and ntdetect.com in Dutch language you will get a kernel
load error message.
- Installing NT 4.0 Service Pack will overwrite
the ntldr and ntdetect.com! So you must update these files again!
- I have tested the above on a Windows NT 4.0 machine with a 40GB harddisk.
- I don't know if Microsoft supports this, so maybe you can get into trouble
whenever you talk to a Microsoft support engineer.
- The second copy of the NTFS boot sector is not changed, maybe next version
of mkbt.exe will also update that.
- If your Windows NT 4.0 machine doesn't boot anymore because the boot files
are located passed the 7.8GB location on disk, you have 2 options:
- Create a generic Windows 2000 or XP bootdisk on another machine (see here) and boot it.
- Boot BartPE (Bootable CD-Rom).