首页
/
每日頭條
/
生活
/
哪個軟件可以清除注冊表
哪個軟件可以清除注冊表
更新时间:2024-12-29 23:46:11

注冊表是Windows操作系統的一個核心數據庫,記載着機子的硬件信息、系統配置、用戶配置等各種“高大上”的數據。對于Windows用戶來說,如果不會手動修改個注冊表項,簡直都不好意思自稱“電腦高手”。“高手”們熱衷于通過regedit提升電腦運行速度、DIY系統配置,把0改成1,把1改成2,狂拽炫酷;而包括我在内的“低手”們隻得望其項背,據說保不齊能把系統改癱了,輕易不敢碰得,但有一項技能是可以輕松get的,那就是使用第三方軟件清理注冊表垃圾,這麼做也多少能提升一點逼格,畢竟還有好多人不知道注冊表這東西呢!

可正當大家一緻認為清理注冊表有助于提高系統性能,正當我們抱着這份信念每天happy地做着清理時,有人卻發出了“清理注冊表毫無用處”的觀點。唯一的逼格被否定了,坑爹呢這是!我抱着辯證批判的态度讀完那些帖子,發現其中并未給出真正令人信服的原理。那麼問題來了,我到底該信啥?

注冊表垃圾,就是指軟件卸載後殘留在注冊表内的無用項,如果不進行清理,各種軟件裝了卸裝了卸,日積月累,注冊表在體積上肯定會變大。關鍵是,注冊表會變得多大?變大後對系統性能的影響有多少?為了搞清楚這些問題,首先需要理解注冊表的組成結構。

内存中的注冊表

也許你每天清理着注冊表垃圾,其實卻根本不知道注冊表這個“隐秘而偉大”的東西到底在哪。徽标鍵 R,運行regedit,Look!這就是傳說中的注冊表!其實準确地說這時打開的隻是注冊表編輯器,以一種便于查看和修改的形式呈現着注冊表數據。

哪個軟件可以清除注冊表(到底要不要清理注冊表)1

注冊表編輯器


考慮到有朋友可能從未接觸,簡單普及一點基礎知識:注冊表組織結構好比文件系統,其中鍵的概念相當于文件夾,鍵值相當于文件夾裡的文件,那麼根鍵就好比根目錄,子鍵就好比文件夾下的子文件夾,組織起來成樹狀結構,并不是什麼高深的東西。

下面我們詳細介紹這映入眼簾的五個根鍵。

首先需要提到符号鍵的概念,HKEY_CLASSES_ROOT、HKEY_CURRENT_USER及HKEY_CURRENT_CONFIG這三個根鍵本質上是另兩個根鍵中部分内容的鍊接,并不獨立存在,相當于Windows文件系統中快捷方式的概念。不光是根鍵,根鍵下的部分子鍵在其他地方也會有對應的符号鍵,這意味着注冊表編輯器所展示的内容有很多是重複的,有些甚至重複了不止兩次。

哪個軟件可以清除注冊表(到底要不要清理注冊表)2

根鍵的鍊接關系


注冊表中真正保存數據的隻有HKEY_LOCAL_MACHINE和HKEY_USERS兩個根鍵,所以我們說注冊表編輯器所展示的不是注冊表本身,而是一個更易于查看和編輯的注冊表視圖。下表就是各根鍵的功能說明。

哪個軟件可以清除注冊表(到底要不要清理注冊表)3

表:根鍵簡介


注:XP、Vista、Win7、甚至64位和32位系統下的注冊表組成均略有不同,這裡以Win7為主,并盡量體現各系統間的共通點。

hive文件

到現在為止,我們看到的都是在内存裡的東西,既然注冊表是一個存儲信息的數據庫,那麼在磁盤上就應該能夠找到對應的文件。沒錯,就在C盤,不是一個,是一堆(部分可能還被隐藏了起來),我們稱之為hive文件。hive直譯過來就是蜂巢的意思,裝逼一點就譯成“儲巢”,當然最明智的做法還是不翻譯。

為什麼叫hive呢?相傳有個Windows工程師十分讨厭蜜蜂,于是他的同事惡作劇,引入了蜂窩(hive)……當然有觀點認為是因為鍵與鍵值組織為B-tree(諧音Bee-tree)結構,倒是十分專業的樣子,但我更樂意相信第一種解釋。

廢話太多了,趕緊來扒一扒HKLM和HKU下各個子鍵所對應的文件吧。

