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

注冊表是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
推荐阅读
保護眼睛方法
保護眼睛方法
1、用眼衛生,時常打鍵盤,用鼠标,可鍵盤鼠标上面積累了很多塵土甚至是細菌,用眼時間一長,眼睛幹澀,就...
2024-04-30
叙利亞屬于東亞嗎
叙利亞屬于東亞嗎
叙利亞不屬于東亞,叙利亞實際在西亞,在地中海的東岸,北邊與土耳其接壤,東邊與伊拉克交界,南邊與約旦相連,西南和黎巴嫩和巴勒斯坦為鄰,西邊則與塞浦路斯隔着地中海相望。現在亞洲有接近50個國家,在習慣上人們會把亞洲分為東亞、東南亞、南亞、還有中亞、西亞和北亞六個地區。叙利亞屬于中等收入國家,是世界天然氣...
2024-04-30
木耳用開水泡有害處嗎
木耳用開水泡有害處嗎
木耳用開水泡沒有害處。木耳在生活中可以使用開水泡,也可以使用冷水泡,一般都是無害的,不需要擔心。但要是開水泡木耳的時間過長,那麼很容易泡熟,泡太久也會滋生細菌以及微生物。木耳一般建議用開水泡的時間控制在10分鐘左右即可,時間太長會導緻木耳的營養成分流失,降低食用價值以及營養價值。主要因為木耳是一種真...
2024-04-30
花菜為什麼要焯水?
花菜為什麼要焯水?
花菜中含有一些嘌呤,且嘌呤易溶于水,焯一下可以最大程度的去除其中的嘌呤。花菜烹饪時間不宜過長,不耐高溫,焯水可以防止營養流失,增加爽脆的口感。如果直接烹饪的話,花菜不容易炒熟。等到鍋中的水沸騰,把洗幹淨的花菜放進沸騰的水裡,等花菜的顔色剛變色,就立即撈出來放到涼水中,使它快速降溫,這樣能讓花菜的口感...
2024-04-30
快遞沒收到按了收件确認了怎麼辦?
快遞沒收到按了收件确認了怎麼辦?
1、隻需要關注快遞信息即可,不用擔心。2、《淘寶平台争議處理規則》第五十二條賣家違反“發貨規範”但買...
2024-04-30
Copyright 2023-2024 - www.tftnews.com All Rights Reserved