文章編號: 307545 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

本文說明如何修復因登錄損毀而無法啟動的 Windows XP 系統。此程序不保證可以將系統完整地復原為先前的狀態,但使用這個程序應該可以修復資料。

警告 如果您的電腦使用 OEM 安裝的作業系統,請勿使用本文所述的程序。OEM 安裝上的系統 Hive 會建立先前不存在的密碼和使用者帳戶。如果您使用本文所述的程序,可能無法登入回修復主控台以修復原始的登錄 Hive。

您可以修復 Windows XP 中損毀的登錄。損毀的登錄檔案可能會造成各種不同的錯誤訊息。如需與登錄問題相關錯誤訊息的文章,請參閱「Microsoft 知識庫」。

本文假設一般的修復方法已經失敗,並且只能使用修復主控台存取系統。如果有「系統自動修復」(ASR) 備份存在,則會最理想的修復方法。Microsoft 建議您先使用 ASR 備份之後,再嘗試本文所述的程序。

注意 請務必取代所有的五個登錄 Hive。如果您只取代一或兩個 Hive,這可能會產生問題,因為軟體和硬體可能會在登錄的多個位置中具有設定。

其他相關資訊

當您嘗試啟動或重新啟動 Windows XP 電腦時,可能會收到下列其中一個錯誤訊息:
Windows XP 無法啟動,因為下列檔案遺失或損毀:\WINDOWS\SYSTEM32\CONFIG\SYSTEM
Windows XP 無法啟動,因為下列檔案遺失或損毀:\WINDOWS\SYSTEM32\CONFIG\SOFTWARE
停止:c0000218 {登錄檔案失敗} 登錄無法載入 Hive 檔案:\SystemRoot\System32\Config\SOFTWARE 或它的記錄檔或替代資料。
系統錯誤:Lsass.exe
當試圖更新密碼時,這個傳回狀態表示所提供的目前密碼數值不正確。

修復造成 Windows XP 無法啟動的損毀登錄

本文所述的程序將會使用修復主控台和系統還原。並會依照特定順序列出所有必要的步驟,以確保整個程序能夠順利完成。完成這項程序之後,系統將會恢復至與發生問題之前相當接近的狀態。如果您已經執行過 NTBackup 並完成了系統狀態備份,就不需要進行第二部分及第三部分的程序,請直接移至第四部分。

第一部分

在第一部分中,您會啟動修復主控台,並建立暫存資料夾,再將現有的登錄檔案備份到新的位置,然後刪除現有位置上的登錄檔案,再從 Repair 資料夾中將登錄檔案複製到 System32\Config 資料夾。完成這個程序時,您就建立了可以用來啟動 Windows XP 的登錄。這個登錄原本是在 Windows XP 的初始安裝期間所建立並儲存的。因此,在安裝程式完成之後所進行的任何變更及設定都會遺失。

請依照下列步驟執行,完成第一部分:
  1. 將 Windows XP 開機磁片插入軟碟機,或將 Windows XP 光碟插入光碟機,然後重新啟動電腦。
    如果出現提示,請選取從光碟機啟動電腦所需要的任何選項。
  2. 出現「歡迎使用安裝程式」畫面時,請按下 R 以啟動修復主控台。
  3. 如果您的電腦使用雙開機方式或多開機方式,請從修復主控台選取您必須使用的安裝。
  4. 出現提示時,請輸入系統管理員的密碼。如果系統管理員密碼是空白,請按下 ENTER。
  5. 在修復主控台的命令提示字元中輸入下列命令列,並在輸入每行之後按下 ENTER:
    md tmp
    copy c:\windows\system32\config\system c:\windows\tmp\system.bak
    copy c:\windows\system32\config\software c:\windows\tmp\software.bak
    copy c:\windows\system32\config\sam c:\windows\tmp\sam.bak
    copy c:\windows\system32\config\security c:\windows\tmp\security.bak
    copy c:\windows\system32\config\default c:\windows\tmp\default.bak

    delete c:\windows\system32\config\system
    delete c:\windows\system32\config\software
    delete c:\windows\system32\config\sam
    delete c:\windows\system32\config\security
    delete c:\windows\system32\config\default

    copy c:\windows\repair\system c:\windows\system32\config\system
    copy c:\windows\repair\software c:\windows\system32\config\software
    copy c:\windows\repair\sam c:\windows\system32\config\sam
    copy c:\windows\repair\security c:\windows\system32\config\security
    copy c:\windows\repair\default c:\windows\system32\config\default
  6. 輸入 exit 以結束修復主控台。您的電腦會重新啟動。
