您的位置:首页 > 其它

“User Profile Service 服务未能登录,无法加载用户配置文件”实战历程

2010-10-16 22:09 726 查看
“User Profile Service 服务未能登录,无法加载用户配置文件”实战历程

不知你是否遇到这样的问题,某一天你打开PC,开机正常,可当你输入正确的密码回车,却发现Vista或Win7拒绝让你登录,提示“User Profile Service 服务未能登录。无法加载用户配置文件。”,你只能反复确定,循环往复……(见下图)重启数次,症状如故。
笔者近日就遇到这个问题(以前也遇到一次,偶那个伤心啊),原因就是笔者在清理文件的时候删除了/Users/TEMP/AppData/Roaming/下的一些文件。通过查阅大量资料并结合自己解决经验,现将自己解决经历及网上收集的解决办法整理如下,希望能帮助到某些有需要的朋友。以后再遇到这个问题,也不用辛苦的找解决办法了。



下面是笔者的实战历程

第一步:

先从笔者的实际情况出发,笔者PC上总共创建了两个账户,现在出问题的这个账户管理员是账户,还有一个管理员账户,于是尝试登录管理员账户,居然登录成功!于是上网查找解决方法。

在网上查找的方法中大多是先要进入安全模式开启隐藏的超级管理员账户,然后用超级管理员正常登录来解决。笔者认为此法不太适应自己的情况,因为网上的方法一般是针对仅开启单个账户的情况,而笔者有两个账户,而且现在的这个管理员账户还能登录,那应该只是注册表文件或配置文件损坏的问题,但是具体怎么修复还得深入分析。想到“系统还原”,可惜笔者Win7系统保护并未曾打开,只好作罢。

所谓懒人有懒办法,笔者一向为了追求简单而喜欢“偷懒”,电脑出问题就重启似乎成了菜鸟最简单而又最难想到的办法,有时候无论多复杂的问题一个“重启”就能轻松搞定,而笔者这次似乎未能得逞,嘿嘿。热启、冷启多次未果只能继续战斗了……

第二步:
从登录提示“User Profile Service服务未能登录。无法加载用户配置文件。”出发,字面意思是“User Profile Service”服务出了点问题,于是笔者找到此服务。
User Profile Service服务
此服务负责加载和卸载用户配置文件。如果已停止或禁用此服务,用户将无法再成功登录或注销,应用程序在获取用户数据时可能会出问题,而且为接收配置文件事件通知注册的组件将无法接收这些通知。
检查该服务已正常启动而且配置为“自动”,但是“服务未能登录”又是什么意思呢?笔者百思不得其解。尝试重新启动此服务但不成功,提示依赖另一项服务而不能停止此服务。

第三步:
查看系统日志分析问题。
笔者在“事件查看器”的“应用程序”一栏中找到大量来源为“Winlogon”和“User Profile Service”的错误和警告(见下图)


截取其中一些日志记录:
1.错误 User Profile Service 1502
Windows 不能加载本地存储的配置文件。此问题的可能原因是安全权限不足或本地配置文件损坏。
详细信息 - 另一个程序正在使用此文件,进程无法访问。
2.警告 User Profile Service 1515
Windows 已经备份了此用户的配置文件。下次此用户登录时,Windows 将自动尝试使用此备份的配置文件。
3.警告 User Profile Service 1511
Windows 找不到本地配置文件,正在用临时配置文件让您登录。当您注销时,对此配置文件所作的更改将丢失。
4.警告 User Profile General 1509
Windows 不能将文件 C:/Users/Default/AppData/Roaming/Microsoft/Ime/IMSC5/ 复制到 C:/Users/TEMP/AppData/Roaming/Microsoft/Ime/IMSC5/。这可能由网络故障或安全权限导致。
详细信息 - 拒绝访问。
5.警告 User Profile General 1509
Windows 不能将文件 C:/Users/Default/AppData/Roaming/Microsoft/Ime/IMSC5 复制到 C:/Users/TEMP/AppData/Roaming/Microsoft/Ime/IMSC5。这可能由网络故障或安全权限导致。
详细信息 - 拒绝访问。
6.Winlogon错误和警告的事件ID主要有 6004 6001 6000
以上警告4和5好像显示某些配置文件复制出错,笔者检查C:/Users/TEMP/AppData/Roaming/Microsoft/Ime/下确实没有IMSC5文件夹,手动复制过去,注销管理员账户,登录问题账户依然没有解决,于是在“事件查看器”中“联机查找原因”,根据微软提供的一些信息(如下图),笔者找到了关键点。


笔者分析:似乎是用户配置文件出了问题,但是登录时尝试用“临时配置文件”过程又有毛病,双重因素导致不能登录。

第四步:
重点分析注册表项【HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/ProfileList】
对照网上另一解决方法:
一,开机按F8,从安全模式启动。
二,按Windows+R,键入“regedit”,回车。
三,进入:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/ProfileList,最后有两个文件夹,以“s-1-5...”开头的,一个有“.bak”后缀,一个没有。把这两个文件夹的名字互换。然后退出,重启电脑,问题就解决了。
附:如果还没有解决,继续以下步骤:
四,在新的那个带“.bak”后缀的文件夹中找到refcount,右键选modify,把值改为0,然后退出,重启。
我的折腾就到这里,还没遇到不能解决的情况。
如果你按此步骤还不能解决,请给我留言。
笔者深受上法启发,最终解决方法跟上法大同小异,不过更为简单,还是不绕弯子了,先看一下笔者带“.bak”后缀的注册表项:



对照正常管理员账户 “State”子键的键值“0”,查看“高级系统设置”中“用户配置文件”一栏,正常账户状态为“本地”,而问题账户状态为“备份”。很明显State“8000”即为“备份”,State“0”为“本地”了。而不带“.bak”后缀的注册表项中"ProfileImagePath"子键的键值为“C:/Users/Temp”,而且仅有三四个子键。
笔者不知到是抽了还是有直觉,毫不犹豫直接把整个不带“.bak”后缀的注册表项删除,注销当前账户,登录问题账户,成功登录这时问题解决了,再查看注册表发现带“.bak”后缀的注册表项的“.bak”自动消失变成不带“.bak”的项,而且其下子键数量与刚开始一模一样,不过State变为了“0”,进入“高级系统设置”中“用户配置文件”一栏,两个账户状态均变“本地”了。
问题反思:"ProfileImagePath"子键的键值为“C:/Users/Temp”的注册表子项中子键数量明显比其他正常账户少,可能是对该项写入不完整导致不能通过“临时配置文件”登录,删除该项,登录时自动重建,“备份”状态转化为“本地”。
总之,笔者最简单的解决方法就是:
1、开机按F8进入到安全模式,登录系统(如果只是标准账户有问题,管理员账户没问题就不要安全模式了);
2、打开注册表,找到带“.bak”的项(如【HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/ProfileList/ S-1-5-21-****-****-1000.bak】)不要动它。
3、定位到带“.bak”的项上方一个不带“.bak”的项(如【HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/ProfileList/S-1-5-21-****-****-1000】),确认该项包含键值为“C:/Users/Temp”的子键"ProfileImagePath",在左侧删除整个项,带“.bak”的项不要动,即可实现正常登录。 登录之后会发现带“.bak”的项自动去掉了“.bak“。

当然,笔者第二次出现这个问题时,安全模式竟然无法进入,现在把这个问题的解决方法说一下:
开始/运行输入msconfig回车打开系统配置实用程序,进行如下设置:


就到这里吧,以后删除一些没用的文件的时候要小心。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