|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2003-07-10, 12:43 AM | #1 |
榮譽會員
|
在Win XP中恢復受損的註冊表
使用Windows 98的時代,如果註冊表受損,我們可以啟動到DOS下,然後用ScanReg來掃瞄和恢復受損的註冊表,不過在Windows XP中這個方法就失效了。不過XP也有適用於它的恢復方法,下面筆者以具體的實例來說明恢復的具體操作。
朋友上個月買了台預裝Windows XP的品牌機,對Windows XP的穩定性讚不絕口。可是問題馬上就來了,一天在啟動電腦的時候看見了如下的錯誤信息: 「Windows XP無法啟動,因為下列文件可能丟失或者發生錯誤:\WINDOWS\SYSTEM32\CONFIG\SYSTEM」。 當時的情況是不能正常進入Windows,只能進入安全模式。經過判斷應該是註冊表損壞造成無法正確啟動,因此在系統啟動時按F8,並選項了恢復最後一次正確配置,無效。到安全模式下進行系統還原仍然無效。 經過仔細分析以及查閱資料,最終成功的解決了這個問題,現在把整個程序完整的寫出來,希望在你遇到類似的問題時能夠對你有所說明 。 以下的操作全部需要你有Administrator的權限,在本例中系統碟的文件系統是NTFS(如果是FAT32那將簡單一些),並且需要你沒有關閉對系統碟的系統還原監視。 首先進入故障恢復控制台(Recovery Console),方法是使用Windows XP的光碟啟動電腦,然後選項修復。為了安全起見,我先建立了一個臨時資料夾,並且把註冊表文件制作備份到新增的資料夾中。這一系列程序可以通過執行如下的指令來完成(每一行結束後按Enter鍵鍵): Md tmp Cd system32\config Copy system c:\windows\tmp\system.bak Copy software c:\windows\tmp\software.bak Copy sam c:\windows\tmp\sam.bak Copy security c:\windows\tmp\security.bak Copy default c:\windows\tmp\default.bak Delete system Delete software Delete sam Delete security Delete default Cd c:\windows\repair Copy system c:\windows\system32\config\system Copy software c:\windows\system32\config\software Copy sam c:\windows\system32\config\sam Copy security c:\windows\system32\config\security Copy default c:\windows\system32\config\default 上面的所有操作都是假設Windows XP按照預設情況安裝在C:\WINDOWS 資料夾下的,如果你的系統安裝在其它資料夾下,那麼按照你的實際情況替換其中相關的指令即可。這些操作將恢復系統到最初始的狀態,如果仍然不能解決問題或者你希望能夠把之前的設定等找回來,就請繼續看下去。 現在我們需要從系統自己制作備份的文件中恢復正確的註冊表設定。首先在啟動時按F8進入安全模式,然後開啟「我的電腦」,在「工具-資料夾選項」的「檢視」選擇項下,取消對「隱藏受保護的系統檔案」的選項,並且選「顯示隱藏文件和資料夾」。然後點擊確定。 開啟檔案總管,雙按進入安裝了Windows XP的硬碟分區(我這裡開啟的就是C碟),找到System Volume Information資料夾,這個資料夾平時是看不到的。開啟之後你應該可以看見多個類似「_restore{1A93AEA8-AEC3-4417-A255-6803DA8FB2EB}」的子資料夾,這些資料夾中就儲存了系統還原的產生的備份檔案。 根據那幾個子資料夾的新增日期,選項一個在系統完全正常時新增的。我選項了_restore{1A93AEA8-AEC3-4417-A255-6803DA8FB2EB}這個資料夾,並且從_restore{1A93AEA8-AEC3-4417-A255-6803DA8FB2EB}\RP1\Snapshot 下複製了一些文件到最初建立的臨時資料夾「C:\WINDOWS\TMP」中,需要複製的文件有: _REGISTRY_USER_.DEFAULT _REGISTRY_MACHINE_SECURITY _REGISTRY_MACHINE_SOFTWARE _REGISTRY_MACHINE_SYSTEM _REGISTRY_MACHINE_SAM 我們操作的目的就是用這些文件替換C:\Windows\System32\Config資料夾下的同名文件。而由於在控制台模式下,我們對文件和資料夾的操作受到限制,因而不得不採取這樣的方法。 接下來重啟電腦,繼續進入故障控制台,刪除當前的註冊表文件,並恢復到之前的正確狀態去。 在控制台下,依次輸入下列指令: cd system32\config Del sam Del security Del software Del default Del system Cd c:\windows\tmp Copy _registry_machine_software c:\windows\system32\config\software Copy _registry_machine_system c:\windows\system32\config\system Copy _registry_machine_sam c:\windows\system32\config\sam Copy _registry_machine_security c:\windows\system32\config\security Copy c:\windows\tmp\_registry_user_.default c:\windows\system32\config\default 進行到這裡,大部分的恢復工作就完成了,這之後只要通過安全模式啟動電腦,並且執行系統還原,選項合適的還原點,就大功告成。 在這裡還有幾點要主意的: 如果你沒有XP的光碟,只有拷貝到硬碟上的安裝文件,那要怎麼進入故障恢復控制台?其實你可以把這個選項安裝到硬碟上。假設你的安裝文件儲存在「C:\xp」資料夾中,那麼在執行中輸入「C:\xp\i386\winnt32 /cmdcons」然後Enter鍵,文件複製完就好了。之後你重啟動電腦的時候會看見一個選項表單,詢問你是進入正常的Windows XP中還是進入故障恢復控制台,選項後按Enter鍵就可以進入。 還有一點是關於System Volume Information資料夾的,當你試突從那資料夾中複製文件的時候可能會發現,你沒有合適的權限開啟它,如果是這樣,那麼可以試試用下面的方法解決: 對於Windows XP Professional,首先在「資料夾選項-檢視」中禁用簡單文件共享,然後在System Volume Information資料夾上點擊滑鼠右鍵,選項「屬性內容」,在「安全」選擇項下,點擊「增加」,然後輸入你當前登入的用戶的用戶名,點擊確定。然後你就能開啟那個資料夾了。 對於Windows XP Home,在執行中輸入「CMD」然後Enter鍵,開啟命令提示字元視窗,進入到系統碟的根目錄下,例如C:\,然後直接輸入cacls " C:\System Volume Information" /E/G Alex:F ,之後按Enter鍵。在這裡的「Alex」是你當前使用的用戶名,而這個指令可以給予Alex這個用戶對System Volume Information資料夾Full Control的權限。之後你就可以訪問被拒絕的資料夾了。而如果你要恢復到被拒絕的狀態,只需要輸入cacls " C:\System Volume Information" /E/R Alex就可以了。 |
送花文章: 3,
|