過去問ドリル

LinuCレベル2 システムの起動とLinuxカーネル 問25

システムの起動とLinuxカーネル/ブートプロセスとGRUB

BIOSとMBRを使うRed Hat系のシステムで、ディスク/dev/sdaの先頭にGRUB 2のブートローダを書き込み直したい。適切なコマンドはどれか(Debian系ではコマンド名がgrub-installになる)。

当サイトのオリジナル問題(LinuCレベル2の出題範囲「システムの起動とLinuxカーネル」に対応。実際の試験問題ではありません)

正解:B

解説

grub2-install(Debian系ではgrub-install)は、指定したディスクにGRUB 2のブートローダ本体を書き込むコマンドです。BIOSとMBRの構成では、MBRに最初の段階のコードを置き、続きのコア部分をMBR直後の領域などに配置し、/boot/grub2/以下に必要なモジュールをコピーします。MBRを別のOSのブートローダで上書きしてしまった場合の復旧などで使います。一方、メニューの内容を決めるgrub.cfgはgrub2-mkconfigで生成するもので、ブートローダの書き込みとは別の作業です。

選択肢ごとの解説

  • A誤り。grub2-mkconfigは設定ファイルgrub.cfgを生成するコマンドで、-oには出力先のファイル(/boot/grub2/grub.cfg等)を指定します。ディスクへブートローダは書き込みません。
  • B正しい。grub2-installに対象ディスクを指定すると、そのディスクのMBR等にGRUB 2のブートローダが書き込まれます。
  • C誤り。efibootmgrはUEFIのNVRAMにブートエントリを登録・変更するコマンドで、BIOSとMBRの構成でブートローダを書き込むものではありません。
  • D誤り。dracutはinitramfsのイメージを作成するコマンドで、引数には出力するイメージファイル名を指定します。ブートローダは書き込みません。
LinuCレベル2の問題を演習モードで解く