斌斌小站

Windows 95/98/ME

發表日期 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

 

 


意見或問題請寄至:
This is an image
版權所有,本站文、圖未經授權,請勿任意轉載與節錄,作者:車成斌

www.barefoot.idv.tw

happy barefooting !

(c) 2005, All rights reserved by  Che Chengbin

This is an image