Linux で特定のブートローダーが使用されているかどうかを確認する方法

LinuxLinuxBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Linux システムで使用されているブートローダーを確認する方法を学びます。特に、GRUB に焦点を当てます。GRUB のインストール構成要素を理解するために、/boot/grub ディレクトリにある重要な設定ファイルを調査します。

次に、/etc/default/grub ファイルを調べて、GRUB の動作を制御する主要な設定を確認します。最後に、dmesg コマンドを使用してブートローダーのログを調べ、システム起動時にどのブートローダーが読み込まれたかを確認します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") subgraph Lab Skills linux/ls -.-> lab-558753{{"Linux で特定のブートローダーが使用されているかどうかを確認する方法"}} linux/cat -.-> lab-558753{{"Linux で特定のブートローダーが使用されているかどうかを確認する方法"}} linux/grep -.-> lab-558753{{"Linux で特定のブートローダーが使用されているかどうかを確認する方法"}} end

ls /boot/grub で GRUB を確認する

このステップでは、GRUB ブートローダーの設定ファイルを調査します。GRUB (GRand Unified Bootloader) は、Ubuntu を含むほとんどの Linux ディストリビューションのデフォルトのブートローダーです。コンピュータを起動するときに最初に実行されるソフトウェアで、オペレーティングシステムのカーネルをメモリに読み込む役割を担っています。

主な GRUB 設定ファイルは通常、/boot/grub ディレクトリにあります。このディレクトリの内容を一覧表示して、中身を確認しましょう。

ターミナルが開いていない場合は開きます。デスクトップの左側にある Xfce Terminal アイコンから開くことができます。

次のコマンドを入力して Enter キーを押します。

ls /boot/grub

ls コマンドは、ファイルやディレクトリを一覧表示するために使用されます。/boot/grub のようなパスを指定すると、その特定のディレクトリの内容が一覧表示されます。

次のようなファイルやディレクトリの一覧が表示されるはずです(正確な出力はシステムによって多少異なる場合があります)。

fonts  grub.cfg  grubenv  i386-pc  locale  unicode.pf2  x86_64-efi

この出力は、GRUB インストールの様々な構成要素を示しています。ここで最も重要なファイルは grub.cfg で、実際のブートメニューの設定が含まれています。次のステップでこのファイルを見ていきます。

/boot/grub の内容を理解することは、Linux システムの起動方法を学ぶ最初のステップです。

Continue をクリックして次のステップに進みましょう。

cat /etc/default/grub で GRUB 設定を確認する

前のステップで、/boot/grub ディレクトリの内容を一覧表示し、grub.cfg ファイルを見ました。grub.cfg はアクティブな設定ファイルですが、通常は /etc/default/grub で定義された設定と /etc/grub.d/ のスクリプトから自動的に生成されます。

/etc/default/grub ファイルには、GRUB の動作を制御する主要な設定オプションが含まれています。たとえば、ブートするデフォルトのオペレーティングシステム、ブート前のタイムアウト時間、カーネルパラメータなどです。

cat コマンドを使用して /etc/default/grub ファイルの内容を表示しましょう。cat コマンドは、ファイルの内容を表示するために使用されます。

ターミナルに次のコマンドを入力して Enter キーを押します。

cat /etc/default/grub

GRUB のデフォルト設定ファイルの内容が表示されます。次のような内容になります。

## If you change this file, run 'update-grub' afterwards to update
## /boot/grub/grub.cfg.

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

## Uncomment to enable booting from a full graphics screen using grub-gfxpayload
## and grub-theme-ubuntu-mate ...
#GRUB_GFXPAYLOAD_LINUX=keep

## Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

## The resolution used on graphical terminal
## Note that you can only use resolutions specified in your gfxpayload.
## See the Graphics chapter in the Grub manual for more details.
#GRUB_GFXMODE=640x480

## Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to the Linux kernel
#GRUB_DISABLE_LINUX_UUID=true

## Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

## Uncomment to get a beep at boot start
#GRUB_INIT_TUNE="480 440 1"

このファイルには様々な設定が含まれており、それぞれ # で始まるコメントによって説明されています。たとえば:

  • GRUB_DEFAULT:ブートするデフォルトのメニューエントリを指定します。0 は通常、最初のエントリを意味します。
  • GRUB_TIMEOUT:デフォルトのエントリが自動的にブートされるまでの秒数を設定します。
  • GRUB_CMDLINE_LINUX_DEFAULT:デフォルトのブートエントリに渡されるカーネルパラメータが含まれています。

トラブルシューティングのためにカーネルパラメータを追加したり、デフォルトのオペレーティングシステムを変更したりするなど、ブートオプションを変更する必要がある場合、このファイルを理解することは重要です。

Continue をクリックして次のステップに進みましょう。

dmesg でブートローダーのログを調査する

前のステップでは、GRUB の設定ファイルを見ました。次に、ブートプロセス中にカーネルが生成したメッセージを調べましょう。これらのメッセージはバッファに保存されており、dmesg コマンドを使用して表示できます。

dmesg(診断メッセージバッファ)は、カーネルのメッセージバッファを出力するコマンドです。システム起動時に生成されるハードウェアデバイス、デバイスドライバ、その他のカーネル関連のメッセージが含まれています。これは、ブート問題のトラブルシューティングに役立つツールです。

ターミナルに次のコマンドを入力して Enter キーを押します。

dmesg

これにより、システム起動以来のすべてのカーネルメッセージが大量のテキストとして出力されます。出力が多すぎて圧倒的に感じることがあるので、通常はフィルタリングするか、less のようなページャーにパイプして画面ごとに表示します。

ブートローダーまたは初期ブートプロセスに関連するメッセージを見るには、「GRUB」、「boot」、「kernel command line」などのキーワードを探すことができます。

grep を使用して出力をフィルタリングし、「Command line」を含む行を探してみましょう。

dmesg | grep "Command line"

| 記号はパイプと呼ばれます。左側のコマンド (dmesg) の出力を受け取り、右側のコマンド (grep) の入力として送ります。grep はテキストパターンを検索する強力なツールです。この場合、「Command line」というフレーズを含む行を検索しています。

次のような出力が表示され、ブートローダーが渡したカーネルコマンドラインパラメータが示されます。

[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-... root=UUID=... ro quiet splash

この行は、ブートされるカーネルイメージ (/boot/vmlinuz-...) とカーネルパラメータ (root=UUID=... ro quiet splash) を示しています。これらのパラメータは、前のステップで見た /etc/default/grub ファイルで設定されることが多いです。

dmesg を調査することは、ブートプロセス中に発生する問題を診断するために不可欠です。なぜなら、カーネルが最初から何をしているかに関する詳細な情報を提供するからです。

Continue をクリックしてこの実験を完了しましょう。

まとめ

この実験では、Linux システムで使用されているブートローダーが GRUB であるかどうかを確認する方法を学びました。まず、ls コマンドを使用して /boot/grub ディレクトリの内容を一覧表示し、GRUB の設定ファイル、特に grub.cfg の存在を確認しました。このステップにより、GRUB がインストールされていることが確認されました。

その後、cat コマンドを使用して /etc/default/grub ファイルを調べました。このファイルには、デフォルトのブートオプションやタイムアウト値など、GRUB の主要な設定が含まれています。このファイルを調べることで、GRUB がブートローダーとして設定されていることをさらに確認し、その動作についての洞察を得ました。