カーネルの初期化

カーネルの初期化

Linux の起動時に表示されるメッセージは何なのか知りたいです。
この画面は何と呼ばれているのでしょうか?
スクロールするテキストは何を意味しているのでしょうか?

エラーはありませんが、それが何を意味するのか疑問に思います。

答え1

一般的に、起動時のテキスト メッセージは次の 2 つの主要なカテゴリに分類されます。カーネル初期化出力そしてサービスの起動/ステータス出力。

カーネルの初期化

カーネル初期化出力は、最近のディストリビューションではカーネルコマンドラインパラメータを渡すことでデフォルトで無効にされることが多いquiet。以前は、起動時に最も頻繁に表示され、起動時の問題のトラブルシューティングに役立つことは珍しくなかった。Linuxが成熟した現在では、起動時の問題は比較的まれであるため、デフォルトで非表示にすることで、ユーザーの情報過多を軽減できる。D・シュラヒター氏は指摘したこれらのメッセージは、後でdmesgコマンドを使用して確認することができ、サービス起動プロセスの初期段階で /var/log に保存されるファイルに記録されるのが一般的です (主に、すべてが起動する前にシステムに障害が発生した場合に回復を支援し、ライブ CD やレスキュー CD などの代替環境からシステムのカーネル初期化の詳細にアクセスできるようにするためです)。

カーネル初期化メッセージの例は次のとおりです。

  • 使用可能/使用不可/予約済み/その他のメモリ領域の RAM マップ
  • CPU の詳細、MTRR、遅延ループのキャリブレーション メトリック ("BogoMIPS")
  • ハードウェアの初期化 (ACPI、PCI、USB などのコントローラー、ハードウェア バス スキャン、ディスク パーティション スキャンの結果など)

サービスの起動

カーネルが初期化された後、ブート プロセスの制御は と呼ばれるユーザーランド プロセスに引き渡されますinit。通常、Linux ではこれは /sbin/init ですが、代わりinit=...に実行される パラメータを使用してカーネルに別の init パスを渡すこともできます。このプロセスは、カーネル以外のプロセスの起動を制御します。ネットワーク、システム イベントのログ記録、ファン制御、ファイル システムのマウント (ローカルとリモートの両方)、ハード ディスクの監視、オーディオ、サーバー プロセス、UPS とラップトップ バッテリの監視、CPU 周波数のステップなどは、init によって実行されるスクリプトを通じて起動されます。ある時点で、init はシステムにログインできるようにするプロセスを開始します。これは、コンソール上のテキスト ベースのログイン プロセス、SSH サーバー、または X Window を起動するディスプレイ マネージャーである可能性があります。

これは起動時の部分であり、テキスト ブート ディスプレイでは通常、多数のプロセスが起動し、何らかの方法で正常に起動したことが報告され、その間に多少 (通常は少ない) 詳細な診断出力が表示されます。

その後...?

すべてのサービスが開始されると、システムは使用可能になります。その時点でログインして作業を開始します。

しかし、それはどういう意味でしょうか?

質問には以下の内容も含まれます:

スクロールするテキストはどういう意味ですか?

エラーはありませんが、それが何を意味するのか疑問に思います。

残念ながら、メッセージは多すぎて、システムによっても大きく異なるため、「これは一体何を意味するのか」という質問に適切な回答を出すことはできません。システムのハードウェア レイアウトに関する知識をある程度持って、上から下までゆっくりと調べていけば、さまざまなカーネル初期化メッセージが実際に何を指しているのか、またその意味は何かを判断することは通常可能です。Web で関連するキーワードや行全体を検索しても、どうしてもわからない特定の出力がある場合は、そのメッセージについて具体的に質問し、そのメッセージが表示されたコンテキストを提供する方がよいでしょう (ない誰かが特に要求しない限り、ブート出力全体。カーネル初期化メッセージのコンテキストを確立するには、通常、前後の 12 行程度で十分です。

Linux は起動時に、他のオペレーティング システムとほぼ同じことを行います。システムの基本構成を決定し、ハードウェアをスキャンし、適切なドライバーをロードし (カーネルに組み込まれている場合は既にロードされています)、ハードウェアを初期化し、次に進み、最終的に意味のあるユーザー インターフェイスを提供するプロセスやシステムが機能できるようにするプロセスを起動します。Windows は起動プロセス中にほぼ同じことを行いますが、何をしているかをユーザーに通知しないため、何か問題が発生した場合に通知される情報が大幅に少なくなります。間違っている。

カーネルの役割とさまざまなサービス (init を含む) の役割の違いを念頭に置いておくと、通常、どの部分が何を行うかはかなり明確になります。

答え2

表示される内容は、通常、お使いのコンピュータと Linux ディストリビューションに大きく依存します。dmesg コマンド (ターミナルで実行など) を使用すると、テキスト全体を自由に読むことができますdmesg | less。これは通常、「ブート画面」または「起動画面」と呼ばれます。

全てを理解するための一つの情報源があるとは思いません。最も効果的なのは、興味のあるエントリのキーワードをGoogleで検索することです。[1]

答え3

ある意味、これはドライブに出かける前に車をチェックするのと似ています。私たちは燃料、バッテリー、タイヤなどをチェックします。同様に、Linux は利用可能なハードウェアを調べ、起動またはブート時に必要なモジュールをロードして、コンピューターを使用できるように準備します。多くの人にとって、これは興味深いことではないかもしれません。しかし、Linux は起動時に何か問題が発生したかどうかを確認する機会をユーザーに提供します..... Windows ユーザーには起動時にこの手順を表示するオプションがあるため、奇妙な感じがします...

関連情報