
準確地說
系統已達到登錄系統部分允許的最大大小。額外的儲存請求將被忽略。
WinXP/64 運作良好 2 年(無 /3Gb 開關),才剛開始。我用了恩特格普特問題至少暫時消失了。然而,在 Windows\System32\Config 中查看之前和之後,我發現我的系統檔案僅減少了 10%,並且仍然有 170+ Mb。根據我對 Google 的廣泛研究,這是“巨大的”,應該更像是 10-20Mb。系統運作良好。有一個只有 11Mb 的 System.bak,其中包含我運行 ntregopt 時的日期。
這就是我所知道的。現在我的問題是:根據上述信息,我可以做些什麼來減少或重建系統註冊表配置單元嗎?
答案1
本文似乎有一些可能有幫助的資訊。它確實涵蓋了您可能已經嘗試過的一些步驟(ntregopt),但它包含一個指向您可能尚未嘗試清理註冊表中死條目的工具的連結:vxscrub。
我對這些註冊表清理工具並不感興趣,但有些人對它們讚不絕口清潔工,其中包含一個模組,該模組還可以清除註冊表中的死條目。
就我個人而言,我會選擇資料備份和重新安裝作業系統以獲得更穩定的系統。不過,這取決於您的環境和可用時間。
我發現這個帖子這似乎暗示此錯誤是由損壞的交換文件引起的。由於您已經嘗試了帖子中的第一個建議,因此我將嘗試第二個添加的建議(在此處交叉發布以方便參考):
頁面檔案已損壞,需要覆蓋。請依照以下步驟操作:
- 在控制面板中輸入系統(經典視圖)
- 點選進階選項卡
- 點選“效能”下的設定按鈕
- 點擊效能設定中的進階選項卡
- 點擊更改虛擬設定
- 在設定中選擇“無分頁文件”,然後按一下“設定”
- 退出並重新啟動電腦。
- 重複這些說明的前五個步驟。
- 在設定中選擇系統管理的大小,然後按一下設定
- 當您退出時,系統會詢問您是否要覆寫前一頁文件。允許此操作。
- 重啟你的電腦。您將擺脫該錯誤訊息。此外,您的程式可能會運作得更好。
我仍然認為它可能是損壞的交換文件。 看看這個文檔,它更詳細地概述了該過程。您確定刪除了交換文件,重新啟動,然後重新建立它嗎?
您可能還想嘗試使用者設定檔 Hive 清理服務。有些人報告說這方面取得了成功。
如果本機電腦設定單元的系統部分的大小確實已滿,那麼我認為除了刪除一些軟體並運行第二台電腦(無論是虛擬機器還是實體機)之外,沒有其他解決方案。這真的很有趣;在我的整個職業生涯中,我從未見過合法地填寫註冊表。
答案2
這太奇怪了......正如我在評論中指出的那樣,我認為該訊息是錯誤的。我現在已經使用該系統一周進行大量開發,包括測試一個複雜的安裝程序,該安裝程序重複註冊一堆舊的 VB6 和較新的基於 .NET 的 COM 物件。順便說一句,我非常小心,不會更改 GUID,從而創建一堆無效的註冊表項!一直成功,註冊表沒有問題。
不管怎樣,昨晚我遇到了一個單獨的奇怪問題,我決定使用系統還原(幾年來我只使用過一次)。系統還原失敗,表示無法還原到該檢查點且沒有任何變更。
一時興起,我決定看看那個 \config\system 檔案(系統設定單元),什麼?它從 196Mb 縮小到 7Mb!啟動時的錯誤消失了!過去幾天的一些事情,包括因其他不相關問題而進行的幾次重新啟動,導致系統配置單元縮小到應有的位置。
所以這並不是一個“答案”,它只是一個戰爭故事,以對原始問題的神秘“自我修正”結束。我不知道是什麼解決了它。
答案3
如果應用程式和硬體發生變化,註冊表可能會有「死」條目。透過搜尋「註冊表清理器」作為搜尋字詞,可以獲得許多線上資源。