發表日期 2002/03/27
更新日期 2005/02/15
如何在DOS下解除無法使用 REGEDIT 的限制
適用範圍:
Windows 9x、2000、XP
提醒:
無
在某些情況下,比如上網時遇上一些惡意的程式,在背後偷偷修改你的系統登錄,把你的設定亂改一通,然後再鎖住「登錄編輯器」(Regedit.exe),讓你無法執行
regedit 這個工具程式還原本來的設定,怎麼辦?
這個時候,就需要在DOS下執行Regedit 來修改登錄,這個語法是:
regedit files.reg
files.reg 是指事先建立好的登錄資料檔,請不要以為檔案名稱一定要叫做
files.reg,這只是個舉例,只要副檔名是 reg 均可。
若你的 reg 檔案不是與 regedit.exe 在同一個資料夾下的話(regedit.exe 位在
C:\Windows 中),reg 檔案名稱前面可以加上reg 檔案所在的路徑,如:
regedit d:\temp\unlock.reg
上面這段話的意思,就是告訴 Regedit 程式去匯入 D:\Temp 中的這個名為 unlock.reg
的檔案。
.reg 檔案只是一個純文字檔,在檔案格式上並沒有特殊的地方,格式就如 txt 檔案一樣,都是純文字,所以利用
Windows
的「記事本」(NotePad.exe)就可以很輕鬆的製作,不過唯一麻煩的地方是,你必須知道你要修改的登錄值是什麼,繼續往下看就可以了解。
以下將以實例解說,讓各位更容易明白。
假設狀況是:
regedit 已經被鎖住了,我從「開始」>>「執行」,輸入 regedit
按確定之後就出現「登錄編輯已經被您的系統管理員停用」,沒辦法執行,我要怎麼解除這個限制?
在編號:0102 - 執行 regedit.exe
卻出現:「登錄編輯已經被您的系統管理員停用」 這篇文章中,我們得知,Regedit 被鎖住的關鍵是在於:
HKEY_CURRENT_USER\Software\Microsoft\
Windows\CurrentVersion\Policies\
有一機碼「System」的 DisableRegistryTools 數值為 1,因此我只要把
DisableRegistryTools 設為 0(0 代表關閉),或是乾脆把 System 這個機碼刪掉(乾淨的作業系統本來就沒有此機碼),就行了。
這個動作,要怎麼寫成 reg 檔案,好讓 regedit 匯入呢?有些費事(因為你要
key-in)但是並不難。
一、製作 REG 檔案
執行「記事本」(在附屬應用程式群組裡) 第一行輸入以下文字,結束時按 Enter 兩次,以便與下行文字間空一行。
REGEDIT4(註一) 接著輸入以下文字,結束按Enter換行,以下因為版面的關係所以斷行,實際上沒有斷,請不要斷行。
[HKEY_CURRENT_USER\Software\Microsoft\
Windows\CurrentVersion\Policies\System]
上面這行的意思,就是叫 Regedit
到:HKEY_CURRENT_USER\Software\Microsoft\
Windows\CurrentVersion\Policies\System 這個機碼去。
再繼續輸入以下文字,完畢按 Enter 鍵以換行,這行的意思就是叫 Regedit 把
DisableRegistryTools DWORD 值設為 0,解除限制。
"DisableRegistryTools"=dword:00000000
存檔,取個檔名後儲存,如
unlock.reg。存檔時請記得在存檔對話框中的「存檔類型」要選擇「所有檔案(*.*)」,否則會被存成副檔名是
.txt 的檔案了。
編輯好的 unlock.reg 檔案的內容就如下面這樣子:(註二)
|
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableRegistryTools"=dword:00000000
|
二、在 DOS 下匯入 REG 檔案:
因為在視窗環境下,已經沒有辦法執行 Regedit,所以就要改成從 DOS 下執行指令。
開始>>程式集>>MS-DOS模式(或開始>>程式集>>附屬應用程式>>MS-DOS模式),當然,你想用開機片開機,從真正DOS下執行也行,只是不需要這麼麻煩,在視窗中的
MS-DOS 模式即可。
假設我的這個 unlock.reg 是放在 C:\TEMP 的話,就輸入以下指令後按 enter:
regedit c:\temp\unlock.reg
接著畫面上會出現「您確定要增加 c:\temp\unlock.reg 資訊到登錄」(註三)的對話窗,按確定,unlock.reg
的內容就匯入登錄,解除無法執行 Regedit 的限制了。
相關文章:
0102 - 執行 regedit.exe
卻出現:「登錄編輯已經被您的系統管理員停用」
註一:
為什麼一開頭要 REGEDIT4?不是 REGEDIT1 或2 呢?因為這是「規定」。
Windows 95、98、ME、NT 4.0 等的 reg 檔案開頭第一行規定必須是「REGEDIT4」。 而
Windows 2000、XP 則是「Windows Registry Editor Version
5.00」,用以區分所使用的作業系統。
註二:
從這個 .reg 檔案的例子,我們可以解晰 reg 檔的內容格式:
開頭第一行一定是:REGEDIT4(對 Windows 9x 系統而言是如此,2000與XP請參見註一中的說明)
機碼頭尾是用 [ 與 ] 包起來。 " "內就是字串內容。 DWORD 為 0 就是用
dword:00000000 表示,因為DWORD值是16進位,16進位的「0」就是「00000000」
本例中因為只有一行機碼([HKEY_CURRENT_USER\Software\Mi...]),所以沒有空行,如果有兩個以上的機碼,機碼與機碼間以空行(按
Enter)隔開。
再補充:
如果我要刪除某個機碼該怎麼辦?
機碼前面加上「-」(減)號,例如,unlock.reg 我也可以這麼寫:
REGEDIT4
[-HKEY_CURRENT_USER\Software\Microsoft\
Windows\CurrentVersion\
Policies\System]
只要
-HKEY_CURRENT_USER\Soft......就可以了,DisableRegistryTools...那一行就可以省去不寫,為什麼?
因為這行就是告訴 Regedit 程式直接去把 System
這個機碼刪掉,而DisableRegistryTools 又是在 System
它下面,頭都刪了,當然裡面的東西也消失了。
註三:
如果你是用開機片開機,在真實的DOS下,就不會出現這個視窗,而是直接顯示匯入的訊息:Importing file
100% complete
意見或問題請寄至:

版權所有,本站文、圖未經授權,請勿任意轉載與節錄,作者:車成斌

|