哪個軟件可以清除注冊表(到底要不要清理注冊表)4

表:鍵與hive文件的對應關系

說明:

☞ hive文件包括不帶後綴名的數據存儲文件(如BCD、SAM)以及相應的還有帶各種後綴(.LOG、.LOG1、.LOG2、.blf、.regtrans-ms等)的輔助文件,輔助文件各有作用,不再本文讨論範圍。

☞ hive文件都是二進制格式的,一般軟件打不開的哦!

☞ 可以看到,注冊表中幾乎所有内容在磁盤上都有着相應的hive文件,除了HKLM\HARDWARE。這裡有個比較重要的概念:volatile hive。這一類hive不在磁盤上留有數據,而是在每次開機時動态收集環境信息,隻存在于内存中。(想來也是,本來開機時計算機會做一個加電自檢,檢測所有硬件。)所以說,hive文件并不能代表注冊表的全部,完整的注冊表隻存在于内存中。

☞ 我不知道HKLM\COMPONENTS是用來幹啥的,甚至在注冊表編輯器裡都看不見,但它确實存在,望有高人指點。

☞ 微軟給出的hive的定義是注冊表中鍵、子鍵和鍵值的邏輯組合,而并非指文件。許多文章和論文都把hive當做hive文件本身,在不産生歧義的情況下倒也沒有大礙。

實驗

通常軟件在安裝時會在HKCU\Software(即HKU\%SID%\Software)和HKLM\SOFTWARE下寫入自己必要的配置信息,如果沒有足夠的空間,注冊表就以4KB為單位增長(所以我們在C盤看到的hive文件大小都是4K的整數倍);卸載時部分鍵項殘留下來,形成垃圾,大有去公共廁所拉完屎不沖水的架勢,簡直人神共憤,如果注冊表為其增長了n個4K,那麼這增長的部分就得不到釋放,注冊表就越來越“臃腫”了。

此時我嘗試性地卸載了一個軟件,注冊表項也确實少了,可是hive文件巋然不動,甚至與近一個月前的大小一模一樣。

哪個軟件可以清除注冊表(到底要不要清理注冊表)5

hive文件大小不變(NTUSER.DAT亦然)

尼瑪這跟說好的不一樣啊!難道是要重啟?重啟,不變,再重啟,我在風中淩亂。由于理論上注冊表更新會每隔5秒寫回hive文件,也明顯可以看到hive文件的修改時間确實刷新了,所以重啟不重啟根本沒有任何影響。

是數據太小(不足4K就可能影響不了hive文件的體積)?事實上卸載前該軟件的對應表項已經被我導出,确實超過4K。為找出症結所在,我一鼓作氣卸了好幾個軟件,C盤頓時多出2G空間。這下總夠了吧!誰料NTUSER.DAT還是那個NTUSER.DAT,SOFTWARE還是那個SOFTWARE。

别攔我!我要去廁所哭暈……

可是這到底怎麼解釋呢?原來hive文件大小并不能代表實際注冊表項的大小,從注冊表編輯器導出對應的二進制文件,才可以看到表項在内存中真正的體積。

哪個軟件可以清除注冊表(到底要不要清理注冊表)6

hive文件大小不變(NTUSER.DAT亦然)

很好,可以明顯地看到内存中的hive确實縮水了。趁熱打鐵,在此基礎上繼續卸載一個暴風影音,卸載前先記錄下其表項大小——32KB。

哪個軟件可以清除注冊表(到底要不要清理注冊表)7

暴風影音hive導出

事實證明本OS中暴風的裝卸僅作用于HKCU,對應NTUSER.DAT,導出對比。

哪個軟件可以清除注冊表(到底要不要清理注冊表)8

hive文件體積對比(帶2條下劃線的即卸載暴風後導出者)

果然變小了,并且7944 – 7916 = 28 ≠ 32,這正是hive以4K為單位組織内容的表現。

現在就讓我們來看一看,軟件卸載時留下的垃圾hive有多大。我在注冊表中找到幾個早已卸載了的軟件,多少年了,它們依然頑強地躺在那裡。

哪個軟件可以清除注冊表(到底要不要清理注冊表)9

垃圾hive導出

可以看出垃圾hive說大也不大說小也不小……等一下,貌似我這些例子覆蓋性并不太好,怎麼都是8K啊!有興趣的朋友可以導出一些自己電腦上的垃圾hive,以彌補這單調的畫面。

