如何使用注冊(cè)表(2)
注冊(cè)表的損壞和解決方法
注冊(cè)表可能出現(xiàn)的問(wèn)題。
如果注冊(cè)表受到嚴(yán)重的損害,存取硬件和軟件可能會(huì)受到很大的限制,甚至系統(tǒng)不能啟動(dòng)??赡芤?yàn)橐粋€(gè)很小的問(wèn)題,一個(gè)應(yīng)用程序?qū)⒉荒苷5倪\(yùn)行,或者運(yùn)行的不穩(wěn)定。
當(dāng)注冊(cè)表在運(yùn)行時(shí)是受保護(hù)的,所以它不可能被復(fù)制,刪除,或者改變內(nèi)容,除非經(jīng)過(guò)一個(gè)“驗(yàn)證過(guò)的”程序(比如安裝程序,注冊(cè)表編輯工具,和域用戶管理器改變安全策略和瀏覽器等)。由于這些保護(hù),注冊(cè)表是十分安全的,但是并不是完全能防止的。問(wèn)題仍會(huì)發(fā)生,你需要作好認(rèn)識(shí)它們的準(zhǔn)備來(lái)應(yīng)付這些問(wèn)題,
一:應(yīng)用程序和驅(qū)動(dòng)被添加到系統(tǒng)中
1:在注冊(cè)表中找出大半的錯(cuò)誤與添加和刪除程序有關(guān)。多數(shù)用戶自己添加或者更新驅(qū)動(dòng),應(yīng)用程序等等。而且添加和刪除都是多次的。
2:程序本身也有問(wèn)題。沒(méi)有任何應(yīng)用程序沒(méi)有bug或者錯(cuò)誤。最好的情況,就是錯(cuò)誤微乎其微,復(fù)雜深?yuàn)W的問(wèn)題你可能從來(lái)沒(méi)見過(guò)。在設(shè)計(jì)程序時(shí)因?yàn)槭軙r(shí)間和經(jīng)費(fèi)的限制,這些錯(cuò)誤被放置不管。作為一個(gè)程序員來(lái)講,在程序里有錯(cuò)誤可能是次要的,但是它使系統(tǒng)崩潰那就變成一個(gè)大問(wèn)題了。
3:驅(qū)動(dòng)程序不兼容。個(gè)人計(jì)算機(jī)世界的開放結(jié)構(gòu)體系造成了一定的風(fēng)險(xiǎn),因?yàn)槿魏晤愋偷牟考M合在一起都是可能的。但測(cè)試所有的組合并保證所有設(shè)備的兼容性卻不太可能。所以當(dāng)用有windows 95下的驅(qū)動(dòng)被用在windows nt時(shí),某些問(wèn)題就會(huì)產(chǎn)生。
4:在應(yīng)用程序安裝過(guò)程中在注冊(cè)表中添加了不正確的項(xiàng)。在安裝時(shí),多數(shù)應(yīng)用程序使用叫一個(gè)叫SETUP.INF的文件詳細(xì)說(shuō)明例如需要什么磁盤,哪個(gè)目錄將被建立,從哪里復(fù)制文件,使應(yīng)用程序工作正常所需要建立的注冊(cè)表項(xiàng)等等詳細(xì)信息。如果在SETUP.INF中有一個(gè)錯(cuò)誤,這個(gè)改變也仍然會(huì)出現(xiàn),就會(huì)出現(xiàn)嚴(yán)重的問(wèn)題。
5:一個(gè)應(yīng)用程序?qū)е铝硪粋€(gè)應(yīng)用程序和它缺省的文件關(guān)聯(lián)出現(xiàn)錯(cuò)誤。當(dāng)一個(gè)應(yīng)用程序被安裝后,缺省文件類型被記錄在注冊(cè)表中。然后用戶可以通過(guò)雙擊來(lái)啟動(dòng)應(yīng)用程序和裝載文件。很多時(shí)候,其他應(yīng)用程序也會(huì)使用同樣的擴(kuò)展名。舉例說(shuō),當(dāng)一個(gè)TIF圖形在基于注冊(cè)表里的設(shè)置被激活時(shí),最后一次裝載的程序?qū)?huì)變成一個(gè)執(zhí)行體。有時(shí)候,徹底不相同和根本不兼容的程序會(huì)在它們自己的文檔文件中使用相同的文件擴(kuò)展名,啟動(dòng)文檔的快捷方式將不會(huì)工作。在用戶操作過(guò)程中,如果在文件打開方式選擇了不正確的程序,就會(huì)造成一定的問(wèn)題。
6:在反安裝時(shí)出現(xiàn)的錯(cuò)誤。當(dāng)你在控制面板里面的添加/刪除程序中刪除程序時(shí),通過(guò)應(yīng)用程序自身的反安裝特征,或者通過(guò)第三方軟件,這可能會(huì)對(duì)注冊(cè)表造成損壞。除此之外,刪除程序,輔助文件,數(shù)據(jù)文件和反安裝程序可能會(huì)試圖移去注冊(cè)表的參數(shù)項(xiàng)。因?yàn)橄到y(tǒng)不可能知道一個(gè)應(yīng)用程序在注冊(cè)表中所要存取的相關(guān)參數(shù)項(xiàng),這將會(huì)不經(jīng)意的移除掉其他應(yīng)用程序的參數(shù)項(xiàng)。
7:字體的錯(cuò)誤。當(dāng)注冊(cè)表中字體ID出錯(cuò),你將在應(yīng)用程序中看到一種不同的字體。這就讓人感覺(jué)很討厭并可能需要你移去部分或全部字體并取代它們。這經(jīng)常發(fā)生在用戶頻繁安裝和刪除字體的時(shí)候。
二:硬件設(shè)置改變或者硬件失敗
1:如果計(jì)算機(jī)系統(tǒng)自身有問(wèn)題,注冊(cè)表會(huì)有損害。通常的,這些錯(cuò)誤可以在正確的系統(tǒng)維護(hù)和管理下避免。
2:病毒問(wèn)題。病毒很隱秘的改變正常的文件和注冊(cè)表中的部分內(nèi)容來(lái)影響我們的系統(tǒng)。
3:計(jì)算機(jī)用電如果不正常也會(huì)影響計(jì)算機(jī)系統(tǒng),用UPS可以避免。
4:磁盤問(wèn)題。很多時(shí)候你會(huì)因?yàn)槿萘坎粔蚴褂布《鴵Q掉你的硬盤。如果整塊硬盤失敗,當(dāng)然,你將不得不從備份中恢復(fù)你的注冊(cè)表。其他的則是磁盤獨(dú)立扇區(qū)或者簇的故障。雖然這些情況在今天的系統(tǒng)不可能發(fā)生,但是磁盤表面介質(zhì)的故障會(huì)使得磁盤部分不可讀,包括那些注冊(cè)表文件位置。
三:用戶改動(dòng)了注冊(cè)表
1:手工改變注冊(cè)表。當(dāng)人們手工編輯注冊(cè)表,由于數(shù)據(jù)的復(fù)雜性和難懂性使得他們難免容易犯錯(cuò)誤,而且這個(gè)錯(cuò)誤可能很嚴(yán)重導(dǎo)致系統(tǒng)工作發(fā)生中斷。
2:拷貝其他注冊(cè)表是很多用戶犯的一個(gè)嚴(yán)重錯(cuò)誤。因?yàn)閺钠渌麢C(jī)器上拷貝來(lái)的注冊(cè)表文件并不意味著也會(huì)在這一個(gè)機(jī)器上工作正常。對(duì)單獨(dú)的系統(tǒng)來(lái)說(shuō)注冊(cè)表都是特殊的。甚至計(jì)算機(jī)硬件設(shè)備相同,拷貝來(lái)的注冊(cè)表在另一個(gè)系統(tǒng)上也不見得就會(huì)工作。如果使用另一個(gè)系統(tǒng)的注冊(cè)表,多數(shù)硬件設(shè)備將不會(huì)工作,用戶和安全問(wèn)題可能造成數(shù)據(jù)和應(yīng)用程序信息無(wú)法使用。
技巧:如果你的注冊(cè)表不斷的變的龐大,那么先導(dǎo)出它然后象上面那樣再逐個(gè)導(dǎo)入它。在這個(gè)導(dǎo)入導(dǎo)出過(guò)程中注冊(cè)表中不必要的項(xiàng)將被清除出去。如果你使用Win98那么你可以使用Scanreg.exe程序。在windows目錄命令提示下打Scanreg /fix來(lái)執(zhí)行命令。
請(qǐng)記住:預(yù)防要比修復(fù)好的多。注冊(cè)表太容易被改變了,在發(fā)生突然事件時(shí)有幾個(gè)注冊(cè)表的備份是解決問(wèn)題最好的方法。
從注冊(cè)表故障中恢復(fù):
這里有四種不同級(jí)別的方法可以從Windows注冊(cè)表故障中恢復(fù)
Restart
Redetect
Restore
Reinstall
讓我們來(lái)看每一個(gè)方法來(lái)斷定來(lái)使用它最適合的時(shí)間,并且解決何種類型的問(wèn)題。
Restart(重新啟動(dòng))Win95注冊(cè)表大部分內(nèi)容保存在RAM中。如果哪個(gè)信息受損,它就必須重新讀取到正確的信息。當(dāng)你重新啟動(dòng)系統(tǒng),注冊(cè)表將數(shù)據(jù)從硬盤讀到RAM中就能使用了。
拿字體ID問(wèn)題來(lái)說(shuō)。每種字體在系統(tǒng)中用一個(gè)ID號(hào)來(lái)使用。當(dāng)一個(gè)字體被用在一個(gè)文檔時(shí),這個(gè)字體被這個(gè)數(shù)字保存并且用一個(gè)名字來(lái)標(biāo)識(shí)。當(dāng)字體ID損壞那么字體顯示和打印將被其他字體取代。重新啟動(dòng)系統(tǒng)從硬盤上刷新數(shù)據(jù),將產(chǎn)生修復(fù)過(guò)的字體ID,這樣字體顯示和打印就變的正常了。
這也就是為什么Windows系統(tǒng)故障經(jīng)常在重新啟動(dòng)后就又恢復(fù)正常的一個(gè)原因。
Redetect the Devices(重新檢測(cè)硬件)
如果一個(gè)設(shè)備工作不正常,那么在注冊(cè)表中控制設(shè)備的設(shè)置可能受損了。為了重新設(shè)置注冊(cè)表,你應(yīng)該刪除并且重裝設(shè)備的驅(qū)動(dòng),或者你應(yīng)該讓W(xué)in95重新檢測(cè)它們。很多時(shí)候,當(dāng)一個(gè)設(shè)備工作不正常,它們會(huì)在設(shè)備管理器上此設(shè)備前使用一個(gè)驚嘆號(hào)標(biāo)志顯示出來(lái)。很明顯,如果設(shè)備從來(lái)不工作,可能就是其他問(wèn)題了。但是如果設(shè)備以前工作,現(xiàn)在出問(wèn)題,注冊(cè)表就需要被恢復(fù)。
要檢測(cè)一個(gè)設(shè)備,在控制面板上選擇添加新硬件。第一個(gè)問(wèn)題是文你“需要Windows搜索新硬件嗎?”如果你選擇是,Win95將做一個(gè)徹底的搜索去找“新”設(shè)備。任何設(shè)置不正確的或者沒(méi)找到驅(qū)動(dòng)的設(shè)備將被檢測(cè)到并顯示出來(lái)。
Restore(恢復(fù))
從CFGBACK中恢復(fù)注冊(cè)表
從CFGBACK中恢復(fù)注冊(cè)表有很多好處。如果你建立了幾個(gè)備份,你可以選擇正確的一個(gè)來(lái)恢復(fù)。你可以如同做手術(shù)般放置排列注冊(cè)表參數(shù)項(xiàng)。
導(dǎo)入注冊(cè)表文件
象前面章節(jié)講述的那樣,一個(gè)代替使用備份的方法就是導(dǎo)入一個(gè).REG文件。REG文件包括了目的數(shù)據(jù)位置,所以對(duì)這個(gè)文件簡(jiǎn)單的雙擊就可以將數(shù)據(jù)放入注冊(cè)表。它是所有恢復(fù)程序中最簡(jiǎn)單的,但是也可能造成錯(cuò)誤。錯(cuò)誤不會(huì)是用regedit.exe把數(shù)據(jù)寫入錯(cuò)誤的位置,它很可能出現(xiàn)在用戶直接雙擊注冊(cè)表文件的時(shí)候。
Reinstall(重新安裝)
重新安裝
最后的方法就是重新安裝驅(qū)動(dòng)、應(yīng)用程序或者Win95。一般來(lái)說(shuō),它只花費(fèi)你一個(gè)小時(shí)左右時(shí)間去做這些事。如果你在現(xiàn)有的文件上重新安裝,很多配置信息還被安裝在同樣的地方。同樣在安裝驅(qū)動(dòng)程序時(shí),你應(yīng)該重新加入配置數(shù)據(jù)。
實(shí)際上找出原因并修復(fù)它所花費(fèi)的時(shí)間比重新安裝還要多,這也就是為什么重新安裝在技術(shù)支持上是一個(gè)相當(dāng)普通的“解決方法”。關(guān)鍵的問(wèn)題在于,“你是否想找出是什么錯(cuò)誤,或者你是否只想讓它工作正常?”答案取決于問(wèn)這個(gè)問(wèn)題的用戶情況,發(fā)生問(wèn)題的頻繁次數(shù)和重新安裝的軟件的實(shí)用性,
當(dāng)Windows第一次被安裝時(shí)它將在啟動(dòng)目錄的根目錄上創(chuàng)建一個(gè)名為SYSTEM.1ST的文件。這是Windows第一次啟動(dòng)時(shí)創(chuàng)建的個(gè)簡(jiǎn)單的system.dat文件。你所應(yīng)該做的就是將這個(gè)文件放到windows目錄(在dos模式下)并將它的名字改為SYSTEM.DAT。然后重新啟動(dòng)。然后你就可以得到安裝時(shí)第一次啟動(dòng)的windows。
因?yàn)楹芏?ini和.dll和其他文件的改變,這種方法的成功機(jī)率大概只超過(guò)50%。比如當(dāng)裝IE4.0后系統(tǒng)和注冊(cè)表將有一個(gè)徹底的改變。我們的system.1st文件雖然包含了一個(gè)dll文件的參考,但它可能更新或者改變版本號(hào)。
這里就是幾個(gè)在注冊(cè)表出故障的時(shí)候恢復(fù)它的工具和方法。你的數(shù)據(jù)可能會(huì)安全恢復(fù),但是不管你用什么方法,除了重新格式化硬盤,最好的方法就是做好系統(tǒng)注冊(cè)表的備份工作。
備份注冊(cè)表
兩個(gè)重要的分支:
1:用戶個(gè)人數(shù)據(jù)[HKEY_CURRENT_USER]
該分支中存放的是當(dāng)前登錄用戶的個(gè)人個(gè)性化喜好設(shè)置、所用的軟件的設(shè)置等個(gè)人數(shù)據(jù)。無(wú)論來(lái)賓、受限用戶、高級(jí)用戶還是管理員,都可以修改屬于自己個(gè)人的注冊(cè)表數(shù)據(jù)。用戶個(gè)人的注冊(cè)表數(shù)據(jù)就是“注冊(cè)表編輯器”左側(cè)窗格[HKEY_CURRENT_USER]主鍵下所包含的各子項(xiàng)和值項(xiàng)。
2:系統(tǒng)的核心數(shù)據(jù)[HKEY_LOCAL_MACHINE]
只有管理員權(quán)限的用戶可以訪問(wèn)系統(tǒng)注冊(cè)表數(shù)據(jù),其中存放了系統(tǒng)中各項(xiàng)重要的核心設(shè)置數(shù)據(jù)。系統(tǒng)的注冊(cè)表數(shù)據(jù)就是“注冊(cè)表編輯器”左側(cè)窗格顯示的[HKEY_LOCAL_MACHINE]所包含的項(xiàng)、子項(xiàng)和值項(xiàng)。
看過(guò)“如何使用注冊(cè)表“的人還看了: