NTFS Corruption on Drives > 4 GB Using ExtendOEMPartition


PSS ID Number: Q185773
Article last modified on 04-10-1999
 
WinNT:4.0
 
winnt
 

======================================================================
-------------------------------------------------------------------------------
The information in this article applies to:
 
 - Microsoft Windows NT Workstation version 4.0 
 - Microsoft Windows NT Server version 4.0 
 - Microsoft Windows NT Server version 4.0, Terminal Server Edition 
-------------------------------------------------------------------------------
 
SYMPTOMS
========
 
Using Winnt.exe unattended installation from an MS-DOS FAT partition on a drive
exceeding 4 GB may cause NTFS corruption. Unattended installation parameters
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 is complete,
NTFS corruption will be identified either by the inability to successfully start
because of missing or corrupted files or by the following 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 error messages may also
occur. These error messages vary from computer to computer, but usually concern
file corruption or missing files on systems where the files actually do exist.
The files are reported as damaged or missing because the indexes for NTFS are
not setup properly.
 
CAUSE
=====
 
The problem is that the drive is larger than 4 GB. When conversion to the NTFS
file system takes place, the mirror boot sector should be written to the end of
the disk, but the byte offset location was masked to within 4 GB of hard drive
space because of a 32-bit calculation. The incorrect calculation 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,
please see the following article in the Microsoft Knowledge Base:
 
   Q152734 How to Obtain the Latest Windows NT 4.0 Service Pack
 
NOTE: In addition to the above file, the following additional files must be
obtained from the latest Windows NT 4.0 Service Pack (SP3 or greater). The
service pack should be of the same language as that being installed.
 
For I386 Platform:
 
   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:
 
     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 this to be 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.
 
======================================================================
Keywords          : NT4SP4Fix kbbug4.00 kbfix4.00.sp4 
Version           : WinNT:4.0
Platform          : winnt
Issue type        : kbbug
Solution Type     : kbfix
=============================================================================
Copyright Microsoft Corporation 1999.

(c)2000 Dipl.-Inform. Thomas Fakler - zuletzt geändert 20.12.2000