NTFS Corruption on Drives Larger Than 4 GB When Using Windows NT ExtendOEMPartition

This article was previously published under Q185773
This article has been archived. It is offered "as is" and will no longer be updated.
SYMPTOMS
Using Winnt.exe unattended installation from an MS-DOS FAT partition on adrive exceeding 4 GB may cause NTFS corruption. Unattended installationparameters would be specified as follows in the Unattend.txt file:
   [Unattended]   OemPreinstall = yes   FileSystem = ConvertNTFS   ExtendOemPartition = 1				

When starting for the first time after the Windows NT installation iscomplete, NTFS corruption will be identified either by the inability tosuccessfully start because of missing or corrupted files or by thefollowing CHKDSK messages:

   CHKDSK is verifying indexes...   Correcting error in index %I30 for file 100   Correcting error in index %I30 for file 100   Index verification completed.   CHKDSK detected minor inconsistencies on the drive.   Errors found. CHKDSK cannot continue in read-only mode.				


If the corruption is severe enough, the computer may stop responding(hang) during the GUI-mode portion of setup or various other errormessages may also occur. These error messages vary from computer tocomputer, but usually concern file corruption or missing files on systemswhere the files actually do exist. The files are reported as damaged ormissing because the indexes for NTFS are not setup properly.
CAUSE
The problem is that the drive is larger than 4 GB. When conversion to theNTFS file system takes place, the mirror boot sector should be written tothe end of the disk, but the byte offset location was masked to within 4GB of hard drive space because of a 32-bit calculation. The incorrectcalculation causes the NTFS index buffer to be overwritten.
RESOLUTION
To resolve this problem, obtain the latest service pack for Windows NT 4.0 or Windows NT Server 4.0, Terminal Server Edition. For additional information, click the following article number to view the article in theMicrosoft Knowledge Base:
152734 How to Obtain the Latest Windows NT 4.0 Service Pack

NOTE: The Fastfat.sys file included with Service Pack 4 is required. In addition to the Fastfat.sys file, the following additional files must be obtained from the latest Windows NT 4.0 Service Pack (SP4 or later). The service pack should be of the same language as that being installed.

For I386 Platform:
Atapi.sys
Basesrv.dll
Hal.dll
Hal486c.dll
Halapic.dll
Halast.dll
Halcbus.dll
Halcbusm.dll
Halmca.dll
Halmps.dll
Halmpsm.dll
Haloli.dll
Halsp.dll
Halwyse7.dll
Ntdll.dll
Ntoskrnl.exe
Ntkrnlmp.exe
Win32k.sys
User32.dll
Kernel32.dll
Gdi32.dll
Winsrv.dll


For Alpha Platform:
halgammp.dll
halpinna.dll
halrawmp.dll
halsabmp.dll
Ntdll.dll
Ntoskrnl.exe
Ntkrnlmp.exe
Win32k.sys
User32.dll
Kernel32.dll
Gdi32.dll
Winsrv.dll

