fwupd 服務正在減慢我的 PCIe SSD 的啟動時間。為什麼會這樣,我該如何解決?
我的系統目前在啟動時顯示出一些奇怪的行為。按下電源按鈕幾秒鐘後,GUI 登錄出現,但我的鍵盤和滑鼠保持未通電約一分鐘。
systemd-analyze
表示fwupd.service
是問題:$ systemd-analyze time Startup finished in 12.573s (firmware) + 293ms (loader) + 3.710s (kernel) + 1min 2.907s (userspace) = 1min 19.485s graphical.target reached after 5.434s in userspace
$ systemd-analyze blame 1min 705ms fwupd.service 4.083s plymouth-quit-wait.service 1.028s gpu-manager.service 925ms systemd-logind.service 708ms systemd-resolved.service 507ms accounts-daemon.service 490ms networkd-dispatcher.service 488ms system76-power.service 470ms fancontrol.service 437ms ModemManager.service 301ms systemd-journald.service ...
journalctl -u
表示fwupd
正在掛斷某些設備:Jun 25 21:25:49 pop_os systemd[1]: Starting Firmware update daemon... Jun 25 21:25:50 pop_os fwupd[1501]: 01:25:50:0156 FuPluginUefi failed to add /sys/firmware/efi/esrt/entries/entry0: ESRT GUID '00000000-0000-0000-0000-000000000000' was not valid Jun 25 21:26:50 pop_os systemd[1]: Started Firmware update daemon.
我嘗試將指定的 GUID
00000000-0000-0000-0000-000000000000
放在BlacklistDevices
變數 in 中/etc/fwupd/daemon.conf
,但這對啟動時間沒有影響。我還查看了/sys/firmware/efi/esrt/entries/entry0
目錄,該目錄中的文件fw_class
包含上述 GUID。這是輸出
fwupdmgr get-devices
:$ fwupdmgr get-devices To Be Filled By O.E.M. │ ├─PCIe SSD: │ Device ID: 71b677ca0f1bc2c5b804fa1d59e52064ce589293 │ Summary: NVM Express Solid State Drive │ Current version: ECFM12.3 │ Vendor: Phison Electronics Corporation (NVME:0x1987) │ GUIDs: 8cb1e2fe-eb01-5508-9fb3-98add4bb7c34 │ a44eb54c-5441-56f2-8cc0-5e48964c6457 │ 8d128eab-f266-513f-81e7-910de65fd73a │ Device Flags: • Internal device │ • Updatable │ • Requires AC power │ • Supported on remote server │ • Needs shutdown after installation │ • Device is usable for the duration of the update │ └─PS Audio USB Audio 2.0: Device ID: aff287d984fc4f1ed8f1ab3b35e4650b1b1f6c22 Current version: 6.152 Vendor: PS Audio (USB:0x2616) GUIDs: 0f7b0016-25d6-5bc5-a6e0-423dba203c62 1fd717ad-32ef-5d86-a59a-71fd73ed6aae Device Flags: • Updatable
我的理解是,
fwupd.service
在放棄並繼續前進之前,會在此 ESRT GUID 條目上掛斷一分鐘。我的問題是:那個條目到底是什麼,我怎樣才能阻止它減慢我的啟動速度?編輯:事實證明,它根本不是
fwupd
,而是 Xbox One 無線適配器正在減慢一切。在沒有插入適配器的情況下啟動完全解決了這個問題。
簡短回答:您系統的 UEFI 韌體聲稱支持“UEFI 韌體更新膠囊”機制,該機制允許所有作業系統以統一的方式提供系統韌體更新(也稱為“BIOS 更新”)。但是您目前的韌體版本顯然在ESRT 資訊表中提供了一個空 GUID,而不是正確辨識可更新的系統韌體,因此嘗試檢查Linux 供應商韌體服務中是否有更新的韌體版本失敗。
fwupd
負責從系統韌體中讀取 ESRT 資訊表並查詢該類型韌體更新可用性的外掛的名稱是uefi
,因此您可以嘗試BlacklistPlugins
在您的 to 中編輯該行/etc/fwupd/daemon.conf
:BlacklistPlugins=test;uefi
(假設您的配置文件已經包含
test
外掛的預設黑名單,就像在我的 Debian 10 上一樣)這
fwupd.service
是完全可選的,因此如果您更喜歡該解決方案,完全禁用它應該沒有問題(systemctl mask fwupd.service
即使其他服務請求它也可以防止它自動啟動)。但是,您需要以老式方式自行查找適用於您系統的任何韌體更新。:-)幸運的是,系統供應商可能已在更新的 UEFI 韌體版本中修復了它,因此將您的 UEFI 韌體更新到最新的可用版本可能會解決問題。