症狀:
左側能充電的那個usb-c 紅燈始終常亮。拔下電源線也亮着。
系統里電源是始終顯示正在充電,即使拔掉外接電源也顯示連着外接電源正在充電!
——最嚇人的是,用U盤啟動進PE,想重裝win10,結果在pe里還是不帶外接電源,顯示正在充電,且充電進度條一直滾。
——設備管理器里,找不到thunderbolt 設備,Lenovo網站下載的更新thunderbolt firmware 的工具提示 找不到 tb設備!
解決方案:參考:https://askubuntu.com/questions/980490/lenovo-x1-thinkpad-battery-not-charging-in-17-04
1關機重啟,按enter->F1進bios
2在config->power->turn off Battery (這步之前我還是猶豫了,因為萬一是tb硬件壞了,這一步萬一睡死了變磚呢?2333 如果我沒有備份機,我是絕對不敢做這一步的!)
3 此時已經黑屏關機,左側燈肯定滅了。這時上ac電源,按電源,系統啟動!
起因:
這兩天win10推送的什么更新。
我的使用習慣是 每天合上蓋子休眠。打開直接用,結果今天早上發現 usb-c 外接的think vision的屏幕和鼠標都不好使了。
再檢查一下,發現連電都充不進去了。
一直懷疑是win10 1809升級導致的,結果折騰一天,幸虧1809的msdn鏡像做得太差,沒有讓我順利重裝。(要不是1809的iso鏡像wim文件超過4G,沒法用之前的U盤刻錄方式安裝;要不是在pe下仍然看見詭異的不插電源顯示正在充電,現在系統已經重裝完了 23333.)
折騰到下午,電池的電越來越少,已經准備接受變磚可能了。
然后搜到bios里斷電這個方案:在我有備份機的情況下,猶豫了一下,還是照做了。
—— 怎么說呢
1不管怎么說,不管這個bug的起因是什么(tb3 firmware 或者驅動或者win10 1809什么的),摳掉電池掉電 讓電源口狀態復位 這個設定,還是起到了托底的作用。最終有驚無險,我也省的完全重裝系統之苦。——不管怎么樣掉電,保證系統沒有變磚。
2 故障還是有點詭異。有點不應該。特別是電源口失去響應,即使在pe下仍然看見電源狀態是插電正在充電,是在有點嚇人。
明顯系統的tb口狀態飛了,os 包括pe都無法get到!這時“實際ac電源插拔狀態,ac口燈狀態,和os里看到的是否正在充電進度條狀態"已經完全不同步了。
——對寫程序的啟示: 這就是拋異常和watchdog的作用吧。
而且,越是關鍵系統,核心組件,越是不要搞得太機巧,反而要笨一點,嚴一點,用狀態機建模。
只讓系統任意時刻都運行在人為規定的唯一1個確定狀態空間中!
這種類似真值表、窮舉法、白名單的建模方式非常的原始,笨拙,不智能,不elegant,也不fusion。
但是管用的辦法,就不是笨辦法。
任何方法都不能濫用,也不能不用。用到恰到好處需要不斷的多寫,多體會,需要下自己功夫。