Linuxのカーネルをダウングレードする方法

Linuxはカーネルによって成り立っています。GNU/Linuxの仕組みに精通している方には、Linuxはカーネルそのものであることが分かるでしょう。それ以外はすべて、カーネルとインターフェースを持つツールです。これらのツールは実際に作業を行うために使われますが、カーネルなしでは何もできません。
オペレーティングシステムのカーネルは、あなたの心血管システムのようなものです。何か問題が起きるまで、忘れがちです。頻繁にあるわけではありませんが、カーネルのアップグレードが失敗することは確かにあります。アップデートされたカーネルがコンピュータの使用を許さない場合は、ダウングレードの時です。
関連情報を読む: Ubuntuでカスタムカーネルをビルドしてインストールする方法
古いカーネルでブートする
最近カーネルをアップデートした場合の良いニュースは、このプロセスがほぼ常に古いカーネルを削除しないということです。唯一それが起こる可能性があるのは、古いカーネルを即座にアンインストールした場合ですが、これはあまり良い考えではありません。
古いカーネルでブートするには、コンピュータを再起動する必要があります。コンピュータがGRUBを読み込むとき、非標準オプションを選択するためにキーを押す必要がある場合があります。一部のシステムでは、ここに古いカーネルが表示され、Ubuntuでは「Ubuntuの高度なオプション」を選択して古いカーネルを見つける必要があります。
古いカーネルを選択すると、システムにブートします。すべてが以前のように動作するはずです。依然として問題がある場合、カーネルが問題でない可能性もあります。
関連情報を読む: 自作Linuxカーネルをコンパイルする際の5つの便利なヒント
問題のあるカーネルを削除する
コンピュータにブートしてすべてが意図した通りに機能している場合、アップグレードされたカーネルが原因の可能性が高いです。技術的には、コンピュータをブートするたびにこれを行うことができますが、問題のあるカーネルを削除する方が理にかなっています。

これは、ディストリビューションのパッケージ管理ツールを使用して行うことができます。これは、使用しているシステムによって異なります。また、削除したいカーネルのバージョンを知っておく必要があります。これは、ブートアップ時のGRUB画面で確認できます。Ubuntuや他のaptベースのディストリビューションでは、次のようなコマンドを使用できます:
sudo apt remove linux-image-VERSION-generic linux-headers-VERSION-generic上記のVERSIONを、削除したい問題のあるカーネルの正確なバージョン番号に置き換える必要があります。しばらくの間それらを保持したい場合、次のコマンドを使用できます:
sudo apt-mark hold linux-image-generic linux-headers-generic
将来の問題を避ける方法
この種の問題を避ける最も簡単な方法の1つは、すぐにアップデートを避けることです。これにより、カーネルのトラブルを抱えるユーザーの報告が出てくるかどうかを見る時間が得られます。同じハードウェアを持つユーザーに特に注意を払いましょう。
安定性がキーであれば、LTSディストリビューションを使用することも選択肢です。これらはセキュリティアップデートを除いて、更新頻度が低いです。つまり、通常のディストリビューションよりも安定していることを期待できます。
よくある質問
カーネルをダウングレードすると何か壊れますか?
オペレーティングシステムの核心部分を扱っていると、これは常に可能性があります。しかし、アップグレードしたばかりの場合、以前のカーネルに戻すことはそれほど多くの問題を引き起こさないはずです。
カーネルと直接インターフェースするドライバや他のソフトウェアにエラーが発生する可能性があります。これらのソフトウェアの古いバージョンが削除されていたり、更新されていた場合は、それらをダウングレードする必要があります。
カーネルのアップデートが私のシステムで動作するかどうかを知ることはできますか?
上記の通り、メジャーアップグレードを行う前にユーザーの報告を確認することは常に便利です。使用しているLinuxディストリビューションに基づいて、ユーザーフォーラムを確認し、重大な問題を抱えているユーザーがいないか確認してください。多くのユーザーが問題を抱えている場合、アップグレードを待つことをお勧めします。
私のシステムにインストールされているカーネルを確認するにはどうすればいいですか?
使用しているLinuxディストリビューションによって、どのカーネルがインストールされているかを見るためのコマンドがいくつかあります。以下はほとんどのバージョンで動作します:
find /boot/vmli*Arch LinuxやArchベースのディストリビューションでは、次のコマンドを使用できます:
pacman -Q linuxUbuntu、Debian、またはそれらに基づくシステムでは、以下のコマンドを使用できます:
dpkg --list | grep linux-imageRed Hat、Fedoraやその他の類似ディストリビューションでは、以下のコマンドを使用できます:
rpm -qa kernelこれは網羅的なリストではありませんが、かなりの数のディストリビューションをカバーしています。他のディストリビューションを使用している場合は、ドキュメントを確認してください。
現在使用しているカーネルを確認するにはどうすればいいですか?
これは単純なコマンドで達成できます。端末を開き、次のコマンドを入力します。
uname -rs実行中のカーネルのバージョン情報が含まれた文字列が表示されます。次のように見えるでしょう:
Linux 5.11.0-41-generic背景を見てみる
ダウングレードはカーネル関連の問題に対処する最も簡単な方法ですが、それだけが方法ではありません。カーネルだけが起動時に問題を引き起こす部分ではありません。システムが起動しない場合は、非常にフラストレーションを感じることがあります。
インターネットで問題を検索することは役立つ場合がありますが、言うまでもなく、背景で何が起こっているのかを理解することが役立ちます。システムを起動するときに何が起こっているのかをよりよく理解するために、Linuxのブートプロセスを理解するためのガイドをチェックしてください。