How to Install

  1. Start the computer in MS-DOS mode and prepare the drive for Windows NT unattended installation as usual. This includes copying the .\I386 or .\Alpha directory from the Windows NT compact disc to the install directory on the C: drive.
  2. Copy the fix files into a temporary directory.
  3. Apply the fix files and required Service Pack 3+ dependency files to the install directory on the C: drive. The service pack CD should be that of the same language as that being installed. Since the Service Pack CDs are in Windows NT unicode format, they can not be read directly from MS-DOS. The Service Pack files may need to be transferred from a Windows NT system capable of reading the Service Pack CD or the SP files can be read directly using MS-DOS from the Enterprise Server CD in the "\SP3\i386" or "\SP3\Alpha" directory. The Service Pack dependency files are listed above. This step can be performed automatically using the OEMSETUP.BAT batch file, if you have the dependency files in a DOS readable format. Otherwise, you will need to perform this step manually.

    Intel Platform: Step Three Instructions

    BATCH File Option

    From the temporary directory, run OEMSETUP.BAT specifying both the source Service Pack directory and the target install directory. For example: (assume D: is a Service Pack directory and C:\I386 is the install directory)

    OEMSETUP D:\SP3\I386 C:\I386

    This will copy the necessary files to the I386 and to C:\I386\SYSTEM32 directories on the C drive where the installation directory is located.

    Manual Option

    You can also perform this step manually. First, copy FASTFAT.SYS from the fix to the C:\I386 install directory, then copy the following files from the latest NT 4.0 Service Pack to the C:\I386 and C:\I386\SYSTEM32 directories as denoted below:
         Atapi.sys       -> ..\I386     Basesrv.dll     -> ..\I386     Fastfat.sys     -> ..\I386     Hal.dll         -> ..\I386     Hal486c.dll     -> ..\I386     Halapic.dll     -> ..\I386     Halast.dll      -> ..\I386     Halcbus.dll     -> ..\I386     Halcbusm.dll    -> ..\I386     Halmca.dll      -> ..\I386     Halmps.dll      -> ..\I386     Halmpsm.dll     -> ..\I386     Haloli.dll      -> ..\I386     Halsp.dll       -> ..\I386     Halwyse7.dll    -> ..\I386     Ntdll.dll       -> ..\I386 and  -> ..\I386\SYSTEM32     Ntoskrnl.exe    -> ..\I386     Ntkrnlmp.exe    -> ..\I386     Win32k.sys      -> ..\I386     User32.dll      -> ..\I386     Kernel32.dll    -> ..\I386     Gdi32.dll       -> ..\I386     Winsrv.dll      -> ..\I386						

    Then remove the compressed versions of these files from the C:\I386 and C:\I386\SYSTEM32 directories. Compressed files are identified by the last character of the file type containing an underscore ("_"). For example delete FASTFAT.SY_, HAL.DL_, NTDLL.DL_, NTOSKRNL.EX_, etc.

    Alpha Platform: Step 3 Instructions

    BATCH File Option

    From the temporary directory, run OEMSETUP.BAT specifying both the source Service Pack directory and the target install directory. For example (assume D: is a Service Pack directory and C:\Alpha is the install directory):

    OEMSETUP D:\SP3\Alpha C:\Alpha

    This will copy the necessary files to the Alpha and C:\Alpha\SYSTEM32 directories on the C: drive where the installation directory is located.

    Manual Option

    You can also perform this step manually by first copying FASTFAT.SYS from the fix to the C:\Alpha install directory then copy the following files from the latest NT 4.0 Service Pack to the C:\Alpha and C:\Alpha\SYSTEM32 directories as denoted below:
          Fastfat.sys     -> ..\Alpha      Halgammp.dll    -> ..\Alpha      Halpinna.dll    -> ..\Alpha      Halrawmp.dll    -> ..\Alpha      Halsabmp.dll    -> ..\Alpha      Ntdll.dll       -> ..\Alpha and  -> ..\Alpha\SYSTEM32      Ntoskrnl.exe    -> ..\Alpha      Ntkrnlmp.exe    -> ..\Alpha      Win32k.sys      -> ..\Alpha      User32.dll      -> ..\Alpha      Kernel32.dll    -> ..\Alpha      Gdi32.dll       -> ..\Alpha      Winsrv.dll      -> ..\Alpha						
STATUS
Microsoft has confirmed that this is a problem in Windows NT 4.0 and Windows NT Server 4.0, Terminal Server Edition. This problem was first corrected in Windows NT 4.0 Service Pack 4.0 and Windows NT Server 4.0, Terminal Server Edition Service Pack 4.
Properties

Article ID: 185773 - Last Review: 12/05/2015 08:40:37 - Revision: 2.2

Microsoft Windows NT Server 4.0, Terminal Server Edition, Microsoft Windows NT Workstation 4.0 Developer Edition, Microsoft Windows NT Server 4.0 Standard Edition

  • kbnosurvey kbarchive kbhotfixserver kbqfe kbbug kbfix kbqfe KB185773
Feedback