注意 這項程序假設您將 Windows XP 安裝在 C:\Windows 資料夾中。如果是不同位置的話,請務必將 C:\Windows 切換至適當的 windows_folder

若要節省時間,如果您擁有其他台電腦的存取權,您可以複製步驟 5 中的文字,然後建立一個名為 Regcopy1.txt 的文字檔 (舉例)。如果要使用這個檔案,請在啟動修復主控台之後執行下列命令:
batch regcopy1.txt
修復主控台中的 batch 命令可以讓您依序執行文字檔案中的所有命令。您只要使用 batch 命令,就可以不用手動輸入每一道命令。

第二部分

為了完成本節所描述的程序,您必須以系統管理員或系統管理使用者 (在系統管理員群組中具有帳戶的使用者) 的身分登入。如果您使用的是 Windows XP Home Edition,則可以使用系統管理使用者的身分登入。如果您以系統管理員的身分登入,則必須先以安全模式啟動 Windows XP Home Edition。如果要以安全模式啟動 Windows XP Home Edition 的電腦,請依照下列步驟執行。

注意 在您繼續進行之前,請先將這些指示列印出來。以安全模式重新啟動電腦之後,將無法檢視這些指示。如果您使用的是 NTFS 檔案系統,請將「Microsoft 知識庫」文件 KB309531 中的指示一併列印出來,稍後進行步驟 7 時,您可能會需要參考這份文件。
  1. 按一下 [開始],按一下 [關機] (或按一下 [電腦關機]),按一下 [重新啟動],然後按一下 [確定] (或按一下 [重新啟動])。
  2. 按下 F8。

    如果您的電腦已設定為多重作業系統開機,則可以在看到 [啟動] 功能表出現時按下 F8 鍵。
  3. 使用方向鍵選取適當的安全模式選項,然後按下 ENTER。
  4. 如果您的系統具有雙重開機或多重開機模式,請使用方向鍵選取您想要存取的安裝版本,再按下 ENTER。
在第二部分中,您將會使用系統還原從原本的備份位置複製登錄檔案。這個資料夾無法透過修復主控台進行存取,而且一般使用狀況下通常看不到這個資料夾。在開始這項程序之前,您必須變更幾項設定,將這個資料夾變成可見的狀態:
  1. 啟動 Windows 檔案總管。
  2. [工具] 功能表上,按一下 [資料夾選項]
  3. 按一下 [檢視] 索引標籤。
  4. [隱藏檔案和資料夾] 下方,按一下以選取 [顯示所有檔案和資料夾],然後按一下以清除 [隱藏保護的作業系統檔案 (建議使用)] 核取方塊。
  5. 出現要求您確認是否要顯示這些檔案的對話方塊時,請按一下 [是]
  6. 按兩下已安裝 Windows XP 的磁碟機,顯示資料夾清單。請務必點選正確的磁碟機。
  7. 開啟 System Volume Information 資料夾。這個資料夾是設定為超級隱藏資料夾,因此無法使用,而且會以灰色顯示。

    注意 這個資料夾包含一或多個 _restore {GUID} 資料夾,例如 _restore{87BD3667-3246-476B-923F-F86E30B3E7F8}。

    注意 您可能會收到下列錯誤訊息:
    無法存取 C:\System Volume Information。存取被拒。
    如果您收到這個訊息,請參閱下列「Microsoft 知識庫」文章,以取得此資料夾的存取權限,並繼續執行此程序:
    309531 如何存取 System Volume Information 資料夾
  8. 開啟不是現在建立的資料夾。您可能必須在 [檢視] 功能表中按一下 [詳細資料],才能看到這些資料夾的建立時間。在此資料夾底下,可能有一或多個以 "RPx 開頭的資料夾。這些資料夾即為還原點。
  9. 開啟其中一個資料夾,找出名為 Snapshot 的子資料夾。下列路徑是存取 Snapshot 資料夾的資料夾路徑範例:
    C:\System Volume Information\_restore{D86480E3-73EF-47BC-A0EB-A81BE6EE3ED8}\RP1\Snapshot
  10. 將 Snapshot 資料夾中的下列檔案複製到 C:\Windows\Tmp 資料夾:
    • _REGISTRY_USER_.DEFAULT
    • _REGISTRY_MACHINE_SECURITY
    • _REGISTRY_MACHINE_SOFTWARE
    • _REGISTRY_MACHINE_SYSTEM
    • _REGISTRY_MACHINE_SAM
  11. 重新命名 C:\Windows\Tmp 資料夾中的檔案,如下所示:
    • 將 _REGISTRY_USER_.DEFAULT 重新命名為 DEFAULT
    • 將 _REGISTRY_MACHINE_SECURITY 重新命名為 SECURITY
    • 將 _REGISTRY_MACHINE_SOFTWARE 重新命名為 SOFTWARE
    • 將 _REGISTRY_MACHINE_SYSTEM 重新命名為 SYSTEM
    • 將 _REGISTRY_MACHINE_SAM 重新命名為 SAM
