您目前已離線,請等候您的網際網路重新連線

當使用 Windows NT ExtendOEMPartition 時在超過 4 GB 的磁碟機上發生 NTFS 損毀

徵狀
在超過 4 GB 的磁碟機上,由 MS-DOS FAT 磁碟分割使用 Winnt.exe 自動安裝會造成 NTFS 損毀。在 Unattend.txt 檔案中,自動安裝的參數會指定如下:
   [Unattended]   OemPreinstall = yes   FileSystem = ConvertNTFS   ExtendOemPartition = 1				

當 Windows NT 安裝完成後首次啟動時,您可以由遺失或檔案損毀以致無法成功啟動的情形,或是出現下列 CHKDSK 訊息的情形,辨識出有 NTFS 損毀的狀況:

CHKDSK 正在檢查索引...修正檔案 100 的索引 %I30 錯誤修正檔案 100 的索引 %I30 錯誤索引檢查完成。CHKDSK 偵測到磁碟機上含有輕微的不一致性。發現錯誤。CHKDSK 無法以唯讀模式繼續。				


如果損毀相當嚴重,在安裝程式進行到 GUI 模式部份期間,電腦可能會停止回應 (擱置),或是同時發生各種其他的錯誤訊息。這些錯誤訊息會因電腦而不同,但是通常與系統上的檔案損毀有關,或與確實存在但被視為遺失的檔案有關。系統會回報檔案損壞或遺失的原因,是由於 NTFS 的索引並未正確安裝。
發生的原因
問題在於磁碟機大於 4 GB。當開始轉換至 NTFS 檔案系統時,鏡像開機磁區應該寫入磁碟的結尾處,但是由於 32 位元的計算方式,位元組的位移位置會遮罩在 4 GB 的硬碟空間內。不正確的計算方式會造成 NTFS 索引緩衝區被覆寫。
解決方案
如果要解決此問題,請取得 Windows NT 4.0 或 Windows NT Server 4.0 Terminal Server Edition 最新版的 Service Pack。如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
152734 如何取得最新版的 Windows NT 4.0 Service Pack

注意:包含在 Service Pack 4 中的 Fastfat.sys 是必要的檔案。除了 Fastfat.sys 檔案以外,下列其他的檔案也都必須從最新的 Windows NT 4.0 Service Pack (SP4 或更新) 取得。Service Pack 的語言必須與已安裝的語言相同。

針對 I386 平台:
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


針對 Alpha 平台:
halgammp.dll
halpinna.dll
halrawmp.dll
halsabmp.dll
Ntdll.dll
Ntoskrnl.exe
Ntkrnlmp.exe
Win32k.sys
User32.dll
Kernel32.dll
Gdi32.dll
Winsrv.dll

