不知你是否遇到這樣的問題,某一天你打開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 回車打開系統配置實用程序,進行如下設置:安全引導--最小。