1. 程式人生 > 實用技巧 >【經驗之談】“User Profile Service 服務未能登入,無法載入使用者配置檔案”實戰歷程...

【經驗之談】“User Profile Service 服務未能登入,無法載入使用者配置檔案”實戰歷程...

某一天你開啟PC,開機正常,可當你輸入正確的密碼回車,卻發現VistaWin7拒絕讓你登入,提示“User Profile Service 服務未能登入。無法載入使用者配置檔案。”,你只能反覆確定,迴圈往復……(見下圖)重啟數次,症狀如故,筆者近日就遇到這個問題,通過查閱大量資料並結合自己解決經驗,現將自己解決經歷及網上收集的解決辦法整理如下,希望能幫助到某些有需要的朋友。


下面是筆者實戰歷程:

第一步:

先從筆者的實際情況出發,筆者PC上總共建立了兩個賬戶,現在出問題的這個賬戶是普通使用者賬戶,還有一個管理員賬戶,於是嘗試登入管理員賬戶,居然登入成功!於是上網查詢解決方法。

在網上查詢的方法中大多是先要進入安全模式開啟隱藏的超級管理員賬戶,然後用超級管理員正常登入來解決。筆者認為此法不太適應自己的情況,因為網上的方法一般是針對僅開啟單個賬戶的情況,而筆者有兩個賬戶,而且現在的這個管理員賬戶還能登入,那應該只是登錄檔檔案或配置檔案損壞的問題,但是具體怎麼修復還得深入分析。想到“系統還原”,可惜筆者Vista系統保護並未曾開啟,只好作罷。

所謂懶人有懶辦法,筆者一向為了追求簡單而喜歡“偷懶”,電腦出問題就重啟似乎成了菜鳥最簡單而又最難想到的辦法,有時候無論多複雜的問題一個“重啟”就能輕鬆搞定,而筆者這次似乎未能得逞,嘿嘿。熱啟、冷啟多次未果只能繼續戰鬥了……

第二步:

從登入提示“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

以上警告45好像顯示某些配置檔案複製出錯,筆者檢查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”,檢視“高階系統設定”中“使用者配置檔案”一欄,正常賬戶狀態為“本地”,而問題賬戶狀態為“備份”。很明顯State8000”即為“備份”,State0”為“本地”了。而不帶“.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“。

轉載於:https://blog.51cto.com/weixiao43/506699