高手DOS命令下的系統維護

2022-09-15 12:27:17 字數 2859 閱讀 1287

現在隨著電腦應用知識的普及,我想,很多朋友對windows登錄檔的修改已經有不少經驗和心得。在圖形介面下對登錄檔的維護和修改,就不必再提了,但有時候,我們可能會遇到更辣手的事情,如由於人為錯誤操作或者惡性病毒感染而使系統切底崩潰,不能進入windows圖形介面時,我們對此是否只有重灌這種方法呢?本文將就在dos下面盡量挽救系統這方面作出闡述。

一、 使用scanreg/restore

我想這種方法大家也比較熟悉了,只要在dos介面下輸入該命令,就可以在最近的5個登錄檔備份裡恢復,如果幸運的話,系統就可以馬上恢復。但,事實上,用這種方法有個致命的缺陷就是你只有最近5天的登錄檔備份可以選擇。因為控制著自動備份的scanreg.exe只會在每天第一次啟動電腦時備份,如果哪天你安裝的程式或者對登錄檔的修改比較多,那麼你的努力就大多白費了。這種方法就正如是眉毛鬍子一起抓,正確和錯誤的都一起改掉,是否能為恢復系統幫上忙,總有一種聽天由命的感覺。所以,筆者鼓勵大家使用第二種方法。

二、使用dos介面的regedit.exe

如果把scanreg/restore比作是一刀切的話,這種方法更像是一次高明的外科手術,只一矢中的地針對病,把錯誤修復而完全不影響登錄檔的其他健康部分。這樣,我們就能在最大限度上保留我們的工作成果了。使用regedit.exe對登錄檔實行區域性修改的思路是:首先,把登錄檔裡有嫌疑的分支匯出;然後,使用edit對它進行分析和修改;最後,把健康的分支重新匯入登錄檔裡。好了,我們來看看整個過程的具體操作。

1 匯出登錄檔分支

在dos下匯出登錄檔分支的命令格式是:regedit[/l:system] [/r:user] /e filename [regpath1]。/l:system是指定system.dat的路徑,/r:user是指定user.dat的路徑,如果不說明,系統就會在預設的路徑下找;/e:是匯出登錄檔分支的檔名,regpath1是要匯出的登錄檔分支。比如,我們要匯出預設登錄檔關於控制系統啟動的分支到test.reg裡,命令如下:regedit

/e test.reg hkey-local-machine\\software\\microsoft\\windows\\currentversion\\run。

2 對登錄檔進行分析、修改

在dos下面只要執行edit就能對*.reg檔案進行編輯了,因為我們匯出的登錄檔實際上就是文字檔案。不過,要正確找出引起錯誤的地方並修改,需要我們平時對登錄檔積累的經驗。下面,我們看一下它的基本結構,以使我們在對它的修改時可以有的放矢。

我們知道,登錄檔裡面有6個主分支,其中容易引起致命錯誤而使windows不能正常啟動的分支有:

[hkey_local_machine],記錄著本地機器的硬體配置以及安裝的相應軟體,特別是[hkey-local-machine\\enum\\pci]這個分支下面的主鍵值,一旦出錯,windows往往不能啟動。如[hkey-local-machine\\enum\\pci\\ven_8086&dev-7111&subsys_00000000&rev-01\\bus_00&dev_07&func-01]記錄的是硬碟控制器的詳細資訊,下面的logconfig記錄著它的各種引數;[hkey_local-machine\\enum\\pci\\ven-1002&dev-4c42&subsys_4c421071&rev-dc\\000800]記錄的則是顯示卡的重要資料和引數,一旦這裡出錯,往往會導致windows在啟動時黑屏,然後死掉。

另外還有[hkey-local-m achine\\software\\microsoft\\windows\\currentversion]裡記錄著windows當前版本的資訊以及啟動時執行的程式等,這是病毒最愛攻擊和修改的地方。

至於還有[hkey-class-root]是記錄檔案種類及其關聯資訊的,[hkey-current-user]裡記錄著當前使用者的各種資訊,包括登陸的密碼和各方面的設定等,這些一般不會引起windows的致命錯誤,這裡也不再詳細分析了。

當我們對這些鍵值分析和修改時,如果碰到什麼不清處的地方,可以通過第1點的匯出登錄檔方法,把一些備份登錄檔的相應分支匯出,進行比較。windows的登錄檔備份都放在c:\\windows\\sysbackup裡面,如我們要匯出第乙個登錄檔備份的[hkey_local_machine]分支,那麼我們可以先進入該目錄,然後鍵入命令:extract /e rb000.cab *.*,先把system.dat和user.dat解壓出來,再鍵入命令:regedit

/l:system.dat /r:user.dat /e backup.reg hkey-local-machine。 筆者在這裡提醒一下,這是乙個很好的解決問題的方法,再用上一些檔案比較軟體可以很快的找出錯誤的,請諸位慢慢體會。

3 把修改好的登錄檔分支重新匯入

命令的格式為:regedit /l:system /r:user file1.reg file2.reg。我們一般都要修改預設的登錄檔檔案,所以在實際使用中只需鍵入:regedit file1.reg就行了。   

好了,講了這麼久,我們看看乙個具體的案例。

學院機房裡的一台機器在重新啟動後,無論用正常模式或者安全模式都不能進入windows介面,表現為啟動過程中硬碟突然不讀。用scandisk檢查過硬碟,並沒有發現問題。在啟動過程中選擇生成bootlog.txt檔案,發現啟動到硬碟控制器後就斷掉了。本來想用scanreg/restore恢復備份的登錄檔,可是該機器為了加快啟動,並沒有自動備份。於是,用regedit把[hkey-local-machine\\enum\\pci]分支匯出,鍵入:regedit /e hdc.reg hkey-local-machine\\enum\\pci;接著用edit檢視關於硬碟控制器的部分,發現有\"channeloptions\"=hex:00,問題到這裡終於發現了,原來是有人把ide控制器設定成不使用,造成在載入硬碟控制器後,系統不能訪問硬碟,所以把它改為:hex:02;再鍵入命令:regedit

hdc.reg,把修改後的資訊匯入。重新啟動機器,一切正常執行了。

龍銘洪官方**

centos 7 2 4 系統維護命令

linux 環境變數 linux 系統變數,定義了使用者當前的工作環境的相關引數,環境變數一般由大寫字母構成,名稱相對固定,系統自動維護。變數操作命令 env 顯示環境變數 set 顯示 shell 變數 export 顯示和設定環境變數 echo 輸出變數值 變數引用 如 path 分割多個值 代...

oracle系統維護常用命令

oracle建立表空間 建立使用者以及授權 檢視許可權 建立臨時表空間 建立臨時表空間 create temporary tablespace test temp tempfile c oracle product 10.1.0 oradata orcl test temp01.dbf size 3...

ERP 系統維護的那些事

基本的賬套備份與還原。為自己開發或者維護做乙個鋪墊作用,正式賬套資料不是隨隨便便就可以改的。資料安全是每個公司的比較重要的事情,資料庫備份重中之重,操作使用人員越多越顯得重要。使用者的許可權變更 新增員工設定許可權 新增 調整崗位許可權 這是都是基本的許可權管理 建議使用使用者組設定,畢竟人員多了就...