从旧配置文件传输数据后,新用户配置文件无法运行 explorer.exe,为什么?

从旧配置文件传输数据后,新用户配置文件无法运行 explorer.exe,为什么?

win7 64 Ultimate 上的用户配置文件已损坏(并且 Windows 会在每次登录时创建默认的后备配置文件)。

我创建了一个新的配置文件(管理员)并将现有的配置文件传输到其中,如下所示:

http://windows.microsoft.com/en-CA/windows-vista/fix-a-corrupted-user-profile

发生了一些奇怪的事情。新配置文件无法打开 explorer.exe

Windows 无法访问指定的设备、路径或文件。您可能没有适当的权限来访问该项目。

Windows 无法访问指定的设备、路径或文件。您可能没有适当的权限来访问该项目。我尝试了各种方法,包括确认 C:\Windows\Registration 上的权限:

http://www.tomshardware.com/forum/5218-63-cant-explorer#t170268

我注意到的是,如果我以不同的新管理员用户身份登录并打开 explorer.exe,然后以有问题的管理员身份登录,则 explorer 将正常工作。

explorer.exe 的权限是什么导致了这种行为?

我想要实现的是让问题帐户打开explorer.exe,而无需先以其他用户身份登录。

有人知道如何解决这个问题吗?

提前致谢。

答案1

我刚刚遇到这个问题。我也做了很多研究,甚至尝试了 C:\Windows\Registration 来快速修复。但对我来说,这没有用。

简短答案

  1. 打开注册表编辑器 regedit.exe
  2. 扩张HKEY_USERS
  3. 查找S-1-5-21-##########-##########-##########_####_Classes# 代表随机数字序列的位置
  4. 右键单击此项并获取权限
  5. 在我的例子中,有一堆无意义的数字,这是无效的 SID。我删除了此条目。
  6. 为遇到问题的用户添加安全性,并授予他们完全控制权。这为我解决了这个问题。

长答案

以下是一系列事件的起因。这个故事与后面的内容相关:

硬盘崩溃后,我为妻子重新创建了一个用户帐户。我以她的身份登录并验证了它是否正常工作。

接下来,我从备份中恢复了用户配置文件及其数据。不幸的是,这也恢复了 Windows 帐户信息(NTUSER.DAT、ntuser.dat.LOG* 和 ntuser.ini)。当我妻子登录时,Windows 使用临时配置文件登录她,她退出后,所有数据都被删除了。

后来,我将她的用户配置文件数据复制回临时文件夹。我删除并重新创建了她的用户配置文件。以她的身份登录后,我再次注销并再次复制了她的文件。这一次,我确保不复制 NTUSER 信息。

一切似乎都运行良好。我以她的身份登录,访问了她的数据,正要结束这一切——只是我无法以她的身份启动浏览器!我遇到了和你一样的错误:

Windows 无法访问指定的设备、路径或文件。您可能没有适当的权限来访问该项目。

我第二次也恢复了她的 AppData 文件夹。我不知道这是否导致了这个问题。

我白天的工作是为开发人员提供支持,所以我已经习惯了遇到这种疯狂的事情。我经常使用进程监控以帮助解决权限问题。我在我的帐户中启动了进程监视器,捕获了注册表和文件访问,切换到她的帐户,尝试打开资源管理器几次,然后注销。

当我以自己的身份重新登录时,Process Monitor 中有超过 110 万个事件。幸运的是,Process Monitor 可以快速轻松地筛选出您需要查看的内容。

我右键单击列,单击“选择列”,然后添加“用户”列。接下来,我右键单击我的在用户栏中选择了帐户,并选择“排除‘[myaccount]’”。然后我转到结果栏,点击结果“成功”,并选择“排除‘成功’”。我看到有几个“访问被拒绝”的结果,所以我右键单击其中一个并选择“包括‘访问被拒绝’”。

现在,我在以下注册表项中得到了一系列非常有趣的“访问被拒绝”错误:

HKU\S-1-5-21-BLAHBLAH-BLAHBLAHBLAH-BLAHBLAHBLAH-1011_Classes
HKU\S-1-5-21-BLAHBLAH-BLAHBLAHBLAH-BLAHBLAHBLAH-1011_CLASSES\Local Settings\MuiCache
HKU\S-1-5-21-BLAHBLAH-BLAHBLAHBLAH-BLAHBLAHBLAH-1011\Software\Policies\Microsoft\SystemCertificates\CA

(旁注:这些条目的进程监视器堆栈显示 explorer.exe 正在尝试执行某种加密操作,如初始化安全性、验证证书的信任等。)

我打开了 regedit.exe(免责声明:如果你不知道自己在做什么,可能会发生非常糟糕的事情)。我向下导航到 HKEY_USERS,但没有看到此项。

我不得不再次切换用户并以我妻子的帐户登录。这一次,当我以她的身份启动 regedit.exe 并导航到 HKEY_USERS 时,我看到了以下条目:

S-1-5-21-BLAHBLAH-BLAHBLAHBLAH-BLAHBLAHBLAH-1011  (BLAHBLAH = random numbers)
S-1-5-21-BLAHBLAH-BLAHBLAHBLAH-BLAHBLAHBLAH-1011_Classes

我右键单击第一个条目并选择“权限”。列出的用户为:

  • 受限制的
  • 系统
  • [妻子的账户]
  • 管理员

好的。这对我来说看起来不错。但我没有看到此密钥上的错误。

最后,我右键单击有问题的条目“S-1-5-21-BLAHBLAH-BLAHBLAH-BLAHBLAH-1011_Classes”,然后选择“权限”。我看到了以下用户:

  • 受限制的
  • 系统
  • [毫无意义的数字,很可能是无效的 SID]
  • 管理员

那个奇怪的数字肯定与她账户的前一个版本有关。我删除了它,并将她的账户添加为完全控制。Explorer.exe 立即开始工作!太疯狂了。

我希望这能帮到您和/或其他遇到此问题的人。至少,您可以使用 Process Monitor 隔离问题。

答案2

尝试删除所有文件%USERPROFILE%/AppData/Local/Microsoft/Windows/UsrClass.dat*

这解决了我的问题。我不假装知道,为什么……

答案3

保罗,我很欣赏你为这个解决方案所付出的努力,但我发现这个解决方案要简单得多,而且几乎可以完成同样的事情,显然也能达到同样的结果:

Windows 7:手动将用户配置文件迁移到另一台计算机

相关内容