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ブートプロセスで。
カーネルパニックが発生するのはなぜですか?
カーネルパニックが発生します:
-
initramfs
の場合 ファイルが破損します。 -
initramfs
の場合 指定されたカーネルに対して正しく作成されていません。すべてのカーネルバージョンには、対応する独自のinitramfs
があります。 。 - インストールされているカーネルがサポートされていないか、正しくインストールされていない場合。
- 最近のパッチにいくつかの欠陥がある場合。
- モジュールがオンラインまたは別のソースからインストールされているが、
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.2 :mkinitrd
を実行します --force
を使用したコマンド オプションとカーネル仕様:
#mkinitrd --force <initrd-Image> <Kernel-Version>
initramfs
これらの短い手順でファイルが再生成され、エラーなしでOSを起動できるようになりました。
[無料の電子書籍:成功のためにLinux環境を管理する]
まとめ
これで、カーネルパニックエラーが発生した場合はいつでも、絶対に発生しません。 このエラーが発生した理由とその解決方法がわかっているため、パニックに陥ります。この記事では、Linuxの起動に関する一般的な問題の1つであるカーネルパニックについて説明します。 Linuxで発生する可能性のある起動の問題は他にもたくさんありますが、システムに関する高度な知識を身に付ければ、これらの問題を解決することでパニックが大幅に軽減されます。