如何安裝

  1. 將電腦啟動至 MS-DOS 模式,並且以一般的方式準備要進行 Windows NT 自動安裝的磁碟機。這其中包括了從 Windows NT 光碟上將 .\I386 或 .\Alpha 目錄複製到 C: 磁碟機的安裝目錄中。
  2. 將修正程式檔案複製到暫時目錄中。
  3. 將修正程式檔案和必要的 Service Pack 3+ 相依檔案套用至 C: 磁碟機的安裝目錄中。Service Pack 光碟的語言必須與已安裝的語言相同。因為 Service Pack 光碟使用 Windows NT Unicode 格式,所以無法直接從 MS-DOS 讀取。您可能需要從能夠讀取 Service Pack 光碟的 Windows NT 系統上將 Service Pack 檔案傳輸出來,或是從 Enterprise Server 光碟的 \SP3\i386 或 \SP3\Alpha 目錄使用 MS-DOS 直接讀取 SP 檔案。Service Pack 相依檔案即如上述所示。如果相依檔案使用的是 DOS 能夠讀取的格式,則您可以使用 OEMSETUP.BAT 批次檔案自動執行本步驟。否則,就需要手動執行本步驟。

    Intel 平台:步驟 3 指令

    批次檔案選項

    在暫時目錄中,執行 OEMSETUP.BAT 同時指定來源 Service Pack 目錄與目標安裝目錄。例如 (假設 D: 是 Service Pack 目錄,而 C:\I386 是安裝目錄):

    OEMSETUP D:\SP3\I386 C:\I386

    如此一來,就會將必要的檔案複製到安裝目錄所在之 C 磁碟機上的 I386 以及 C:\I386\SYSTEM32 目錄。

    手動選項

    您也可以手動執行本步驟。首先,將 FASTFAT.SYS 從修正程式複製到 C:\I386 安裝目錄,然後將下列檔案從最新的 NT 4.0 Service Pack 複製到如下所示的 C:\I386 和 C:\I386\SYSTEM32 目錄:
    Atapi.sys       -> ..\I386Basesrv.dll     -> ..\I386Fastfat.sys     -> ..\I386Hal.dll         -> ..\I386Hal486c.dll     -> ..\I386Halapic.dll     -> ..\I386Halast.dll      -> ..\I386Halcbus.dll     -> ..\I386Halcbusm.dll    -> ..\I386Halmca.dll      -> ..\I386Halmps.dll      -> ..\I386Halmpsm.dll     -> ..\I386Haloli.dll      -> ..\I386Halsp.dll       -> ..\I386Halwyse7.dll    -> ..\I386Ntdll.dll       -> ..\I386 及  -> ..\I386\SYSTEM32Ntoskrnl.exe    -> ..\I386Ntkrnlmp.exe    -> ..\I386Win32k.sys      -> ..\I386User32.dll      -> ..\I386Kernel32.dll    -> ..\I386Gdi32.dll       -> ..\I386Winsrv.dll      -> ..\I386						

    然後,從 C:\I386 和 C:\I386\SYSTEM32 目錄移除這些檔案的壓縮版本。壓縮檔案在檔案類型的最後一個字元為底線 (「_」) 以資識別。例如,請刪除 FASTFAT.SY_、HAL.DL_、NTDLL.DL_ 和 NTOSKRNL.EX_ 等檔案。

    Alpha 平台:步驟 3 指令

    批次檔案選項

    在暫時目錄中,執行 OEMSETUP.BAT 同時指定來源 Service Pack 目錄與目標安裝目錄。例如 (假設 D: 是 Service Pack 目錄,而 C:\Alpha 是安裝目錄):

    OEMSETUP D:\SP3\Alpha C:\Alpha

    如此一來,就會將必要的檔案複製到安裝目錄所在之 C: 磁碟機上的 Alpha 以及 C:\Alpha\SYSTEM32 目錄。

    手動選項

    您也可以手動執行本步驟,首先將 FASTFAT.SYS 從修正程式複製到 C:\Alpha 安裝目錄,然後將下列檔案從最新的 NT 4.0 Service Pack 複製到下列指示的 C:\Alpha 和 C:\Alpha\SYSTEM32 目錄:
    Fastfat.sys     -> ..\AlphaHalgammp.dll    -> ..\AlphaHalpinna.dll    -> ..\AlphaHalrawmp.dll    -> ..\AlphaHalsabmp.dll    -> ..\AlphaNtdll.dll       -> ..\Alpha 及  -> ..\Alpha\SYSTEM32Ntoskrnl.exe    -> ..\AlphaNtkrnlmp.exe    -> ..\AlphaWin32k.sys      -> ..\AlphaUser32.dll      -> ..\AlphaKernel32.dll    -> ..\AlphaGdi32.dll       -> ..\AlphaWinsrv.dll      -> ..\Alpha						
狀況說明
Microsoft 已確認 Windows NT 4.0 和 Windows NT Server 4.0 Terminal Server Edition 產品確實有上述問題。 這個問題已經在 Windows NT 4.0 Service Pack 4.0 和 Windows NT Server 4.0 Terminal Server Edition Service Pack 4 中首次獲得修正。
內容

文章識別碼:185773 - 最後檢閱時間:03/29/2006 07:36:55 - 修訂: 1.2

  • Microsoft Windows NT Server 4.0 Terminal Server
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 4.0 Standard Edition
  • kbqfe kbhotfixserver kbbug kbfix KB185773
意見反應