⑴ cmd下導出注冊表輸出路徑
這是個很容易犯的錯誤,問題就出在那個注冊表項上。第一條命令,那個注冊表項裡面有了空格,WINDOWS NT這一項和後面Image File Execution Options 這一項都是有空格的,就是這個空格,導致你的命令不成功。在遇到有空格的路徑的時候,需要把路徑用雙引號括起來。
cmd /c "regedit /e d:\IFEO.reg "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options""
這樣就行了
⑵ 如何導出某個程序的注冊表
Windows 95開始,微軟公司在Windows中引入了注冊表(英文為REGISTRY)的概念(實際上原來在Windows NT中已經有此概念)。注冊表是Windows95及Windows98的核心資料庫,表中存放著各種參數,直接控制著Windows的啟動、硬體驅動程序的裝載以及一些 Windows應用程序運行的正常與否,如果該注冊表由於某種原因受到了破壞,輕者使 Windows的啟動過程出現異常,重者可能會導致整個 Windows系統的完全癱瘓。因此,正確地認識、使用、特別是及時備份以及有問題時恢復注冊表,對 Windows用戶來說就顯得非常重要了。可以這么說,只要你發現了registry 的秘密,你就幾乎可以完全控制Windows了!
一、WINDOWS98注冊表概述
關於 Windows98注冊表,我們知道 Windows3.X系統是以擴展名為.ini的配置文件來保存系統及應用程序的各種初始化配置信息的。每當 Windows3.x啟動時,系統都會從兩個最重要的.ini文件即從Win.ini和System.ini中讀取各種初始化信息來對整個系統的軟硬體環境進行配置,從而正常啟動整個Windows系統。一般來說,Win.ini文件中主要包含著控制 Windows用戶窗口環境的信息(如各硬體的驅動程序等),我們可以利用文本編輯器通過修改這兩個文件來調整一些軟硬體的配置以適應自己的需要。從 Windows95開始,原來保存在以上兩個初始化文件中的有關信息,都被移到了系統的注冊表中,這樣注冊表就成了 Windows系統關鍵信息的集中存放地,而原來的System.ini和Win.ini 兩個初始化配置文件,則因 Windows系統還需兼容老的16位 Windows應用程序而仍然在 Windows95及 Windows98中保留著。
那麼,Windows98的注冊表到底是個什麼東西,裡面又有那些內容呢?
Registry是一個被分為6個主要分支的資料庫(如圖1)
圖1
它的每一個分支都是一個句柄,並以六組不同的關鍵字值來區分,它們分別為:HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_USER、HKEY_CURRENT_CONFIG、HKEY_DYN_DATA,每個分支又進一步被分解成更細的分支。事實上,REGISTRY中的許多東西對於用戶和系統管理員來說用處不大,但是研究發現直接編輯HKEY_CLASSES_ROOT和HKEY_CURRENT_USER會帶給我們很多的欣喜,當然我們也發現更改其他分支的設置同樣能為用戶提供有用的東西。下面我們就來簡單的認識一下注冊表的六個分支吧!
1、HKEY_CLASSER_ROOT。該份之下至少包括100個關鍵字,這個分支下主要包括OLE數據,還包括文件擴展名和文件或應用程序的關聯,改變改分支中的數據結構和內容將直接影響到系統軟體的應用,此下的信息都被保存在system.dat文件中。
2、HKEY_USER。在這個關鍵字下顯示的信息都保存在User.dat文件中,這包含了與具體用戶有關的desktop(桌面)配置、網路連接以及start菜單。如果用戶的計算機被配置為使用戶的配置文件,那麼系統就會為每個用戶都創建一個單獨的User.dat文件。當一個用戶登錄到計算機上時,Windows98將讀取那個用戶的user.dat文件,並把該文件放入內存中的Registry中。
3、HKEY_CURRENT_USER。它是適用於當前用戶的HKEY_ USER部分。如果只有一個用戶,即確省用戶,那麼HKEY_USER\.Default和HKEY_CURRENT_USER是相同信息的不同的顯示方式。
4、HKEY_LOCAL_MACHINE。這是針對計算機硬體以及安裝的軟體所設定的分支。如果計算機有多個硬體配置,那麼每個配置的信息都保存在這里。如果你察看一下該分支下的SOFTWARE下面的信息,你會發現生產已安裝軟體的公司的名字都在這兒了,這個分支為關於每個公司產品的與具體機器有關的信息存放提供一個方便的地方。在這兒,你還可以發現應用程序名字、版本數、應用程序路徑名以及以及硬體設置。Microsoft也使用這個分支注冊它的軟體。
5、HKEY_CURRENT_CONFIGURATION。在這里用戶可以找到顯示設置情況和使用的列印機。
6、HKEY_DYN_DATA。這里保存了Windows操作性能參數的數據,當Windows98載入後,該信息被保留在RAM中,同時被不斷更新。
在Windows98注冊表文件中,事實上只有兩個隱藏的只讀文件System.dat和User.dat組成了Registry,由於這兩個文件是二進制的文件,不易被一般的字處理文件所編輯。處理這兩個文件,一是採用Registry editor直接來編輯它(如圖1),也可以用Registry editor將它們導出來成為一個文本文件即可。
System.dat把一台計算機以及計算機上軟體的具體信息保存起來。它不但追蹤Windows和其他的安放其信息於Registry中的已安裝信息,而且也追蹤已發現的硬體以及其配置。
User.dat保存與用戶相關的信息,包括滑鼠、顏色方案、游標方案、牆紙、訪問性設置、圖標間隔、字體、鍵盤布局、鍵盤延遲和速度、區域設置、瀏覽器設置以及密碼等等。一個用戶的桌面圖標和網路連接,它們都保存在User.dat文件中。
二、注冊表的備份和恢復
由於注冊表內存放了計算機許多重要的信息,其功能也十分強大,我們可以通過編輯注冊表來實現很多常規方法難於實現的功能。也正因為注冊表是各種關鍵住處的集中存放地,所以如果編輯不當,就會造成一些難於預料的後果,因此在對注冊表進行編輯之前,備份和回復注冊表的信息非常重要。
大家知道,注冊表是由System.dat和User.dat兩個具有隻讀隱藏屬性的文件所組成的。在 Windows95里,注冊表保存在 Windows目錄下的,可以由運行 Windows目錄下的注冊表編輯器(Regedit.exe)來打開及進行編輯。 Windows95每次開機時,均會自動在這兩個文件所在的同一目錄下以System.和User.之名(均為只讀隱藏文件)為這一注冊表備份,以便為注冊表的恢復之用。要特別指出的是:System.和User.在系統重新再啟動後,實際上已用原注冊表文件作為藍本進行了覆蓋備份,所以這時的備份文件從嚴格意義上來說已無備份恢復之價值了。那麼在 Windows98中又是什麼樣子呢?下面筆者就根據自己的使用體會和有關資料,來談談在 Windows98中如何對注冊表進行備份及恢復的幾種方法。
(一)、直接進行備份及恢復。
這是一種很原始的方法,即直接將所需之System.dat及User.dat兩個文件拷貝存放在硬碟某個指定目錄下或直接拷到軟盤上作為備份,恢復時再將該備份替換覆蓋回原處即可,當然在備份及恢復時都需對這兩個文件的只讀及隱藏屬性進行相應的修改操作。需注意的是:一般情況下由於Windows98的注冊表(包括System.dat和User.dat兩個文件)往往有近2M甚至更大,用一般1.44M的3寸軟盤來存儲備份是放不下的,所以必須利用壓縮軟體將其壓縮後才能放入1.44M軟盤中。當需要恢復時,還需要用解壓縮軟體將其解開後再放入 Windows目錄下替換覆蓋原注冊表數據。
用這種方法的好處是如因注冊表問題而導致系統癱瘓,開機後無法進行 Windows系統時,可用應急啟動盤進入 Windows98自帶的DOS7.1界面後,用常規的DOS操作來將存在硬碟或通過解壓縮軟體將軟盤中的備份覆蓋回原處,恢復原備份時注冊表的正常數據。
(二)、利用Regedit注冊表編輯器自帶的導出及引入功能備份和回復。
運行Regedit.exe打開 Windows98注冊表後,利用「注冊表」的「導出」及「引入」功能也可以用來備份或恢復注冊表信息。具體方法如下:
1、打開如圖2的左上角「注冊表」下拉菜單,點擊「導出注冊表文件」項。
圖2
2、在出現的「導出注表文件」對話框中,鍵入欲備份注冊表的文件名及其保存位置,再按「保存」按鈕即可(如圖3)。
圖3
若需恢復注冊表時,用同樣的方法打開注冊表編輯器,打開「注冊表」下拉菜單後點擊「引入注冊表文件」項,在出現的對話框中選中所需恢復的備份文件,再按「打開」按鈕即可將該注冊表備份恢復回 Windows系統了。
該方法主要適合於Windows系統還未癱瘓或能用啟動時按F8鍵的方法,選擇安全模式啟動Windows98系統時恢復注冊表之用,如因注冊表問題而連 Windows系統都進入不了時,則該法就無法應用了。此外因備份無法壓縮而其大小又超過1.44M軟盤容量,所以應用該法也只能將備份保存在硬碟里了。
(三)、 Windows98的自動備份注冊表。
Windows98在每次開機是都會自動地備份Registry文件和Win.ini、System.ini文件,Win98的自動備份注冊表功能取消了在Win95中每次開機時自動以System. 和User.為名的兩個文件來備份注冊表數據的功能,而新增加了一個以Cab(Cabinet)作後綴的壓縮文件作為注冊表備份的功能。具體使用如下:
1、備份。如果你在啟動程序組里添置了Scanreg.exe文件, Windows98系統自動完成注冊表的備份。在用戶當天第一次開機時, Windows98將會自動將系統中原有的注表信息,包括System.dat 和User.dat,也包括了System.ini和 Win.ini這四個文件都壓縮成Cab形式的文件,以rb001.cab、rb002.cab 等等名字的Cabinet文件存放在 Windows\Sysbckup目錄下,系統自動保存最近5開機天(注意不是5天)的注冊表數據,超過5開機天時則自動擠掉最早日期的備份文件。執行該命令的是Windows98自帶的Scanregw.exe文件,也可以在純DOS模式下執行純DOS模式文件Scanreg.exe。
如果用戶想在使用Windows98的同時,來創建Registry的一個備份,那麼運行Scanreg.exe,Scanreg會掃描系統注冊表,如果未發現系統注冊表任何錯誤,它將告訴用戶它已在當天備份了注冊表,並詢問是否想現在備份?(如圖4)
圖4
用戶還可以自由的決定Windows98在開機時是否調用Scanreg文件,這只要在系統的程序組里選中不選Sanreg文件即可。用戶也可以決定保存多少天的備份,決定保存的地點,以及決定同備份文件一起保存的其他文件,用戶可以在\windows\下的scanreg.ini文件中設置、修改這些參數。
2、恢復:可以用 Windows自帶的Extract.exe(在 Windows\command目錄下)解開該壓縮文件恢復替換回原注冊表文件即可,也可用其他第三方解壓縮程序如 Winziop7.0等解開所需之rb001.cab等備份壓縮文件覆蓋回去。當然,也可以進入實模式DOS狀態,運行Scanreg.exe文件恢復備份的注冊表。步驟如下:
1).單擊「開始」,再單擊「關閉系統」;
2).單擊「重新啟動計算機並切換到MS-DOS方式」,然後單擊「是」;
3).進入Windows目錄下。例如,如果你的Windows安裝在C:\Windows目錄下,應鍵入以下內容CD C:\WINDOWS後回車;
4).在MS-DOS模式下鍵入C:\WINDOWS\COMMAND\SCANREG/RESTORE後回車。
按照上述步驟,可以將注冊表恢復到最後一次啟動計算機時的狀態。
三、自帶的注冊表編輯器-Registry Editor的使用
事實上,Microsoft已經創建了多個用戶界面如「控制面般」、「列印機」等等對話框,使用他們可不必直接編輯注冊表來改變Registry內的參數值。也許,微軟公司提供的這些界面窗口對於一般用戶來說是足夠了,可對於想深入了解Windows98的用戶,這就遠遠不夠了!這時候,Windows98提供的注冊表編輯器「Registry Editor」就可以幫助你實現你的希望了!
使用Windows98提供的用戶界面來改變Registry的值是最安全的方法,而使用注冊表編輯器時,可能會改變或刪除注冊表的關鍵元素,甚至會導致系統運行的不正常!因此在使用注冊表編輯器之前,最好現備份一次注冊表信息!
(一)啟動注冊表編輯器。
用戶可以在\windows下找到Registry editor,選中後雙擊它,即可啟動注冊表編輯器(如圖1)。也可以在開始菜單下選擇運行命令,在命令窗口中輸入「Regedit」也可以啟動它。Windows98 setup 沒有把它放在一個Start菜單上。
(二)、Registry editor的基本操作
下面我們來看看注冊表編輯器的一些基本操作命令。這里我以使用當前的Desktop作為理想的位置的操作舉個例子來說明一下。
1、首先單擊HKEY_CURRENT_USER左邊的加號。單擊control panl(控制面板)左邊的加號,然後單擊desktop旁邊的加號,選中Windows Metrics選項。這時,會在右邊的窗口中充滿了常量和數值(如圖5)。
2、右擊編輯器的右邊的窗格,會彈出一個窗口(如圖5),
圖5
我們可以選擇它來創建一個主鍵、一個字元串值、一個二進制值或者一個DWORD 值。關鍵字和任意一個常量都可以連接在WindowsMetrics上。
3、右擊Registry左邊窗口的desktop關鍵字,會彈出如圖6的窗口。在這里,用戶可以合並注冊表已擴展的分支,創建一個新的關鍵字、字元串值、或二進制值,查找文本或數值字元串,或者刪除、重命名該關鍵字等等操作。
4、右擊編輯器的右邊的窗口中的關鍵字名,將會顯示一個上下文菜單,它允許用戶調整該常量的值,或者刪除該常量及其它的值以及重命名的命令。
圖6
(三)、導入導出注冊表信息
如前面講過,在備份注冊表信息時可以用這冊表編輯器將這冊表信息導出到一個帶有reg擴展名的ASCII文件中。用戶可以導出整個注冊表,前面已經講過這種使用方法。用戶也可以導出注冊表的一個分支,只要在導出之前,選中注冊表左邊的窗格的該分支即可。
在導出時,編輯器會自動給導出文件一個擴展名.reg,這個文件時可以被寫字板編輯的一個文件。如圖7就是導出的 registry文件的一部分在寫字板中顯示的內容。
圖7
1、查找編輯一個導出的Registry文件。
導出一個注冊表文件的一個目的就是編輯查找信息。在注冊表編輯器里也可以編輯和查找,但是它的功能弱,速度慢,遠遠沒有寫字板的功能強。
在注冊表編輯器里,只允許用戶在關鍵字區域、常量名區域或值的區域內鍵入特定類型的值。而Wordpad的功能十分強大,如果想對注冊表進行大量的更改,那麼導出注冊表再編輯是個好方法。當然如果用戶編輯導出的注冊表文件時會犯些錯誤,而這些錯誤在注冊表編輯器里就會得到避免!
2、把一個文本文件導入或合並到注冊表裡。
如果你已編輯了導出的注冊表文件,那麼只要按照上面的所講的恢復備份操作,就可以把它放回原處。同樣,如果用戶創建了一個這樣的文本文件,它帶有正確格式的關鍵字、常量名、數據值,用戶也可以把它導入到注冊表文件中。
3、改變導出文件的預設行為。
如果你已經導出了一個注冊表文件,你會發現這個文件的標示是 的注冊表文件格式,也就是說它的預設行為是「合並」。如果你單擊它,執行的一個合並命令。用戶也可以改變該文件的預設行為,使其變成編輯命令,以避免用戶的誤操作使得不該合並的文件合並回去了。
(1)、打開任意一個瀏覽器窗口,如打開「我的文檔」窗口。選擇「查看」下的「文件夾選項」菜單,然後單擊「文件類型」如圖8。
圖8
(2)、選中「注冊表」項目,比單擊「編輯」按鈕,彈出圖9的窗口。選中「編輯(E)」,並單擊「設為默認值(S)」。
圖9
(3)、單擊「關閉」即可。
這時,你再單擊.reg的注冊表文件時,它的預設行為變成了編輯狀態,這與Windows 98界面其他部分保持了一致。
三、注冊表使用實例
下面介紹一些注冊表使用的一些實例。
(一)、改變軟體注冊的主人
你是否注意過,一般在安裝軟體時,它會向你詢問用戶的名字和公司的名字,這些信息都被保存在注冊表信息里。用戶也可以改變這些設置。操作方法如下:
1、打開注冊表編輯器。
2、定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion.
3、右擊右邊窗口中的RegisteredOwner和/或RegisteredOrganization,並改變其名字即可。
4、退出注冊表編輯器。
(二)、增加用戶自己的提示
Windows98會為第一次使用的用戶提供提示功能。同樣用戶自己也可以改變注冊表來編輯來源與Microsoft的提示,並為其他的用戶創建新的提示。步驟如下:
1、打開注冊表編輯器。
2、定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explore\Tips。
3、鍵入比已有的提示數目最大數更大的數目。例如,Microsoft最後的一個數是47,那麼用戶就鍵入48。按Enter。
4、雙擊用戶剛剛鍵入的那個數,鍵入一個新的提示,單擊ok。
5、同樣,用戶也可以雙擊一個已有提示的相關聯數目,用戶也可以編輯它。
(三)、改變Windows 98各種輸入法的順序。
假如你已在系統里安裝了多種漢字輸入法,那麼有沒有碰到要連續按多次輸入法切換鍵,才能找到所需輸入法的情況?有沒有辦法能快速切換到所需的輸入法?我想第一種方法就是重新安裝某一漢字輸入法,將最常用的輸入法排在輸入法列表的最前頭。因為Windows98本身並不提供漢字輸入法順序的調整方法。第二種可以通過修改注冊表來調整輸入法的順序、增加或刪除輸入法,甚至可做到Windows98啟動後的預設輸入法為漢字而不是英文。
在注冊表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\keyboard layout\下存放著各中輸入法對應的主鍵,其中E00E0804--微軟拼音輸入法、E00C0804--表形碼輸入法、E0050804--區位碼輸入法、 E0040804--智能ABC輸入法、E0030804--鄭碼輸入法、 E0020804--雙拼輸入法、E0010804--全拼輸入法、 00000409--英文輸入法。在HKEY_USERS\.DEFAULT\keyboard layout\preload\下則是系統所安裝的輸入法的主鍵及鍵值,其主鍵為自然數,鍵值為上表中各輸入法對應的主鍵。如果系統已安裝了「智能ABC」和「全拼」輸入法,則可看到如下的主鍵和鍵值:1、00000409;2、E0040804;3、E0010804。改變輸入法順序,假設要將輸入法順序變為「全拼」、「智能ABC」和「英文」,可將主鍵和鍵值更改如下:1、E0010804;2、E0040804;3 00000409,這樣就可以改變系統中輸入法的順序了。
(四)給Windows98換個名
如果要想在win 中所有關於"windows98"對話框中出現的不是windows98,而是取而代之的My windows或其它有意思的名字。那麼,打開HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\Windows\Current Version,選中Version字串,雙擊將Windows98換成你希望的名字,而且無需啟動,自動生效。
(五)通過"我的電腦"直接啟動資源管理器
你想讓「我的電腦」成為資源管理器嗎?打開HKEY_CLASS_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\Shell,右擊Shell,建立新主鍵,出現"新鍵#1",改名為"Open",再在Open下建"Command"主鍵,方法同上。雙擊"Command"主鍵下的"默認"字元串,將其鍵值改為"explorer/ec:\"(其預設打開路徑為"c:\",要想改變,將"c:\"晃�付ǖ穆肪睹�純桑�I�Ш笏�?我的電腦"打開的就不再是"我的電腦"窗口,而是資源管理器了。如果你不想啟動資源管理器,則將前一步輸入的"explorer/ec:\"改為其他程序名。如"Regedit"。那麼雙擊"我的電腦"打開的就是注冊表編輯器了。
(六)、去掉桌面快捷方式圖標上的箭頭
如果你覺得Windows98快捷方式圖標上的箭頭礙眼,那麼讓可以修改注冊表去掉它。打開注冊表編輯器,在HKEY_LOCAL_MACHINE\Software\classes\lnkfile和HKEY_LOCAL_MACHINE\Software\classes\piffile兩處的鍵值中都有一個"Isshortcut"的字元串值,刪除它,重新啟動計算機後,你就不會看到快捷圖標上的箭頭的。
(七)、刪除"運行"和"查找"對話框中的文件名
�每次從"開始/運行或查找"中鍵入文件名,都會保存在相應的下拉菜單中,日積月累,增加查看的麻煩,並且對於安全來考慮,也需要清除它。打開HKEY_USER\Default\software下面的Microsoft\Windows\Current Version\Explorer\runMRU,在右窗口的"運行……"對話框刪除不需要的文件名;打開HKEY_USER\Default\Software\Microsoft\Windows\Current Version\Explorer\DOCFind SpecMRU,在右窗口的"查找……"對話框刪除不需要的文件名,重啟動Windows後生效。
(八)、隱藏桌面的所有圖標
有時出於某種特別的需要,我們必須隱藏桌面上的所有圖標。首先打開出冊表編輯器,選中HKEY_CURRENT_USER\Software\Micreosoft\Windows\Current version\Policies\Explore,右擊右窗口空白處選"新建/DWORD",出現"新值 #1"改名為「Nodesktop」,雙擊將其鍵值改為1。恢復時只需將值改為0,或直接刪除Nodesktop即可。如果更名為Nosavesetting,雙擊將其鍵值改為1,則會使桌面保持在第一次設置時的狀態,即鎖住桌面。如果更名為Noclose,雙擊將其鍵值改為1,則生效後開始菜單無"關閉系統菜單"選項。恢復法同上,重啟動後生效。
(九)、給你的軟體增添聲音
可以通過注冊表的改變來為單個應用程序增加一些聲音。打開HKEY_CURRENT_USER\Appevents\Schems\Apps「Apps」下面的 ".Dfault"就是每種事件所要發出的聲音,對"Apps"單擊滑鼠右鍵,選"新建"的"主鍵",輸入應用程序的名字,不用擴展名。然後再右擊你新建的主鍵,選"新建"的"主鍵",輸入名字為"Open"。然後,到控制面板選"聲音",能從列表中找到你的應用程序。啟動計算機即生效。
(十)、一些修改桌面和屏幕設置的參數
打開注冊表編輯器,在HKEY_CURRENT_USER\ControlPanel\desktop下可以看到一些項目介紹如下,改變這些項目就可以改變系統的一些功能,讀者不妨一試,這里不再贅述:
1.HungAppTimeout:是指一個應用程序出錯時試圖等待響應的時間,單位為毫秒,預設值為5000毫秒,可以減少為3000毫秒,以加快系統的響應能力。
2.MenuShowDelay:是指「開始」菜單中當滑鼠指向一個具有下級菜單的菜單項時等待出現下級菜單的延遲時間,單位也是毫秒,可以設成100,即等0.1秒就出現。
3.ScreenSaveActive:指屏幕保護功能是否可用,值為0或1,0為不用屏幕保護功能,1為可用。
4.ScreenSaveTimeOut:指屏幕保護的延時,值為一數值,單位是秒,最小值是60秒。
5.ScreenSaveUsePassword:指屏幕保護是否使用密碼,值為0或1,0為不設密碼,1則使用預設的密碼。
6.WaitToKillAppTimeout:是指當用Ctrl+Alt+Del來關閉一個應用程序時出現提示「等待」時選擇「等待」的等待時間,單位是毫秒,默認值是10000,可以減小以縮短等待時間。
四、Msconfig文件的使用
Windows98中新增的msconfig在 Windows98中新增加了一個名為msconfig.exe的系統配置實用程序(該程序在 Windows\System目錄下),通過該程序可以很方便地進行 Windows98系統一些常用配置的編輯、備份、恢復及設置。該配置程序能很直觀地幫助用戶使用、維護及改變有關 Windows98啟動時的一些裝載配置設定,對一些初級用戶來說應該比前面所敘之注冊表的使用要更簡單、直觀和容易一些。
運行msconfig後,會彈出如圖10的窗口。
圖10
窗口中我們可以看到有常規、config.sys、autoexec.bat、system.ini、win.ini以及啟動這六個選項,分別簡述如下:
1常規選項。可以用來選擇啟動選項(注意三個選項是唯一選擇的),也可以選擇診斷啟動。
Windows啟動時以互動式方法裝載驅動程序及軟體,還可以用選擇性啟動來由用戶自行決定 Windows98啟動時對一些驅動程序及軟體項裝載與否。後兩種選擇可以用來幫助用戶在系統啟動時完成一些特殊要求,也可以幫助用戶用來診斷 Windows98啟動時的不正常故障。在這個選項里還可以進行這些配置文件的備份及恢復工作,簡單到只需按幾下有關的按鈕即可。
2、config.sys、autoexec.bat、system.ini、win.ini四個基本配置文件的編輯功能選項(如system.ini選項窗口如圖11)。
圖11
這基本上相當於原來在Windows3.x和9Windows95中用文本編輯器來對這四個文件進行的編輯工作,不過在這兒進行這幾個文件的編輯要比用文本編輯器來得更方便安全一些。
3、啟動選項。如圖12。
圖12
用戶可以在這里很簡單地用勾選或清除啟動項選擇框的方法來自行決定某一啟動項的啟用與否。
⑶ 怎麼備份注冊表
作為Windows的核心組件,一旦注冊表受損很容易導致系統崩潰。在Windows 10 1803版本之前,系統默認會對注冊表進行自動備份,但是之後的新版本卻默認關閉了這個功能。那麼新版本系統如何才能恢復對注冊表的自動備份呢?
主要有2個方法。
一是通過修改注冊表
二是單個導出
修改注冊表
對於1803之後版本的Windows 10系統,我們可以通過修改注冊表的方法重新開啟注冊表自動備份功能。
首先,打開注冊表編輯器,直接在搜索框搜注冊表就可以。
⑷ DOS下導入注冊表的命令!
注冊表在DOS下的導入導出
在DOS提示符下鍵入Regedit命令,將出現一個幫助屏幕。此屏幕給出了其命令行參數及其使用方法。
語法:Regedit[/L:system][/R:user]filename1
Regedit[/L:system][/R:user]/Cfilename2
Regedit[/L:system][/R:user]/Efilename3[regpath]
其中:
/L:system指定system.dat文件的存放位置。
/L:user指定user.dat文件的存放位置。
filename1指定引入注冊表資料庫的文件名。
/Cfilename2指定形成注冊表資料庫的文件名。
/Efilename3指定導出注冊表文件的文件名。
regpath指定導出注冊表文件的開始關鍵字(預設為全部關鍵字)
現舉幾個例子說明regedit.exe在DOS下的使用方法。
【例1】將系統注冊表資料庫registry導出到reg1.reg文件中。
regedit/Ereg1.reg
【例2】reg1.reg形成系統注冊表資料庫registry(全部)中。
regedit/Creg1.reg
【例3】將reg.dat引入系統注冊表資料庫中(部分)。
regeditreg.dat
【例4】將CJH開始的關鍵字導出注冊表資料庫,並命名為cjh.reg。
regedit/Ecjh.regcjh
【例5】指定system/dat存放在D:\PWIN中和user.dat存放在E:\PWIN中,將reg.dat數據文件形成一個新的注冊表資料庫registry。
regedit/L:D:\PWIN/R:E:\PWIN/Creg.dat
有了以上這些知識,結合在《對注冊表進行編程的「捷徑」》里講過的關於導入或導出的注冊表文件(*.REG),我們就可以在DOS方式下對注冊表進行編程了。
我們還是以更改「*.txt」文件的默認打開方式——「記事本」為「寫字板」為例。首先在MS-DOS提示符下導出「HKEY_CLASSES_ROOT\txtfile」子鍵這一分支,即執行命令:
regedit/Etxt.regHKEY_CLASSES_ROOT\txtfile
然後用DOS下的EDIT編輯器打開txt.reg文件進行編輯:將其中所有的「C:\\WINDOWS\\NOTEPAD.EXE」全部改成「C:\\WINDOWS\\WRITE.EXE」,存檔退出EDIT,再在命令行下執行命令:
regedittxt.reg
便大功告成了
⑸ 關於注冊表
注冊表由來
PC機及其操作系統的一個特點就是允許用戶按照自己的要求對計算機系統的硬體和軟體進行各種各樣的配置。早期的圖形操作系統,如Win3.x中,對軟硬體工作環境的配置是通過對擴展名為.ini的文件進行修改來完成的,但INI文件管理起來很不方便,因為每種設備或應用程序都得有自己的INI文件,並且在網路上難以實現遠程訪問。
為了克服上述這些問題,在Windows 95及其後繼版本中,採用了一種叫做「注冊表」的資料庫來統一進行管理,將各種信息資源集中起來並存儲各種配置信息。按照這一原則,Windows各版本中都採用了將應用程序和計算機系統全部配置信息容納在一起的注冊表,用來管理應用程序和文件的關聯、硬體設備說明、狀態屬性以及各種狀態信息和數據等。
與INI文件不同的是:
1.注冊表採用了二進制形式登錄數據;
2.注冊表支持子鍵,各級子關鍵字都有自己的「鍵值」;
3.注冊表中的鍵值項可以包含可執行代碼,而不是簡單的字串;
4.在同一台計算機上,注冊表可以存儲多個用戶的特性。
注冊表的特點有:
1.注冊表允許對硬體、系統參數、應用程序和設備驅動程序進行跟蹤配置,這使得修改某些設置後不用重新啟動成為可能。
2.注冊表中登錄的硬體部分數據可以支持高版本Windows的即插即用特性。當Windows檢測到機器上的新設備時,就把有關數據保存到注冊表中,另外,還可以避免新設備與原有設備之間的資源沖突。
3.管理人員和用戶通過注冊表可以在網路上檢查系統的配置和設置,使得遠程管理得以實現。
注冊表完全恢復手冊
注冊表是伴隨著Win95出現在我們面前的,其實它早就在NT中擔當起了重要的作用。採用注冊表來管理系統配置,主要是為了提高系統的穩定性。而系統出現的一些問題(如無法啟動、應用程序無法運行、系統工作不正常等),很多都是因注冊表出現錯誤而造成的,通過修改相應的錯誤數據就能使得Windows工作如初了。但注冊表的結構太復雜,不正確的修改常常會帶來更壞的結果。下面介紹幾種安全恢復注冊表的方法,希望能幫助大家遠離令人頭疼的注冊表問題。
未 雨 綢 繆 篇
及大量應用程序的安裝使用時要調用的各種信息等。它由3個相對獨立的注冊表文件組成:系統配置注冊表文件:system.dat、用戶平台配置注冊表文件user.dat和網路管理注冊表文件config.pol。它們存儲在Windows目錄中,其中system.dat中存儲著當前計算機的配置,特別是各種即插即用設備的硬體配置,如設備的I/O地址、中斷號(IRQ)以及DMA的值等;user.dat主要用來定義用戶的優先權,存儲著特定於某一用戶的應用程序的安裝信息等;而config.pol則是只有當Win98的用戶安裝了系統策略編輯器後才會生成的注冊表文件,它存儲的設置可以對網路用戶的操作做出限制。一般而言,組成一個完整的注冊表文件系統,system.dat和user.dat這兩個文件是必不可少的。
一、文件備份還原法
顯然,及時、正確的備份能夠在計算機發生意外時,比較完全地恢復整個工作進程。對注冊表進行的備份也一樣,利用在正常工作狀態下備份的注冊表可以用來恢復發生錯誤的注冊表,從而達到使系統重新恢復正常工作的目的。
(一)備份
1�簡單拷貝法
備份注冊表就是備份system.dat和user.dat這兩個文件。它們的文件屬性都是系統、隱藏、只讀的,因此一般情況下無論在DOS還是Windows窗口狀態都是不可見的,在備份時要注意使用一些「技術」。
在DOS狀態下,請先進入Windows目錄,然後鍵入命令「Attrib -h -r -s system.dat」,對於user.dat同樣操作,此時就可以將這兩個文件復制到其他的目錄中去了。
在Windows窗口狀態下,在【查看】中選擇【文件夾選項】→【查看】,在【隱藏文件】中選擇【顯示所有文件】,這樣system.dat和user.dat才能在文件夾窗口中顯示出來。剩下的復制工作應該就不用我多說了吧。
2�注冊表導出法
將注冊表導出,也是一種不錯的注冊表備份方法。在【開始】→【運行】欄中運行【Regedit.exe】,選【注冊表】→【導出注冊表】,最後選擇導出注冊表文件的存儲位置就可以了。要注意的,在導出注冊表時,千萬要在【導出范圍】中選擇【全部】,否則導出的注冊表文件不完全,將無法用來恢復原注冊表。採用此方法備份後只生成一個文件,它的文件名的後綴是.reg。
(二)還原
1�簡單拷貝法的還原
還原的方法當然是重新用備份的文件覆蓋現有文件。不過要注意的是,在覆蓋現有文件前,同樣得先將system.dat和user.dat的文件屬性全部取消,否則系統會拒絕覆蓋操作。在還原前請務必啟動到DOS狀態下,然後再進行此操作。千萬不要在Windows或Windows的DOS窗口下進行此還原操作,否則不但不能恢復注冊表,反而會對注冊表產生極大的破壞。
2�注冊表導出法的還原
利用注冊表導出法的注冊表文件還原系統時,既可以在Windows下進行,也可以在DOS下進行。
在Windows下進行時,運行注冊表後選【注冊表】→【導入注冊表】,選擇要導入注冊表文件的所在位置,重新啟動後就可以恢復注冊表。雖然此法無論在安全模式還是正常方式下都可以進行,但為了保險起見,筆者還是建議最好在安全模式下或是乾脆用下面介紹的在DOS下進行操作。
在DOS下只能以命令行的方式運行Regedit.exe,但它可以解決無法進入Windows情況下的注冊表恢復問題。其命令行形式:
Regedit [/L: system] [/R: user] filename1
Regedit [/L: system] [/R: user] /C filename2
Regedit [/L: system] [/R: user] /E filename3 regpath1
Regedit [/L: system] [/R: user] /D regpath2
參數含義:
/L: system 指定system.dat文件的存放位置;
/R: user 指定user.dat文件的存放位置;
filename1 指定導入的注冊表資料庫文件名;
/C filename2 利用指定的注冊表文件重新生成注冊表;
/E filename3 導出注冊表文件為指定文件名;
regpath1 將指定開始關鍵字的部分從注冊表文件中導出;
/D regpath2 將指定開始關鍵字的部分從注冊表文件中刪除
具體在恢復注冊表時,可以採取命令行1的形式:Regedit bak.reg(假設你導出的備份注冊表文件為此文件名)。不過建議採用命令行2的形式,即:Regedit /C bak.reg,因為此命令不但會將bak.reg中的所有信息導入注冊表,而且會將其中的一些無用的信息(如一些已經被刪除的程序在注冊表中的殘留部分關鍵字等)同時剔除,從而達到壓縮重建注冊表的目的。
順便提一下,命令行2也不一定要在恢復注冊表才使用,平時運行也能壓縮、清除注冊表中的「垃圾」,從而起到提高Windows啟動速度,減少注冊表錯誤發生幾率的作用。筆者就曾經利用此命令將原來6兆的注冊表壓縮為4兆。要注意的是,在使用此命令時,請務必在運行前載入磁碟緩沖smartdrv,否則它的運行時間之長或許足夠你去看一場電影了!
二、系統備份法
正是由於注冊表對於系統的重要性,微軟在開發Win95時就考慮到系統對於注冊表的自動備份問題。盡管它所提供的功能直到Win98才令人稍感滿意,但畢竟這也不失為修復注冊表的方法之一。
(一)Windows 95
當初Win95各版本中提供的系統自動備份注冊表的方法比較簡單,通常是在Windows系統啟動的同時,將當前的注冊表文件備份。具體的做法就是將system.dat和user.dat這兩個文件分別備份為相同屬性的system.da0和user.da0。因此,當系統因注冊表遭破壞無法啟動時,可以手工將system.da0和user.da0這兩個文件拷貝並覆蓋system.dat和user.dat(請注意在操作前,分別將這4個文件的文件屬性全部取消)。盡管這種想法不錯,但由於疏忽和一些無法預料情況的發生,系統自動備份的注冊表經常會在不知不覺中被破壞或備份失敗。例如:①當注冊表的破壞是在上
次關機以前發生的,而當你再次啟動系統時,備份的注冊表其實就是已經遭破壞的注冊表的「完全」拷貝了;②啟動時注冊表為正確的,此時系統自動備份的注冊表也是好的,但在系統啟動過程中發生意外(如突然停電、硬碟意外讀寫錯誤等)導致系統啟動失敗,當你再次啟動時,原來完整的注冊表備份也會被已經遭破壞的注冊表覆蓋。因此,利用system.da0和user.da0這兩個備份文件來恢復注冊表的效果不是十分令人滿意,成功率一般在50%左右。要注意在一次啟動失敗後,盡量不要試圖再次啟動,應該立即用system.da0和user.da0這兩個文件來覆蓋恢復,否則90%以上你的系統是再也無法恢復的了。
(二)Windows 98
Win98對注冊表文件備份系統的改進之處主要體現在以下兩個方面:①備份文件不僅包括system.dat和user.dat,還包括了system.ini和win.ini這兩個初始化文件,大大提高了系統還原的完整性;②備份文件被統一地壓縮在一個文件中,而且備份壓縮文件的數量大大增加,避免了在Win95下一個備份容易發生錯誤無法恢復的現象。
Win98將注冊表的備份文件放在了Windows下面的隱藏子目錄Sysbckup中,備份文件以rbX為名,都是CAB格式的壓縮文件,每個文件包含system.dat、user.dat 、system.ini和win.ini。默認情況下,系統共留有5個(X從000到004,如果某次有錯誤,數字往後順延)壓縮包備份,這5個壓縮包備份分別是你最近5個工作日中第一次啟動計算機時系統所做的備份。請注意,並不是最近5次,舉個例子,如果你每天都使用計算機,那麼這5個備份中保存的分別是5天來每天你第一次啟動計算機時的注冊表文件。當某次啟動發生錯誤時,系統會將這時的注冊表文件另外保存為rbbad.cab,以供使用者分析、尋找發生錯誤的原因所在。
了解了Win98的備份原理後,對於注冊表的還原就比較輕鬆了。如果你可以進入Windows(哪怕是安全模式),想進行備份還原的話,只要用Winzip等支持CAB壓縮格式的軟體選擇最近的或是前幾天的備份壓縮包文件,並將其中的4個文件解壓出來,重新啟動計算機到DOS狀態,利用這些文件覆蓋相應同名文件就可以了。如果你在啟動的時候就無法進入Windows的話,那麼可以嘗試在DOS下進行備份還原工作:①利用Windows提供的extract.exe文件,用命令行方式將備份文件展開,直接對系統注冊表文件進行覆蓋還原(假設當前目錄為Windows):extract /Y �.� Sysbckup\ rbX.cab,其中X為000~004。②利用Windows附帶的scanreg.exe,在DOS狀態下運行此程序,按提示選擇檢查注冊表,在程序檢查完注冊表後,可以看到【Create Backups】和【View Backups】這兩項,前者用來將當前的注冊表備份下來,後者用來查看以前備份的注冊表情況。選擇後者,屏幕將顯示近日來的各備份注冊表文件情況(主要是備份的時間),選擇你想還原的備份,按回車,然後選擇【Restore】開始還原,還原完畢後選擇【Restart】重新啟動計算機就可以了。
注意,當你第一次啟動計算機失敗後,請不要不斷地繼續嘗試啟動計算機,因為scanreg.exe會將啟動失敗的注冊表都一一依次備份下來,如果你連續啟動失敗5次的話,也就意味著原先備份的5個完好的注冊表都將被這連續5次的壞注冊表所替代,也就失去了利用它們來還原系統注冊表的機會。因此,在啟動失敗後,請盡量不要一而再再而三地連續啟動,應及時地進行注冊表還原工作。
亡 羊 補 牢 篇
古人雲:亡羊補牢,為時未晚。如果你從來就沒有備份注冊表的習慣,或是在Windows下所有的系統自動備份都已經如前所述被已遭破壞的注冊表文件所替代了的話,那麼試試下面的方法,或許能使你的機器再次正常地運轉起來。
一、保守還原法
一般而言,當Win9X在成功安裝完畢後,會自動將第一次正常運行時的系統信息(其實也就是注冊表信息,主要是相應的硬體信息)保存在C盤根目錄下的system.1st這個文件中。利用它,有可能將系統恢復到最初安裝時的狀態。具體的做法如下:在DOS下,首先去除system.1st以及Windows目錄下system.dat的文件屬性(它們都是系統、只讀、隱藏屬性),然後將system. 1st拷貝為system.dat來覆蓋系統的system.dat,最後重新啟動計算機。如果啟動成功,還得對系統進行大幅度地調整才能恢復到破壞前的狀態。
二、「李代桃僵」法
如果有和你的硬體配置大致相同的計算機,可以用那台計算機上的注冊表文件(system.dat和user.dat)來覆蓋自己計算機上的注冊表文件,然後啟動。如果可以進入Windows,再對系統做相應的修改,就能恢復如初了。盡管這種方法成功的概率比較小(大約在25%左右),但這也是不得已而為之,或許能將你的「死馬」真的醫活了。
如果上面的招數對你都無效,那我再教你一記「超級絕招」——准備好你的Windows安裝光碟,然後Setup吧!筆者憑著對注冊表的了解(經常在裡面修修改改)以及以上幾大絕招,創造了自上年10月安裝Win98至今沒有重新安裝的個人新記錄。
如何清理注冊表
刪除多餘的DLL等文件
對共享軟體感興趣的朋友可能都知道著名的DLL文件清理工具CleanSweep。它的作用,就是將我們長期在系統中添加、刪除程序時,在System目錄下留下來的大量無用的DLL文件刪除,從而提高系統的工作效率,減少硬碟空間的損失。通過注冊表,我們也能發現一些無用的DLL文件信息或是VxD文件信息等並將其刪除,從而提高系統的運行效率:在注冊表中依次打開「HKEY-LOCAL-MACHINE\Software\Microsoft
\Windows\CurrentVersion\ShareDLLs」,此子鍵下包含的項目即是應用程序安裝完畢後向注冊表中寫入的DLL文件共享信息,每個DLL文件的鍵值表明了共享此DLL文件的應用程序數目(在卸載這些應用程序時,卸載程序會給出類似「xxx文件被其他文件共享,是否確定刪除」的提示),如果某個DLL文件所對應的數值為0,即表示此DLL文件對系統已沒有用處,我們可以直接將其刪除。對於其他類型的文件,只要其值為0,我們就可以判斷其已沒有用處,應當予以刪除。
此外,在此子鍵下,你可能會發現以前刪除的許多文件包括文件夾(在硬碟上已不存在)下包含的眾多文件,它們的值不一定為0,但你一樣可以完全將其刪除。
重建作清理
我們知道,通過注冊表可以將「添加、刪除程序」中的各種無法刪除的卸載程序信息刪除,那麼你有沒有想過,你在大量增刪各種應用程序和硬體設備驅動程序的同時,不可避免地要向注冊表中寫入數據。時間長了,這些廢棄的數據會越來越多,你的注冊表文件也越來越臃腫,不僅使你的「酒吧」因為負擔越來越重而速度越來越慢,還會經常導致「酒吧」莫名其妙地罷工或提示出錯。
現在,我們就動手來將這些無用的信息刪除,方法是重建注冊表。首先打開注冊表編輯器,在注冊表編輯器中單擊「文件」菜單下的「導出」命令,將現有完整包含各種軟體、硬體資源的注冊表導出並為其命名,如命名為dc1.reg(因為要在DOS下執行重建注冊表工作,因此最好不要起中文名稱)。
然後重新啟動計算機進入DOS狀態(不能用Windows 98 中的DOS模式,重建注冊表時Windows 98 不能運行),然後執行下述命令;
regedit/c dc1.reg(c與文件名之間應留一空格)
regedit/c表示從後面指定的文件中重新生成整個注冊表。完成後再啟動計算機進入Windows 98 ,你會發現重建的注冊表文件比原來小了很多(視Windows 98安裝後安裝和卸載程序的多少而定)。這樣經過「減肥」會使Windows 98的運行效率得到提高。
不過需要注意的是,用這種方法重建注冊表時一定要注意的DOS的版本,一般計算機只安裝了Windows 98的沒什麼問題,如果計算機同時安裝了多個操作系統,進行此項操作最好在DOS 7.0下進行,至少也應在DOS 6.22下進行。Windows 98重建注冊表需要很長的時間,以本人計算機為例,賽揚300A,升技BH6主板,64M PC100內存,昆騰火球7代6.4G硬碟,導出的注冊表大小為5.86M,重建注冊表約耗費了1小時,所以朋友們在進行這項操作前,最好能先載入磁碟高速緩存程序Smartdrv以便加快處理速度,同時在重建注冊表前應先將原有的注冊表進行完整備份,以免發生不必要的問題。
清理注冊表中的軟體信息垃圾
雖然現在絕大多數基於Windows 98 的軟體都自帶了卸載程序或是為Windows 98的「添加/刪除程序」提供了卸載信息,但它們並不自覺地在退出歷史舞台時將自身刪的乾乾凈凈,大多數在卸載時並不會將注冊表中的相關信息文件(這些信息主要是軟體在初始安裝時寫到注冊表中的有關生產商、ID號、用戶名等)刪除,導致注冊表越來越龐大,無用的軟體信息垃圾越來越多。我們可以在注冊表中用手工方式刪除這些無用的信息:
在注冊表中依次打開「HEKY-CURRENT-USER\software」,它的下麵包含的主鍵一般以軟體生產商命名,如微軟體出品的一系列軟體都包含在「Microsoft」主鍵項中。如果確信某些軟體已被刪除,就可以將其鍵值全部刪除。
⑹ 如何從命令提示符中導出注冊表
比如:
REG
EXPORT
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
C:\AppBkUp.reg
將注冊表項
Run
的所有子項和值導出到文件在
c盤
目錄下
AppBkUp.reg
⑺ 如何從命令提示符中導出注冊表
運行里輸入 regedit
在彈出窗口裡菜單 文件 導出就行了
⑻ 如何備份注冊表
主要有2個方法。
一是通過修改注冊表
二是單個導出
修改注冊表
對於1803之後版本的Windows 10系統,我們可以通過修改注冊表的方法重新開啟注冊表自動備份功能。
首先,打開注冊表編輯器,直接在搜索框搜注冊表就可以。
⑼ 如何用CMD修改注冊表
1、在WIN10系統中,按住WIN窗口鍵,再按R,打開運行,輸入 regedit,後點擊 確定。