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

Linuxカーネルパニックの場合の対処方法

LinuxはITの世界のいたるところで使用されています。気づかなかったとしても、今日はおそらくLinuxを使ったことがあるでしょう。 Linuxについて何かを学んだことがあれば、それが確かにカーネルであることを知っています。カーネルはLinuxオペレーティングシステム(OS)の主要ユニットであり、コンピューターのハードウェアとそのプロセス間の通信を担当します。

この記事では、Linuxカーネルに関連する1つの状況、カーネルパニックについて学習します。 。用語自体があなたを作ることができます パニックになりますが、適切な知識があれば、落ち着いて過ごすことができます。すべてのシステム管理者は、キャリアの中で少なくとも1回はこの問題に直面しますが、システムの再インストールは、最初に頼るべき解決策ではありません。

カーネルパニックとは何ですか?

カーネルパニックは、Linuxの起動に関するいくつかの問題の1つです。基本的には、カーネルが正しくロードできず、システムが起動できない状況です。起動プロセス中、カーネルは直接ロードされません。代わりに、initramfs RAMにロードし、カーネルをポイントします(vmlinuz )、次にオペレーティングシステムが起動します。 initramfsの場合 最近のOSのパッチ適用、更新、またはその他の原因により、この段階で破損または削除された場合、カーネルパニックに直面します。

起動プロセスをさらに掘り下げると、Linuxの「鶏が先か卵が先か」の問題が発生します。

[読者も気に入った:端末、シェル、コンソール、コマンドライン]

マスターブートレコード(MBR)ステップの後にLinuxシステムのブートプロセスが開始されると、GRUBがロードされます。 OSを起動するにはカーネルをRAMにロードする必要がありますが、カーネルはハードディスク(/boot/vmlinuz)にあります。 )、ハードディスクはまだ/にマウントされていません 。マウントしないと、カーネルでさえファイルにアクセスできません。これを克服するには、最初にinitramfs / initrd RAMに直接ロードし、/bootをマウントします 読み取り専用モードのパーティション。次に、ハードディスクを/にマウントします パーティションを作成すると、プロセスが続行されます。

# ls -lrth /boot/

このプロセスは、initramfsの重要性を強調しています / initrd Linuxブートプロセスで。

カーネルパニックが発生するのはなぜですか?

カーネルパニックが発生します:

  1. initramfsの場合 ファイルが破損します。
  2. initramfsの場合 指定されたカーネルに対して正しく作成されていません。すべてのカーネルバージョンには、対応する独自のinitramfsがあります。 。
  3. インストールされているカーネルがサポートされていないか、正しくインストールされていない場合。
  4. 最近のパッチにいくつかの欠陥がある場合。
  5. モジュールがオンラインまたは別のソースからインストールされているが、initrd イメージは、最新のインストール済みモジュールでは作成されません。

トラブルシューティングの方法は?

カーネルパニックエラーが発生した後に最初に行うことは、パニックにならないことです。これで、エラーに関連する画像ファイルを認識できるようになりました。

ステップ1 :指定したカーネルバージョンでシステムを正常に起動します。

次に、このエラーが表示される場合があります:

Enterを押します または任意のキーを押すと、次のように表示されます。

これがカーネルパニックの状況です。

ステップ2 :マシンを再起動し、レスキューを選択します プロンプト。

RHEL 6以前のバージョンでは、このオプションはありませんが、RHEL 7以降では、レスキューイメージが組み込まれています。

このイメージはOSを正常に起動します。

ステップ2.1/bootに移動します すべてのファイルを一覧表示します。ここでは、initramfsがないことがわかります。 カーネル用のファイルですが、initramfsがあります レスキューのファイル これによってシステムを起動し、もう1つはkdump用です。 。

initramfs カーネルが欠落しています。

ステップ3 :新しいinitramfsを作成する必要があります カーネルバージョンに対応するファイル。

ステップ3.1 :最初にカーネルのバージョンを確認してください:

#uname -r

ステップ3.2 :次に、dracutを実行します コマンド:

#dracut -f <initrd-image> <kernal-version>

3.3)/bootを一覧表示します 再びディレクトリの内容。 initramfs これで、カーネルのファイルが作成されました。

ステップ4 :これで、正常に起動すると、カーネルパニックエラーなしでマシンが起動します。

ステップ5 :新しいinitramfsを作成してレスキューイメージを使用してシステムを起動すると、状況が発生する可能性があります。 すでに存在していたために新しいファイルを作成できなかったファイル。

この時点で、initramfsを作成する必要があります mkinitrdの画像 コマンドまたはdracut コマンド。

ステップ5.1 :最初にuname -rを使用してカーネルバージョンを確認してください コマンド。

ステップ5.2mkinitrdを実行します --forceを使用したコマンド オプションとカーネル仕様:

#mkinitrd --force <initrd-Image> <Kernel-Version>

initramfs これらの短い手順でファイルが再生成され、エラーなしでOSを起動できるようになりました。

[無料の電子書籍:成功のためにLinux環境を管理する]

まとめ

これで、カーネルパニックエラーが発生した場合はいつでも、絶対に発生しません。 このエラーが発生した理由とその解決方法がわかっているため、パニックに陥ります。この記事では、Linuxの起動に関する一般的な問題の1つであるカーネルパニックについて説明します。 Linuxで発生する可能性のある起動の問題は他にもたくさんありますが、システムに関する高度な知識を身に付ければ、これらの問題を解決することでパニックが大幅に軽減されます。


Linux
  1. カーネル Linux サーバーの基礎となるものは?

  2. Linux カーネルがプリエンプティブであるとはどういう意味ですか?

  3. 現在の Linux カーネル ソースは何ですか?

  1. Linux のハイ メモリとロー メモリとは何ですか?

  2. Linuxカーネルヘッダーとは正確には何ですか?

  3. Linux の汚染されたカーネルとは何ですか?

  1. Linuxユーザーとは何ですか?

  2. LinuxのUmaskとは

  3. Linuxカーネルパニックを処理する方法