Debian Jessieを実行しているデスクトップコンピュータは、起動するたびに緊急モードのシェルにドロップし始めました。画面には、journalctl -xb
を使用して理由を見つけ、systemctl default
を使用して起動を続行するように指示されています。 systemctl default
を実行すると、システムは起動し続け、システムを数週間使用した後、明らかに問題はありません。
journalctl -xb
を見ると、緊急シェルにドロップする理由として何も目立ちません。 正確にが緊急モードに移行することを決定した理由を決定する簡単な方法はありますか?問題がどこにあるかを明らかにする他のフラグまたは起動オプションはありますか?
失敗すると、コンソールに([ FAIL ]
ではなく)赤い[ OK ]
が表示され、その横にユニットの説明が表示されます。通常、最初の障害が最も重要です。コンソールでshift + pageupを使用して上にスクロールし、過去数画面の出力を表示します。出力が多すぎる場合、これは機能しない可能性があります。
これは、通常[ OK ]
メッセージが表示されない場合でも機能します。 Debianで使用されるカーネルコマンドラインのquiet
が原因です。最初の失敗時に、systemdは詳細モードに切り替わります。
それ以外の場合は、systemctl
を使用できます。オプションを指定しない場合、既知のユニットの大規模なリストが表示され、障害が赤で強調表示されます。失敗したものだけを表示するには、systemctl --state=failed
またはsystemctl --failed
を使用します。
ユニットファイルを検索する場合、ブートがemergency.target
にフォールバックする方法はほとんどありません。これは通常、ローカルファイルシステムの.mount
ユニットが失敗し、local-fs.target
が失敗した場合に発生します。または、initramfsがsystemdを使用している場合、initramfsがルートファイルシステムのマウントに失敗した場合。
local-fs.target
にはOnFailure=emergency.target
があります。また、ローカルファイルシステムのユニットがlocal-fs.targetのRequiresリストに自動的に追加されるため、失敗します(DefaultDependencies=no
がない場合)。
$ systemctl show --property Requires local-fs.target
Requires=-.mount home.mount boot.mount boot-efi.mount
時々、「メンテナンスモード」のプロンプトが表示され、エラーについても、journaldをスクロールする必要があります。 journalctlはポケットベルとしてlessを使用するので、検索により少ないショートカットを適用できるはずです。
通常、私は検索機能(/)を使用して、「エラー」、「警告」、または「失敗」に相当するものを検索します。また、大文字と小文字を区別しない検索を強制するには、必ず-iを使用してください。
したがって、私のキーストロークは次のようになる傾向があります。
-i (case insensitive)
g (move to start)
/error
nnnn (skip through results)
g (move to start)
/fail
nnnn (skip through results)
g (move to start)
/warn
nnnn (skip through results)
厳密には、厳密な問題を網羅的または正確に検索するものではありませんが、この方法でブートの問題を見逃したことはありません。
以下の関連性の低いキーボードショートカット:
http://www.thegeekstuff.com/2010/02/unix-less-command-10-tips-for-effective-navigation/