LinuCレベル2 システムの起動とLinuxカーネル 問25
システムの起動とLinuxカーネル/ブートプロセスとGRUBBIOSとMBRを使うRed Hat系のシステムで、ディスク/dev/sdaの先頭にGRUB 2のブートローダを書き込み直したい。適切なコマンドはどれか(Debian系ではコマンド名がgrub-installになる)。
当サイトのオリジナル問題(LinuCレベル2の出題範囲「システムの起動とLinuxカーネル」に対応。実際の試験問題ではありません)
- Agrub2-mkconfig -o /dev/sda
- Bgrub2-install /dev/sda
- Cefibootmgr -c -d /dev/sda
- Ddracut -f /dev/sda
正解: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のイメージを作成するコマンドで、引数には出力するイメージファイル名を指定します。ブートローダは書き込みません。