不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學習啦 > 學習電腦 > 電腦故障 > 電腦故障現(xiàn)象 > 不能開機 > Windows服務無法啟動的五種排錯方法

Windows服務無法啟動的五種排錯方法

時間: 家輝661 分享

Windows服務無法啟動的五種排錯方法

  有很多網(wǎng)友咨詢有關Windows服務無法啟動的問題,例如無法啟動“Logical Disk Manager”服務。這類服務出錯的現(xiàn)象往往是五花八門,判斷起來比較麻煩。下面學習啦小編就為大家介紹一下關于Windows服務無法啟動的五種排錯方法,歡迎大家參考和學習。

  如果系統(tǒng)無法順利啟動,請按Reset鍵重新開機,然后按F8,在Windows高級啟動菜單上選擇“恢復到最近一次的正確配置”菜單項,這樣就可以先前的HKLM\SYSTEM\ControlSet00n覆蓋錯誤配置的CurrentControlSet(ControlSet00n中的n由HKLM\SYSTEM\Select的LastKnownGood鍵值指定)。

  錯誤2:系統(tǒng)找不到指定的文件

  1.故障現(xiàn)象嘗試在“服務”管理單元窗口手動啟動服務是,系統(tǒng)提示“錯誤2:系統(tǒng)找不到指定的文件”(Error 2: The system cannot find the file specified.),如圖1所示。

  2.原因分析

  兩種可能:

  (1) 服務的可執(zhí)行文件丟失或者被破壞。

  (2) 服務相關注冊表鍵值ImagePath的數(shù)值數(shù)據(jù)被篡改,導致SCM無法加載服務的可執(zhí)行文件。在“服務”管理單元窗口里可以看到每個服務的可執(zhí)行文件路徑,請仔細檢查如圖2所示的可執(zhí)行文件所在路徑,如果和參照系統(tǒng)的正確配置不符合,說明注冊表鍵值ImagePath的數(shù)值數(shù)據(jù)有誤。如果此處的配置沒有問題,則說明可執(zhí)行文件丟失或者被破壞。

  3.解決辦法

  以“Task Scheduler”服務為例。

  如果注冊表鍵值ImagePath的數(shù)值數(shù)據(jù)被篡改,可以定位以下注冊表項:

  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Schedule

  在右側定位到ImagePath鍵值,將其數(shù)值數(shù)據(jù)修改為正確的值,并重啟系統(tǒng)。

  或者借助sc命令:

  sc config Schedule binpath= "%SystemRoot%\System32\svchost.exe -k netsvcs"

  如果是可執(zhí)行文件丟失或者破壞,請用正確的副本進行替換,并重啟系統(tǒng)。對于本例來說,可執(zhí)行文件是svchost,如果該文件被破壞,系統(tǒng)將無法正常運行。

  錯誤1053:服務沒有及時相應啟動或控制請求

  1.故障現(xiàn)象

  嘗試在“服務”管理單元窗口手動啟動服務時,系統(tǒng)提示“錯誤1053:服務沒有及時相應啟動或控制請求”,如圖3所示。

  2.原因分析

  如圖2所示,可執(zhí)行文件的附加命令參數(shù)配置有誤,會導致問題。

  3.解決辦法

  參照上述的方法,用sc命令或者注冊表編輯器,對附加的命令參數(shù)進行排錯。

  錯誤1083:配置成在該可執(zhí)行程序中運行的這個服務不能執(zhí)行該服務

  1.故障現(xiàn)象

  嘗試在“服務”管理單元窗口手動啟動服務時,系統(tǒng)提示“錯誤1083:配置成在該可執(zhí)行程序中運行的這個服務不能執(zhí)行該服務”,如圖4所示。

  2.原因分析

  該故障通常在由svchost服務宿主進程所啟動的服務上發(fā)生。大家知道Windows XP SP2最多可以啟動七個svchost進程實例(實際上啟動六個進程實例),分別負責啟動一組服務。每個svchost實例所負責啟動的服務由以下注冊表項決定:

  HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost

  其下共有七個鍵值:DcomLaunch、HTTPFilter、imgsvc、LocalService、netsvcs、NetworkService、rpcss和termsvcs。每個鍵值都定義了一個或者多個服務,也就是對應每個svchost進程實例所能啟動的一組服務。

  本例中“Task Scheduler”服務的可執(zhí)行程序參數(shù)是“svchost.exe -k netsvcs”,對應的svchost進程在啟動該服務之前,會先到HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost下的netsvcs鍵值里查找是否有該服務的定義,如果沒有,就會出現(xiàn)該故障現(xiàn)象。

  3.解決辦法

  很簡單,首先打開該服務的屬性對話框,查看其可執(zhí)行程序的命令參數(shù)(本例是netsvcs),如圖2所示。

  然后進入以下注冊表項:

  HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost

  在右側定位到對應的鍵值,本例是netsvcs,在其數(shù)值數(shù)據(jù)里添加該服務名即可,本例是Schedule,如圖5所示,并重啟系統(tǒng)。

  提示 為什么通常只會啟動六個svchost進程實例?都是TermService服務惹的禍!TermService(Terminal Services)這個服務非常另類,不僅僅出現(xiàn)在DcomLaunch組里,同時還獨立出現(xiàn)在termsvcs組里,然而在“服務”管理單元窗口里,該服務的命令行為“svchost.exe -k DcomLaunch”,也就是說實際上并沒有一個svchost進程實例負責啟動termsvcs服務組!

  錯誤126:找不到指定的模塊

  1.故障現(xiàn)象

  嘗試在“服務”管理單元窗口手動啟動服務時,系統(tǒng)提示“錯誤126:找不到指定的模塊”(Error 126: The specified module could not be found.),如圖6所示。

  2.原因分析 該故障通常在由svchost服務宿主進程所啟動的服務上發(fā)生。這一類的Windows服務,其實是以dll模塊的形式插入某個svchost進程。如果該dll文件被破壞,或者注冊表的相關鍵值被篡改,都可能導致問題。

  這類服務所對應的Dll文件,是由HKLM\SYSTEM\CurrentControlSet\Services\ServiceName\Parameters注冊表項下的ServiceDll鍵值所定義的(此處的ServiceName是指服務名),如果該注冊表鍵值出錯,或者對應的Dll文件被破壞,就會導致這個問題。在微軟新聞組里有不少網(wǎng)友抱怨無法打開“磁盤管理”窗口,尋根溯源發(fā)現(xiàn)是“Logical Disk Manager”服務無法啟動所導致。其中有一個case是系統(tǒng)被木馬PCShare所感染,木馬修改了“Logical Disk Manager”服務的注冊表鍵值,把HKLM\SYSTEM\CurrentControlSet\Services\dmserver\Parameters注冊表項下的鍵值ServiceDll的數(shù)值數(shù)據(jù)指向木馬的文件“%SystemRoot%\System32\drivers\Ybfbqufe.sys”,盡管后來利用殺毒軟件殺除木馬,但是殺毒軟件未能處理被木馬篡改注冊表鍵值,導致無法打開“磁盤管理”。

  注意 不要將該故障和“錯誤2:系統(tǒng)找不到指定的文件”相混淆!

  3.解決辦法

  對于“Logical Disk Manager”服務的問題,在以下的注冊表項:

  HKLM\SYSTEM\CurrentControlSet\Services\dmserver\Parameters

  確保將其下ServiceDll鍵值的數(shù)值數(shù)據(jù)修改為“%SystemRoot%\System32\dmserver.dll”。

  如果注冊表鍵值沒有問題,請確保用正確的文件副本替換原來的dll文件,并重啟系統(tǒng)。

  錯誤1079:此服務的帳戶不同于運行于同一進程上的其他服務的帳戶

  1.故障現(xiàn)象

  嘗試在“服務”管理單元窗口手動啟動服務時,系統(tǒng)提示“錯誤1079:此服務的帳戶不同于運行于同一進程上的其他服務的帳戶”,如圖7所示。

  2.原因分析

  該故障通常在由svchost服務宿主進程所啟動的服務上發(fā)生。前面說過Windows XP SP2最多可以啟動七個svchost進程實例,分別負責啟動一組服務。一組服務中的每個服務必須和對應的svchost進程實例運行在同一個啟動帳戶下。

  例如Alert服務屬于LocalService組的服務,其對應的svchost進程實例運行在Local Service帳戶下,如果錯誤地將Alert服務的啟動帳戶修改為別的帳戶,例如Local System帳戶,就會報錯。

  3.解決辦法

  首先根據(jù)該服務的可執(zhí)行文件路徑屬性找到其所屬的服務組,例如Alert服務屬于LocalService的服務組,然后確定同一組的其他服務的啟動帳戶,將其修改為相同的啟動帳戶即可。

  服務啟動失敗的原因是多種多樣的,但一個普遍的解決方法,通常是注意系統(tǒng)給出的錯誤提示,以及eventvwr.msc中的系統(tǒng)日志。

293591