windows 2000 或 xp 系統出現故障的時候,通常我們可以通過"最後一次正確配置"、"安全模式"、"系統還原"(只用於xp)來修復。但是有一些情況是不能通過這些辦法來修復的,例如:系統引導檔案丟失、boot.ini 檔案丟失或配置錯誤、系統dll丟失等等。這個時候,重新安裝作業系統雖然是個有效的方法,但是要花費很長的時間。其實我們還可以通過恢復控制台來做最後的嘗試。使用恢復控制台,我們不但可以進行包括啟用和禁用系統服務、分割槽和格式化磁碟、修復引導記錄等操作,還可以通過複製源光碟的檔案來修復丟失系統檔案的錯誤等等。
恢復控制台雖然很實用,但是也是有一些限制:
要使用恢復控制台,必須知道系統管理員的賬號和密碼?
系統控制台裡面只能訪問以下的資料夾:引導資料夾、系統目錄、可移動儲存裝置。如果訪問其它資料夾,系統會提示"access denied"(拒絕訪問);
在恢復控制台,可以把檔案從光、軟盤複製到硬碟,或者是硬碟複製到硬碟。但是不能從硬碟複製到軟盤。
一. 啟動恢復控制台
要進入恢復控制台,首先要用os光碟啟動,在出現"歡迎使用安裝程式"的介面,我們可以看到第二項提示是"要使用/'恢復控制台/'修復 windows xp安裝,請按 r"。
在按了r鍵之後,安裝程式會對磁碟進行檢查。稍等片刻後,螢幕上會列出已經找到的作業系統及其安裝目錄,並且會自動編號。系統會詢問你要登入到哪乙個windows系統,我們只要輸入系統前面的序號,然後回車(千萬不要直接按回車!系統會重新啟動的!),然後會詢問管理員的密碼,輸入之後按回車,這樣我們就進入了修復控制台
二.常用的系統故障恢復命令
1. bootcfg:用於對啟動檔案boot.ini的配置和恢復(win 2k沒有該命令)
2. disable 和 enable:用於禁用/啟用系統服務或裝置驅動程式
3. expand:用於從壓縮檔案中提取檔案
4. fixboot:重新寫入新的分割槽引導區到指定的系統分割槽
5. fixmbr:修復啟動磁碟的主引導記錄
6. help:顯示幫助
7. listsvc:列出該系統上所有的系統服務和裝置驅動程式(配合disable/enable使用)
8. set:顯示和設定環境變數
三.修復常見系統啟動故障
(一) 系統引導區損壞
通常是因為被病毒損壞,或者是使用一些第三方的磁碟工具,造成引導扇區內容被破壞。現象是到os啟動的階段就停著不動,或提示沒有可啟動的磁碟。其實用恢復控制台可以很簡單地恢復這種錯誤。進入恢復控制台,輸入fixboot,系統會提示是否確定要寫入新的啟動扇區到目標磁碟分割槽,按y然後回車,系統寫入成功後,按exit重新啟動就可以了。
如果還是不行,有可能是主引導記錄(mbr,main boot record)損壞了,這時候我們就要用到fixmbr這個命令了,但是這個命令風險比較大,有可能損壞分割槽資訊造成資料丟失,所以不到最後千萬不要用!
使用方法跟fixboot一樣,進入恢復控制台,輸入fixmbr,系統會有警告資訊(,確定要執行的話,按y然後按回車就可以了,然後再恢復控制台的提示符狀態按exit重新啟動。
(二) 系統引導檔案損壞或丟失
當系統啟動時,提示找不到ntldr或者ntdetect.com時,系統要求重新啟動。這種情況多發生在同一分割槽裝多系統,或某些誤操作,刪除了系統根目錄下面的檔案。
其實這兩個檔案都可以在安裝光碟的i386目錄下找到,直接複製到系統盤根目錄就可以了。首先進入恢復控制台,然後輸入(假設光碟碟符是d盤):
"copy d://i386//ntldr c://" 或 "copy d://i386//ntdetect.com c://"
(如提示檔案存在,覆蓋就可以)然後敲exit重新啟動即可。
(三) 引導配置檔案boot.ini損壞或丟失
這種情況多發生在安裝多系統時順序不對,或者某些誤操作引起的。儲存有系統多重啟動選單的boot.ini丟失或被破壞之後,啟動選單會消失(雖然如果你只有乙個系統的時候,它會以預設目錄啟動,但是還是會有乙個錯誤提示,。
其實這個錯誤很簡單,我們可以使用恢復控制台的bootcfg命令來重建boot.ini檔案。首先進入恢復控制台,然後在提示符下輸入: bootcfg /rebuild,然後系統會自動掃瞄所有磁碟以尋找可以新增到啟動選單的作業系統。掃瞄完畢之後,系統會列出能找到的作業系統,然後你可以選擇哪乙個載入到boot.ini(按y表示"是",按n表示"不",按a表示"全部")。然後在提示"輸入載入識別符"時輸入這個啟動專案的名稱,提示"輸入os載入選項"時輸入啟動引數(通常是fastdetect,也可以是其它,如nodetect等),然後敲回車就回到恢復控制台的提示符,敲exit重啟,啟動選單就重新出現了。
(四) 系統檔案丟失
有時候會碰到這種情況,系統啟動的過程中,提示仔 windows//system32 下面有某個檔案丟失,系統無法啟動,要求重新安裝這樣子。造成這種情況的原因有很多,通常是安裝解除安裝一些軟體的時候,被刪除或替換了某些重要的系統檔案,因而造成系統無法啟動,以下是乙個例子。
針對這種情況,我們可以使用恢復控制台的expand或copy命令來進行修復。進入恢復控制台,然後進入光碟下的i386資料夾,首先要確定我們丟失的檔案是不是壓縮過的。如果沒有壓縮過,我們直接複製到目標位置就可以了就可以了,例如ntdll.dll;如果是壓縮的,就要用到expand命令了,例如ntdsbcli.dl_(只要字尾名最後乙個是下劃線的就是壓縮過的)。
copy的格式是:copy(空格)**檔案(空格)目標資料夾
例如:copy d://i386//ntdll.dll c://windows//system32
expand格式也是:expand(空格)**檔案(空格)目標資料夾
例如:expand d://i386//ntdsbcli.dl_ c://windows//system32
vc 建立dll檔案以及dll呼叫
一 生成dll 1 用vc建立乙個win32dll工程 dlltest,選上 匯出符號 2 在dlltest.cpp中編寫匯出函式fun 這個函式是別的程式要呼叫的函式 int fun int i 3 在dlltest.h中宣告匯出這個函式 declspec dllexport int fun in...
SQL繞過技術以及修復
1.過濾判斷 com?id 1 訪問?id 1 and 1 1 頁面報錯 1 1,發現 and 被過濾,這時候嘗試使用雙寫的方 式繞過,如 aanndd 1 1,當 and 被過濾後,aanndd 變成了 and,所以這時傳輸資料庫的語句是 and 1 1 如果當訪問 order by 錯誤資訊為 ...
DLL放在指定目錄 以及設定dll呼叫路徑
一 dll放在指定目錄 在編寫c winform程式中,不免乙個專案會有多個工程檔案,而這些工程檔案之間是相互引用的,所以不想將工程的生成結果 exe或者dll 放在當前工程bin目錄下的debug目錄或者release目錄,而是放在乙個公共的目錄下,比如dllimport目錄下,如何實現這個工程呢...