結論

1) 對磁盤效率的影響

到此為止,我們可以得出一個明顯的結論,垃圾hive确實會增大注冊表的體積,但磁盤上的hive文件似乎并不受影響。系統固定了hive文件的體積,也許是為了提高存取效率,另一方面也可以減少磁盤碎片。

2) 對内存效率的影響

那麼在内存中呢?在系統運行時,内存中保存着一份完整的注冊表,這意味着磁盤上的hive文件會被整個讀入内存,但準确地說進入的是分頁池,而分頁池中長時間用不到的内容會被替換到磁盤。注冊表中的垃圾項是永遠也不會被訪問到的,也就是說它們即使被加載到内存中,也必然會被換出到虛拟内存(磁盤),因此不會影響系統運行速度。即使不被換出,内存中的注冊表組織為Map結構:

哪個軟件可以清除注冊表(到底要不要清理注冊表)10

裝逼圖:Cell Index Translation

類似通過“學校\年級\班級\學号”的形式能快速定位一個學生,注冊表項也能被快速定位,少數多餘的垃圾項對查找速度并無多大影響。

3) 對開機速度的影響

那麼注冊表垃圾真的就人畜無害了?我想它們唯一能導緻的負面影響是:增加了系統啟動過程中加載注冊表的時間。而這份拖累有多少呢?CHIP有一張圖很能直觀地說明問題:

哪個軟件可以清除注冊表(到底要不要清理注冊表)11

垃圾項占比示意圖(來自CHIP)

通常整個注冊表在百兆左右,而垃圾項估計也占不了百K,兩者是千分之一量級的關系。即使整個開機時間(假設為1分鐘)都在用來加載注冊表,清理垃圾項卻僅能帶來0.06秒的速度提升,确實隻能起到心理安慰的作用了。

但即便如此,清理注冊表依然具有兩大顯著功效:

1) 許多大型專業軟件都有“潔癖”,在重裝時需要徹底清理;

2) 對于強迫症用戶,幹掉垃圾項是件很爽的事。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
怎樣改善膚質
怎樣改善膚質
怎樣改善膚質?第一,平時注意面部護理,買适合自己肌膚的化妝品我們平時要注意做好自己的面部護理,一定要買适合自己肌膚的化妝品,要不然容易引起過敏而對皮膚不好,我來為大家科普一下關于怎樣改善膚質?以下内容希望對你有幫助!怎樣改善膚質第一,平時注...
2024-12-29
kindle商城哪些書值得讀
kindle商城哪些書值得讀
本内容來源于@什麼值得買APP,觀點僅代表作者本人|作者:囤書娘都要2022年了,為什麼還要選擇kindle閱讀?我想是因為它沒彈窗,沒超鍊,沒有所謂的更多推薦,最新熱點,甚至它都沒有色彩。kindle也許是唯一能讓你沉浸式閱讀的電子設備了...
2024-12-29
什麼零食吃不胖又便宜又好吃
什麼零食吃不胖又便宜又好吃
疫情了好幾年,相信大家的荷包都跟小掌一樣空空如也了吧。不過,俗話說省錢就是賺錢!武漢有很多物美價廉的市場,逛一次能省下不少錢。是時候給大家出一篇批發市場指南啦,想要花最少的錢買高性價比的貨,實現服裝、水果、零食自由,看這一篇就夠了!°ONE...
2024-12-29
江蘇省城鄉居民養老保險參保
江蘇省城鄉居民養老保險參保
一、集中征繳期2022年5月20日-6月20日二、參保範圍年滿16周歲(不含在校學生),未參加城鎮職工和機關事業單位養老保險,具有高新區戶籍的城鄉居民。三、繳費标準居民養老保險個人繳費标準全市統一設為每年300元、500元、600元、800...
2024-12-29
楊紫井柏然cp滿滿
楊紫井柏然cp滿滿
近日,淩晨四點左右,演員楊紫在微博上曬出照片,配文表示:“你們有見過淩晨四點的殺青宴嗎,嗯,我們做到了。”由于夜色較深,楊紫雖然站在C位,卻隻露出半張臉,甚至還有些看不清。同為主演的井柏然則是親昵地靠在楊紫身邊。《女心理師》這部劇由畢淑敏老...
2024-12-29
Copyright 2023-2024 - www.tftnews.com All Rights Reserved