本文原載於《21天從零開始做修Windows電腦專家:入門到精通》一書

某一次重啟之後,發現筆記本的wifi無法連接了,顯示為紅叉。

在Windows10的設置里提示,沒有在您的計算機上找到無線網卡,之類的。首先確認無線網卡驅動正常,為了保險起見,還回滾了一次驅動(因為曾經出現過Win10自動更新後驅動跪了的情況)。

那麼是怎麼回事呢?

萬能的谷歌告訴我們,在操作系統層處理無線協議的服務是WLAN AutoConfig。

WLAN AutoConfig的服務名稱是wlansvc,我們使用sc查詢其運行狀態:

嘿夥計你瞧,它掛了:)  錯誤碼是1068。如果你在「服務」控制台中嘗試啟動它,會提示

436919cbgw1eweeu2sv5nj20dn063gm9

 

這是為什麼呢?( ´◔ ‸◔’)

我們還是通過sc查詢服務的依賴:

然後依次查詢DEPENDENCIES欄中依賴服務的運行狀態,我們發現,wcmsvc服務掛了:

錯誤碼是0x2,這個代碼太熟悉了,就是找不到文件嘛!哦我的上帝,它竟然告訴我找不到文件Σ( ° △ °|||)︴

但是服務如果這個dll真的不存在,那麼應該是提示126: 找不到模塊。

這時我想起似乎曾經拒絕過某個服務的安裝,也許就是那時手滑看錯了。

我們打開註冊表,來到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wcmsvc,在Description鍵中可以看到提供服務的dll(之一)位於%SystemRoot%\System32\wcmsvc.dll。

在資源管理器中找到這個文件,並且檢查權限及簽名沒有損壞。那說明就是註冊表的錯了。

從基友那正常運行的同版本Win10中導出HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wcmsvc這一項後,導入本機。測試啟動服務sc start wcmsvc,sc query wcmsvc,得到RUNNING提示。

實際上由於錯誤操作導致服務添加失敗,直接的體現就是這一項中少了Parameters這一項,0x2也就是由此而來的了。

 

另外,如果發現文件損壞或者修復註冊表後仍無法啟動,可以嘗試從健康系統的拷貝文件替換。但是要注意,要對系統文件進行修改必須進行takeown,之後將無法恢復原文件的所屬(TrustedInstaller),這是由Windows的安全機制導致的。