2011年7月24日 星期日

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

請先參考微軟的解法:
如何修復造成 Windows XP 無法啟動的損毀登錄

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

雖然可能以現在 Windows 7 的設計已經遇不太到這種狀況,
不過我公司的老爺車電腦還是遇到了,然而微軟的作法懶得教人用工具片開機,
所以落落長的一大串 DOS 指令,讓人很不舒服XD

以下簡要敘述核心作法:

以 WINDOWS\SYSTEM32\CONFIG\SYSTEM 損毀為例
整個做法就是取出舊的檔加配合系統還原來做處理.

微軟網站上所用的batch
***************************************************************
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

***************************************************************

記得在c:底下操作.

主要就是要取出 system software, sam, security, default 這五個檔案。
這五個檔案也很好辨識。
你到 c:\windows\system32\config 底下找,沒有副檔名的那五個就是了。

以下為重點:
整個微軟的解法因為不想用工具片,所以一整個麻煩,需要多次重開機。
建議直接使用 Win PE 這類的工具片,或 XPE 這類的 Live 光碟

1: 先將 c:\windows\system32\config\裡舊的 system, software, sam, security, default 備份
2: 尋找 c 槽底下 System Volume Information 裡面的各個備份資料夾裡的 Snapshot 中的該5檔
3: 將舊的備份蓋掉 c:\windows\system32\config\ 裡的五個檔。(記得修改成相對映的檔名)

用 Win PE 這類的工具片來做會十分簡單,記得要開啟可以看到系統資料夾的選項。
System Volume Information 預設是隱藏的。

理論上只要有系統還原備份就可以順利處理掉這問題。

萬一沒有系統還原的時候怎麼辦?
以下為推論, 有部份我沒有實際做過

1: 先將 c:\windows\system32\config\裡舊的 system, software, sam, security, default 備份
2: 使用 c:\windows\repair 裡的五個檔取代 c:\windows\system32\config\ 裡的舊檔
3: 利用 Win PE 或其它工具片,除了 system 之外的四個檔再蓋回去

理論上它已經變成一個新的設定了,有可能其它四個檔會有不合的情形,
最少software這個檔是可以蓋的,可以省去重裝軟體的困擾。

沒有留言:

張貼留言