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

軟體下載站推薦, 軟體介紹, 支援及問題解答
User avatar
willy
Knight-Captain 上尉騎士
Knight-Captain 上尉騎士
Posts: 1063
Joined: Sun Oct 19, 2003 12:38 pm
Contact:

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

Postby willy » Thu Oct 23, 2008 12:09 am

昨天個客的Windows死咗, 因為佢有好重要的data, 唔可以使用 image restore方法, 要救機. 後來找到下列文章, 很有用:

本文曾發行於 CHT307545

結論
本文將告訴您,如何修復因登錄損毀而未能啟動的 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
當試圖更新密碼時,這個傳回狀態表示所提供的目前密碼數值不正確。
本文所描述的程序將會用到「修復主控台」和「系統還原」,並會依照特定順序列出所有必要的步驟,以確保整個程序能夠順利完成。完成這項程序之後,系統將會恢復至與發生問題之前相當接近的狀態。如果您已經執行過 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。

如果您能夠存取另一部電腦,則可以將步驟 2 中的文字複製下來,並建立名為 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 is not accessible. Access is denied. (無法存取 C:\System Volume Information,存取遭拒)。
如果收到這個訊息,請參閱下列「Microsoft 知識庫」文件,以取得這個資料夾的存取權限,並繼續進行這項程序:
309531 (http://support.microsoft.com/kb/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 (http://support.microsoft.com/kb/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 中的文字複製下來,並建立名為 Regcopy1.txt (建議名稱) 的文字檔案,以節省時間。

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

Source: http://support.microsoft.com/kb/307545/zh-tw

Who is online

Users browsing this forum: No registered users and 10 guests