GNU/Linux >> Linux の 問題 >  >> Linux

起動に失敗した場合に古いカーネルへの自動フォールバックを許可するsystemd

最近、systemdは起動の失敗を管理するための新機能をリリースしました。同じことについてのこの短い報道でそれについて読みましょう。

再びsystemdとは何ですか?

Systemdは、Linuxシステムの基本的な構成要素のソフトウェアスイートとして機能するシステムデーモンです。システムとサービスの管理を容易にし、システムの残りの部分を開始します。通常、すべて小文字で systemdとして表されます。 (システムデーモン)Unix/Linux標準に準拠。

これは、2010年にLennartPoetteringとKaySieversによって開発者プロジェクトとして開始されました。 Fedoraは、2011年5月以降、デフォルトでsystemdを含む最初の主要なディストリビューションになりました。

systemdを含めると、ベテランのLinuxユーザーにある種の反乱が生じました。 Devuanのようなディストリビューションは、systemdを遠ざけるためだけに作成されました。

ここでは、systemdとinitの議論には立ち入りません。技術を理解していれば、それは完全にあなたの呼びかけです。 systemdの新機能と、ブートの失敗を修正した経験を共有します。

ブートカウント:Systemdの最新機能

フレーズが示すように、ブート試行のカウントは、 systemdの改訂版の一部です。 「自動ブート評価」。カーネルのブートと障害を追跡できます。

この評価の助けを借りて、新しいバージョンが障害のために正常に起動することを拒否した場合に備えて、システムは自動的に以前のバージョンのOS/カーネルに戻すことができます。

systemdの改訂された機能セット 新しい自動ブート評価は、GitHubのドキュメントで入手できます。技術的な詳細に興味がある場合は、それを読むことができます。

開発者は、UEFIシステムで完全なソリューションを提供することに加えて、さまざまなコンポーネントを他のソフトウェアと組み合わせて独立して使用することもできることを提案しています。

systemdの問題の診断:私のE xperience

systemdのこの新機能に興奮しています。これにより、Linuxユーザーの時間と手間を大幅に節約できます。起動の問題に関する私の経験を共有します systemdはこの起動失敗機能を導入しました。

Systemd 過去にデュアルブートシステムの問題を診断するのに役立ちました。ここでの経験を共有して、その機知に富んでいることを知っておくと便利だと思います。

かつて、Ubuntu 16.04 LTSシステムを起動しようとしたときに、GRUBから同じものを選択した後、次のエラーメッセージが表示されました。

仕事で忙しい一日を過ごした後、なぜそんな迷惑なメッセージで突然「迎えられる」のかと不安になりました。 PCのハードディスクの1つ(/ dev / sdb3)について言及していることを読んだとき、Windows 10の休止状態機能で何かを行う必要があるかもしれないというヒントと、Windows10でのシャットダウンの試行が実際には部分的な休止状態であるという事実を知りました。より高速な起動。

このヒントを得るとすぐに、Windowsを起動し、Shiftキーを押しながら、Windowsの[スタート]メニューから[シャットダウン]をクリックして完全にシャットダウンしました。その後、Ubuntuに正常にログインできました。以降、Windowsで「高速起動」と休止状態を無効にしました。

コマンドを使用してログを調べたところ、Ubuntuに戻って、エラーメッセージが systemdの一部であることがわかりました。 の機能。次のコマンドを使用して、コマンドの完全な出力をログファイルに保存しました。

journalctl -xb | tee systemdlogged.log

ログファイルを確認したところ、Windows 10での部分的な休止状態が原因であることが再確認できました(セッションを作成できません:セッションで既に実行されています )。

好きですか、嫌いですか?

ご覧のとおり、古いカーネルへのこの新しい自動フォールバックにより、Linuxユーザーはここで問題を回避できます。

このアイデアにより、他のブートローダーまたは非UEFIシステムで同様のスキームを実装できるようになります。おそらくsystemd 将来的にLinuxBootでの使用も検討できますか?



Linux
  1. システム管理者がsystemdを愛する5つの理由

  2. pygrub:カーネルを含むパーティションが見つかりません

  3. 起動時にカーネル モジュールをスキップする

  1. Linuxサーバーで自動リブートレスカーネルアップデートを設定する方法

  2. Qemu をカーネル パニック時にエラーで終了させることはできますか?

  3. Systemd の依存関係と起動順序

  1. シェルスクリプトでSetuidを許可しますか?

  2. Systemdを使用した非グラフィカルブート?

  3. CentOS/RHEL 7 および 8 で systemd ブート プロセスをデバッグする方法