我的系統無法啟動
我有一個 gentoo 系統,它使用 systemd、一個自定義核心、一個自定義 initramfs 和一個自定義 init 腳本。該系統正在執行。現在它沒有。顯然有些事情一定發生了變化,但我不知道是什麼。
當 init 腳本啟動 init 系統 (
exec switch_root /mnt/root /var/lib/systemd/systemd
) 時,我收到以下錯誤:Welcome to Gentoo/Linux! [!!!!!!] Failed to isolate default target, freezing.
這個錯誤是什麼意思?我能做些什麼來解決它?
在 systemd 行話中,隔離一個單元是一種稍微特殊的啟動或啟動它的形式,這在大多數情況下(儘管我會回到這一點)被認為與啟動相同。systemd at bootstrap 根據系統是在緊急、救援還是正常模式下啟動,隔離三個目標之一。前兩個由核心命令行中的
-b
and指定-s
,它們分別傳遞給第一個程序,並分別隔離emergency.target
和rescue.target
。普通模式隔離default.target
單位,這是其他一些具體目標的別名(用 設置systemctl set-default
),例如graphical.target
或multi-user.target
. 未能隔離第一個單元(其他所有單元都從中流出)是一個相當嚴重的錯誤,當這種情況發生時,systemd 會發出一條消息並凍結。不能被隔離是不尋常
default.target
的,它暗示了一些嚴重的錯誤配置(比如掩蔽的人sysinit.target
)或非常不尋常的設置(比如違反了 systemd 前提之一,例如/usr
並且/etc
是相同的文件系統,或至少安裝在一起,/
)。對此的診斷進一步涉及上述緊急和救援模式。只需引導進入這些模式而不是正常模式,然後手動啟動default.target
設備,查看發生了什麼、發生了什麼錯誤以及日誌中的內容。這就是隔離和啟動之間的區別很重要的地方。絕不能孤立default.target
,因為這會關閉緊急/救援模式登錄會話,作為隔離設備的一部分。必須啟動它。我好像還有一段備用。
進一步閱讀