Arch-Linux

plymouth-quit-wait.service 沒有停止,啟動沒有完成

  • October 23, 2021

我已經在 Arch Linux 上使用 Gnome 配置了 Plymouth,並且可以毫無問題地啟動(因為我輸入了我的加密密鑰,進入登錄螢幕,並且可以成功登錄)。不幸的是,plymouth-quit-wait.service永遠不會完成:

~ systemctl status plymouth-quit-wait

● plymouth-quit-wait.service - Hold until boot process finishes up
    Loaded: loaded (/usr/lib/systemd/system/plymouth-quit-wait.service; static)
    Active: activating (start) since Wed 2020-08-19 11:37:12 CEST; 4min 31s ago
  Main PID: 603 (plymouth)
     Tasks: 1 (limit: 38119)
    Memory: 312.0K
    CGroup: /system.slice/plymouth-quit-wait.service
            └─603 /usr/bin/plymouth --wait

Aug 19 11:37:12 hostname systemd[1]: Starting Hold until boot process finishes

我不明白這是為什麼,因為一切正常。我可以在哪裡尋找故障排除?

從評論來看,問題似乎plymouthd仍在執行,plymouth-quit-wait.service正在等待它退出。

因為plymouthd需要在 initramfs 中啟動並至少保持執行直到 GUI 伺服器(無論是 X11 還是 Wayland)啟動,至少在 Debian 上它的服務名稱有點不尋常:

  • /lib/systemd/system/plymouth-start.service實際上plymouthd作為分叉一次性服務啟動,並告訴它開始顯示啟動啟動螢幕。
  • 如有必要,systemd-ask-password-plymouth.service告訴它詢問磁碟加密密碼等內容
  • plymouth.service是一個符號連結plymouth-quit.service,它是另一個執行的 oneshot 服務,plymouth quit應該告訴plymouthd它退出。

Arch 的設置可能有些不同,但我認為某些服務沒有plymouth quit在它應該執行的時候執行,或者plymouthd沒有收到它應該退出的消息。

您可以嘗試plymouth quit以 root 身份手動執行 - 如果這導致plymouthd退出並systemctl status轉換到State: running,那麼問題在於plymouth quit沒有自動執行。如果狀態沒有改變,則嘗試終止該plymouthd程序,因為它似乎以某種方式掛起。

您是否偶然使用了專有的 NVIDIA GPU 驅動程序?如果我沒記錯的話,/曾經有一個問題是它設置顯示幀緩衝區配置的方式plymouthd無法正常工作。如果是這樣,那麼您可能想嘗試基於文本的 plymouth 引導主題,或者完全禁用引導啟動。

引用自:https://unix.stackexchange.com/questions/605235