昨天我遇到了一个相当复杂的技术问题需要解决。如果不是太冗长的话,我会把整个故事发布出来……
长话短说,我用原始安装 CD 修复了 Windows XP。我注意到文件夹中几乎所有文件的位置都是错误的,或者设置为按名称自动排序。
为了避免混淆,我所说的位置是指(x,y)
文件图标在给定文件夹中的坐标,而不是实际的身体的MBR 中的位置。
我在聊天中问了这个问题,除了前者之外,有人建议将位置存储在desktop.ini中,据我所知,它是按文件夹逐个存储的。
修复过程也有一定的道理已恢复将文件desktop.ini
恢复到其初始设置。但是,修复 Windows 安装后,我从另一个系统恢复了C:\Windows
它C:\Documents and Settings
(说来话长)。
我一进入系统,文件的位置就和以前一模一样了……除了、C:\
和C:\Program Files
许多其他文件夹的设置都恢复了。现在让我困惑的是,我没有恢复C:\
,所以desktop.ini
文件不会在那里。
由于我还激活了访客帐户,我注意到我查看职位的方式与查看主帐户(管理员帐户)的方式不同。
这里的问题是对于特定文件夹,Windows 将此属性存储在哪里?
我目前的假设是它是一组用户定义,存储在某个地方C:\Documents and Settings
,但在我的搜索中我没有找到有关用户配置文件和此属性的任何信息。
注意:当我写这个问题时,我将帖子中的单词 location 替换为 position ,并获得了一些新信息(出现了一些新的问题匹配),这些信息可能对任何试图回答这个问题的人有所帮助:
- Windows 将图标位置存储在哪里?
- 接受的答案(和问题,尽管标题没有提到桌面)指的是 HKCU 中控制位置的注册表项。
- Windows 注册表文件存储在哪里?
individual users settings are located at %UserProfile%\Ntuser.dat
,这暗示 HKCU 密钥存储在其中。
答案1
从表面上看,您已经基本回答了自己的问题。这是多种因素的组合,但保存的设置位于所记录的注册表项中。
Windows 注册表实际上是 %windir%\System32\Config 文件夹中的几个文件的组合:Software、System、SAM、Security、Default 和 UserDiff。NTUSER.DAT 文件是唯一不在此处的注册表文件;如您所说,它位于 %userprofile% 中。
Desktop.ini 会保存桌面的一些设置,但不包括排序;只有启用“保存每个文件夹的视图设置”后才会创建。以下是典型内容:
[.ShellClassInfo] LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21769 IconResource=%SystemRoot%\system32\imageres.dll,-183 [LocalizedFileNames] VAIO 控制中心.lnk=@C:\PROGRA~2\Sony\VAIOCO~\VAIOCO~1.EXE,-1319
有关可合并到desktop.ini 中的内容的更多信息,请访问http://msdn.microsoft.com/en-us/library/windows/desktop/cc144102%28v=vs.85%29.aspx
=========
但是,对于图标排列,“记住”的最后一个顺序主要基于您在注册表中提到的信息,如 HKCU\Software\Microsoft\Windows\Shell\Bags\1\Desktop
正如您所注意到的,此密钥存储在个人用户的 NTUSER.DAT 中,然后作为 HKCU 合并到注册表中...
因此,当您进行恢复时,您可能会恢复 NTUSER.DAT 并从而恢复您上次使用的顺序。