找不到BagMRU Size值,我的文件夹设置丢失了


9

这是一个可以追溯到Windows XP的老问题,现在在我的Windows 7 64位系统上,当涉及到“详细信息”,“列表”,“图标”等内容时,它开始丢失文件夹视图设置,其他所有位置和大小都稳定了。我倾向于在大多数情况下使用详细信息视图,现在文件夹有时会开始恢复为图标视图,并不是您有100%的时间会介意,但随着我使用PC的增多,它似乎会更加频繁。

是的,我确实有数千个文件夹,所以我认为默认缓存大小已用完,与Windows XP完全一样。

对于Windows 7 64位版本,我似乎找不到在注册表中的文件夹视图缓存设置的确切说明,对于XP(我过去使用过),Vista和某些Beta / RC Windows 7。

我确实从Microsoft 找到这篇文章

在Windows 7 64位版的“让我自己修复此问题”部分中,Local Settings根据Wow6432NodeMicrosoft的文章,该密钥下没有子密钥。

HKEY_CURRENT_USER\Software\Classes\Wow6432Node\Local Settings
\Software\Microsoft\Windows\Shell\Bags

但是,我确实有此密钥。

HKRU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell
\Bags\BagsMRU

扫描注册表中的BagMRU Size值(不是键)不会返回任何匹配。我假设Windows 7默认不再使用此值。

有没有建议在不完全重置整个资源管理器文件夹设置的情况下增加视图设置的缓存大小的建议?

是否有人对W7允许的最大稳定缓存大小有任何了解?以及在何处更改/添加此值。


编辑:

我在Vista和XP时代找到了我的旧笔记,不再有参考链接。

Windows Vista

HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell

创建一个DWord 32位BagMRU Size并将十进制值设置为10,00020,000

有时文件夹设置会损坏。使用regedit到视图

HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell

单击Bags并选择编辑 > 删除 > BagMRU还要删除密钥,然后重新启动。

Windows XP

Windows XP SP2修复:默认情况下,SP2的文件夹缓存设置为5,000个文件夹,以记住每个文件夹的视图设置,如果您有5,000个以上的文件夹(所有硬盘驱动器总数),则必须进行注册表更改并将其更改为最多8,000。为此,请执行运行-注册表编辑并导航至这两个文件夹

HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell

然后去

HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam

在右侧窗格中查找BagMRU size,右键单击“ 修改”,然后选择“ 十进制”并将值数据设置为8,000。在两个位置都执行此操作,重新启动才能生效。


我将在接下来的几天中进行实验,并向我们汇报任何启示。


我发现有一些注册表项,无论出于何种原因,Windows都不会接受。只需按照文章底部的说明手动添加“本地设置”等内容。Windows可能会按预期开始使用密钥。稍等一下,看看5000的建议值是否足够好。
CreeDorofl

根据我的理解,W7的默认值是5000,并且我有两倍多的文件夹,还有更多,我明天将尝试添加值,看看是否有任何变化,我仍然想知道一个可以使用的最大缓存值大小而不会引起问题,因为我可能需要15-20K。
摩押

@Moab:我怀疑它是一个无符号整数,所以如果它是一个短整数,则限制为65,535,如果是长整数,则限制为4,294,967,295;如果它不是未签名的,那将是一半,仍然足以满足您指定的条件。但是,请注意,这是缓存,我认为您不需要存储15-20K文件夹的信息,而只需要存储定期访问的文件夹的信息。如果5K不够,我建议您先尝试10K ...
Tamara Wijsman

@Moab:至于稳定性,这实际上取决于您的计算机;您只是在增加按键所需的大小,因此性能将取决于您的硬盘,内存速度和内存使用量...
Tamara Wijsman

@Tom Wijsman,这是一个古老的问题,可以追溯到XP,如果我将它设置得太低并打开一些不常用的文件夹,则我会丢失一些我最常使用的文件夹的设置,一旦缓存已满,它就会开始丢失最早的缓存条目。我早在XP时就研究了问题,然后在Vista时遇到了同样的问题,当我研究Vista时,有人说20K是最大稳定值,但是我再也找不到该信息的链接。同时,我的文件夹集合增加了,问题也增加了。
摩押

Answers:


1

分析

在Windows 7 x64上使用进程监视器时,重新启动资源管理器并随机浏览时会看到以下内容:

  • 下访问
    HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags

  • 下访问
    HKCU\Software\Microsoft\Windows\Shell\Bags

  • 在访问
    HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU Size

    (这在我的计算机上不存在,但是需要)

  • 下访问
    HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU

  • 下访问
    HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\Directory\OpenWithList\MRUList

    (这在我的计算机上不存在,但是需要)

结论

因此,我们%WINDIR%\Explorer.exe仅访问Bags的64位密钥。