這些檔案是透過系統還原備份的登錄檔案。由於您使用了安裝程式所建立的登錄檔案,因此這個登錄並不知道有這些還原點存在,而且可供使用。除了會在 [System Volume Information] 下建立具有新 GUID 的新資料夾之外,還會建立還原點,其包含之前在第一部分期間所複製的登錄檔案複本。因此,請絕對不要使用最新的資料夾,特別是資料夾上的時間戳記絕對不可以與目前的時間相同。

目前的系統設定對於先前建立的還原點一無所知。您必須具有來自先前還原點的舊有登錄複本,才能再次使用先前的還原點。

複製到 C:\Windows\Tmp 資料夾中的登錄檔案之所以遭到移動,是為了確保這些檔案能夠在修復主控台之下使用。您必須使用這些檔案來取代目前位於 C:\Windows\System32\Config 資料夾中的登錄檔案。根據預設,修復主控台的資料夾存取權限相當有限,且無法複製 System Volume 資料夾中的檔案。

注意 本節所述的程序假設您的電腦執行的是 FAT32 檔案系統。 如需有關如何透過 NTFS 檔案系統存取 System Volume Information 資料夾的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
309531 如何存取 System Volume Information 資料夾

第三部分

在第三部分中,您將會刪除現有的登錄檔案,並將「系統還原登錄」檔案複製到 C:\Windows\System32\Config 資料夾中:
  1. 啟動修復主控台。
  2. 在命令提示字元中輸入下列命令列,並在每一行之後按下 ENTER:
    del c:\windows\system32\config\sam

    del c:\windows\system32\config\security

    del c:\windows\system32\config\software

    del c:\windows\system32\config\default

    del c:\windows\system32\config\system

    copy c:\windows\tmp\software c:\windows\system32\config\software

    copy c:\windows\tmp\system c:\windows\system32\config\system

    copy c:\windows\tmp\sam c:\windows\system32\config\sam

    copy c:\windows\tmp\security c:\windows\system32\config\security

    copy c:\windows\tmp\default c:\windows\system32\config\default
    注意 為了可讀性,部分命令列可能會換行顯示。
  3. 輸入 exit 以結束修復主控台。這時您的電腦會自動重新開機。
注意 這項程序假設您將 Windows XP 安裝在 C:\Windows 資料夾中。如果是不同位置的話,請務必將 C:\Windows 切換至適當的 windows_folder

若要節省時間,如果您擁有其他台電腦的存取權,您可以複製步驟 2 中的文字,然後建立一個名為 Regcopy2.txt 的文字檔 (舉例)。如果要使用這個檔案,請在啟動修復主控台之後執行下列命令:
batch regcopy2.txt

第四部分

  1. 按一下 [開始],然後按一下 [所有程式]
  2. 按一下 [附屬應用程式],然後按一下 [系統工具]
  3. 按一下 [系統還原],然後按一下 [將電腦還原到較早的時間點]

?考

如需有關使用修復主控台的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
307654 如何安裝及使用 Windows XP 的修復主控台
216417 HOW TO:安裝 Windows 修復主控台
240831 如何從修復主控台將檔案複製到卸除式媒體 (機器翻譯)
314058 說明適用於進階使用者的 Windows XP 修復主控台
如需有關系統還原的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
306084 如何將 Windows XP 還原為先前的狀態
261716 進行還原程序時,系統還原會移除某些檔案
如需有關登錄損毀的三個可能原因及如何隔離損毀登錄的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
822705 如何疑難排解登錄損毀問題

屬性

文章編號: 307545 - 上次校閱: 2014年3月8日 - 版次: 21.0
這篇文章中的資訊適用於:
  • Microsoft Windows XP Home Edition (家用版)
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
關鍵字:?
kbenv kbinfo KB307545
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com