在Windows XP中恢復正確的註冊表 Windows XP,註冊表修復,Windows XP無法啟動,因為下列文件可能丟失或者發生錯誤:\WINDOWS\SYSTEM32\CONFIG\SYSTEM -------------------------------------------------------------------------------- 朋友上個月買了台預裝Windows XP的品牌機,經過使用,對Windows XP的穩定性讚不絕口。可是問題馬上就來了,一天在啟動 電腦的時候看見了如下的錯誤信息:「Windows XP無法啟動,因為下列文件可能丟失或者發生錯誤:\WINDOWS\SYSTEM32 \CONFIG\SYSTEM」。不能正常進入Windows,只能進入安全模式。經過判斷可能是註冊表損壞造成無法正確開機,因此在啟 動時按F8,並選擇了恢復最後一次正確配置,無效。進行系統還原,無效。於是向我求救。 經過仔細分析以及查閱資料,最終成功的解決了這個問題,現在把這個過程完整的寫出來,希望在你遇到類似的錯誤時能夠對 你有所幫助。 以下的操作全部需要你有Administrators組的權限,系統盤的文件系統是NTFS,並且你沒有關閉對系統盤的系統還原。 首先需要進入故障控制台,為了安全起見,我先建立一個臨時資料夾,並且把註冊表文件備份到新建的資料夾中。方法是使用 Windows XP的光碟啟動電腦,然後選擇修復,就可以進入故障控制台(Recovery Console),然後直接在命令行狀態下輸入下列 命令: 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 上面的所有操作都是假設Windows XP安裝在C:\WINDOWS 資料夾下的,如果你的系統安裝在其它資料夾下,那麼直接替換成你 的安裝資料夾就可以了。 如果願意,你也可以直接把控制台安裝進電腦中,這樣如果要進入故障控制台就不用在使用光碟啟動電腦了,只要在啟動時按 F8,就有進入故障控制台的選項。安裝的方法是,把Windows XP的光碟放入光碟中,假設你的光碟盤符是F,那麼在執行中輸 入「F:\i386\winnt32 /cmdcons」Enter鍵後就會自動安裝故障控制台了。 之後需要從系統自己備份的系統檔案中恢復註冊表。我先在啟動時按F8進入了安全模式,然後打開了我的電腦,在「工具-資 料夾選項」的「察看」選擇項下,取消對「隱藏受保護的系統檔案」的選擇,並且選中「顯示隱藏文件和資料夾」。然後點擊 確定。 雙擊打開安裝了Windows XP的硬碟分區(我這裡打開的就是C碟),找到System Volume Information這個資料夾,並打開它。這 個資料夾平時是看不到的,你應該可以看見多個類似「_restore{87BD3667-3246-476B-923F-F86E30B3E7F8}」的資料夾。 根據那幾個資料夾的創建日期,選擇一個在系統完全正常時創建的資料夾,這資料夾中的文件就是系統還原的備份檔案。我選 擇了_restore{87BD3667-3246-476B-923F-F86E30B3E7F8}這個資料夾,並且從_restore{87BD3667-3246-476B-923F-F86E30B3E7F8} \RP1\Snapshot 下,複製了一些文件到我最初建立的臨時資料夾(C:\WINDOWS\TMP)中,這些文件是: _REGISTRY_USER_.DEFAULT _REGISTRY_MACHINE_SECURITY _REGISTRY_MACHINE_SOFTWARE _REGISTRY_MACHINE_SYSTEM _REGISTRY_MACHINE_SAM 這些文件就是系統還原功能備份的註冊表文件,我們的目的就是用這些文件替換C:\Windows\System32\Config資料夾下的同名檔 案。而由於在控制台模式下,我們對文件和資料夾的操作收到限制,因而不得不採取這樣的方法。 接下來重啟動電腦,繼續進入故障控制台,刪除當前的註冊表文件,並恢復到之前的正確狀態去。 在控制台下,依次輸入下列命令: 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\_registry_machine_software c:\windows\system32\config\software Copy c:\windows\tmp\_registry_machine_system c:\windows\system32\config\system Copy c:\windows\tmp\_registry_machine_sam c:\windows\system32\config\sam Copy c:\windows\tmp\_registry_machine_security c:\windows\system32\config\security Copy c:\windows\tmp\_registry_user_.default c:\windows\system32\config\default 到這裡,大部分的準備工作就完成了,這之後只要通過安全模式啟動電腦,並且執行系統還原,選擇合適的還原點,就一切完 成了。 在這裡還有一點要主意的,就是System Volume Information資料夾,你可能沒有合適的權限打開它,如果是這樣,那麼可以試試 用下面的方法解決: 對於Windows XP Professional,首先在「資料夾選項-察看」中禁用簡單文件共享,然後在System Volume Information資料夾上點 擊滑鼠右鍵,選擇「屬性」,在「安全」選擇項下,點擊「新增」,然後輸入你當前登錄的用戶的用戶名,點擊確定。然後你 就能打開那個資料夾了。 對於Windows XP Home,在執行中輸入「CMD」然後Enter鍵,打開命令提示號視窗,進入到系統盤的根目錄下,例如C:\ ,然 後直接輸入cacls " C:\System Volume Information" /E /G .com.cn:F ,之後按Enter鍵。在這裡的「.com.cn「是你當前使用的用戶名。 之後你就可以訪問被拒絕的資料夾了。而如果你要恢復到被拒絕的狀態,只需要輸入cacls " C:\System Volume Information" /E /R .com.cn就可以了。 |