但是,Wow6432Node使用会访问密钥%WINDIR%\SysWOW64\explorer.exe
在某些情况下可能会使用32位资源管理器,因此请注意。例如,从32位上下文启动时,或者从文件对话框启动Windows资源管理器时。

要清除Bag信息,在以下位置重新创建BagsBagMRU文件夹确实足够了:

  • HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\

尽管使用较少,但可能有助于在以下位置重新创建Bags文件夹:

  • HKCU\Software\Microsoft\Windows\Shell\

BagMRU Size请求的值,因此缺少密钥并不是很好。这可能会导致未定义的行为,但我大胆猜测它只是在代码中使用默认值。为了确保并以较低的速度运行到极限,您可以在以下键中使用大量数字定义DWORD值:

  • HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU Size

访问的最后一个键是何时打开MRUListwith Explorer.exe,我认为这是不需要的,因为除了Most Recently Used List在“开始”菜单之类的内容中显示以外,没有其他需要打开的东西。因此,不必创建该密钥。

有没有建议在不完全重置整个资源管理器文件夹设置的情况下增加视图设置的缓存大小的建议?

我想说的是,您可以BagMRU Size在您的Bags设置没有损坏的前提下单独创建和增加设置。我已经回答了您问题下的另一个问题。


不确定是否有答案,因此我会接受您的答案,因为它确实回答了一些问题,并且您使用Process Monitor进行了作业。
摩押

0

Windows 7 64位版本使用Wow6432注册表项为在64位版本的Windows上运行的32位应用程序提供单独的HKEY_LOCAL_MACHINE \ SOFTWARE视图。由于您可能正在使用64位资源管理器,因此我认为它不适用于您的情况。

丢失更改大小,视图,图标或文件夹位置开始,要增加文件夹视图的限制,请尝试以下脚本:

Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\BagMRU]
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\Bags]
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\ShellNoRoam\BagMRU]
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\ShellNoRoam\Bags]
[-HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU]
[-HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags]
[-HKEY_CURRENT_USER\Software\Classes\Wow6432Node\Local Settings\Software\Microsoft\Windows\Shell\Bags]
[-HKEY_CURRENT_USER\Software\Classes\Wow6432Node\Local Settings\Software\Microsoft\Windows\Shell\BagMRU]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell]
"BagMRU Size"=dword:00001f40
[HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam]
"BagMRU Size"=dword:00001f40
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoSaveSettings"=dword:00000000]

如果这不起作用,是否执行了引用的Microsoft文章中的所有说明?它包含了一般性的说明适用于Windows 7,并在另外的64位版本的详细说明(有关更多的32位版本的浏览器,你很可能不使用)。

编辑

我发现这篇MS文章似乎可以解决您的问题:
丢失了文件夹的大小,视图,图标或位置的更改
它还包含一个FixIt,可以为您完成工作,但是在运行它之后(在IE中)可以更好地进行验证。

如果FixIt设置的“ BagMRU大小”不够,则可以增加一些。本文讨论了5000,因此您可以尝试10000。


我目前在所有位置都将我的设置为20k,但在浏览数千个文件夹后(在20k附近没有)仍然丢失了一些文件夹视图设置。与XP相比,W7是一团糟,具有所有这些新文件夹设置的“功能”,我可以对XP bagmru进行更改,并且它可以正常工作。在我浏览太多文件夹之前,W7会记住设置,因此它可以正常工作。
摩押

那篇MS文章在我的原始帖子中。
摩押

糟糕,我以为自己找到了解决方案。我担心的是,“ BagMRU大小”在Windows 7中无效,因此无论您将其设置为什么。在做出决定之前,请尝试尝试本文中的信息。还要对照另一篇文章进行检查。请注意,此文章声称,BagMRU大小限制为小于8000
harrymc

8k用于XP,在Vista和W7中可以增加到20k。它不是故意起作用的,或者是残破/越野车功能。
摩押人

阅读该MS文章。我发现我没有在文档中指定某些键,因此现在添加了它们。只有时间会证明它是否有效,但我怀疑它是否有效。以前的搜索显示,人们遇到的一个令人讨厌的问题是,旧的XP注册表项已留在Vista和7中,因此人们将设置放在错误的位置。此外,x64 Windows 7也不

0

确实,这是一个令人烦恼的问题。以我的经验,一旦缓存已满,Windows不会删除最旧的条目,只是不记得新文件夹的设置...

好消息,看来我们可以在Windows 7中增加默认的5000个条目。
请参阅本文:修复:Windows忘记了文件夹视图设置

  • 导航 HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell
  • 在右侧窗格中,“右键单击>新建> DWORD(32位)值”。命名BagMRU Size
  • 对于该值,请选择“十进制”,然后键入“ eg” 10000(或在“十六进制基本类型”中2710)。
  • 重启。


条目存储在以下两个键下:

  • HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU
  • HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags

要清空缓存,您只需删除两个键即可。


您可能还可以查看此NirSoft实用程序以查看缓存状态:ShellBagsView

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.