LinuCレベル2 201試験の例題と解説
2.01.1ブートプロセスとGRUB
LinuCレベル2 201試験の出題範囲から「2.01.1ブートプロセスとGRUB 」についての例題を解いてみます。
このテーマでは、Linuxブートプロセスにおけるブートローダに関する内容が含まれます。理解しておくことで、特に起動時のトラブルシュートに役に立つのでしっかりと把握しておきましょう。
例題
/etc/default/grubからGRUBの設定ファイルを生成するコマンドはどれか。
- grub-mkconfig -o /boot/grub/grub.cfg
- grub-mkconfig /etc/default/grub -o /boot/grub/grub.cfg
- grub-mkconfig -o /etc/default/grub /boot/grub/grub.cfg
- grub-mkconfig -v /boot/grub/grub.cfg
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「1.grub-mkconfig -o /boot/grub/grub.cfg」です。
grub-mkconfigは、GRUBの設定ファイルであるgrub.cfgを生成するコマンドです。
コマンド実行時は、"-o(--output=)"オプションを付けて生成するファイル名を指定します。
以下の実行例で確認してみましょう。
まず、設定ファイルの元となる"/etc/default/grub"の確認。
ubuntu@kubeonubu:/boot$ grep -v -e '^#' -e '^\s*$' /etc/default/grub
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="maybe-ubiquity"
GRUB_CMDLINE_LINUX=""
続いて、grub-mkconfigの実施。
ubuntu@kubeonubu:/boot$ sudo grub-mkconfig -o /boot/grub/grub.cfg
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.4.0-89-generic
Found initrd image: /boot/initrd.img-5.4.0-89-generic
Found linux image: /boot/vmlinuz-5.4.0-88-generic
Found initrd image: /boot/initrd.img-5.4.0-88-generic
done
そして、出来上がったgrub.cfgの確認。
なお、この例ではLinux kernel 5.4.0-89-genericのUbuntuに関するGRUBメニューを抜粋しています。
ubuntu@kubeonubu:/boot$ grep -v ^# /boot/grub/grub.cfg
.
.
省略
.
.
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-19fbb930-5df3-4139-9e70-07b31472fa74' {
menuentry 'Ubuntu, with Linux 5.4.0-89-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-89-generic-advanced-19fbb930-5df3-4139-9e70-07b31472fa74' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 2c86e288-ad3c-474c-b8a0-0a41dcad0f03
else
search --no-floppy --fs-uuid --set=root 2c86e288-ad3c-474c-b8a0-0a41dcad0f03
fi
echo 'Loading Linux 5.4.0-89-generic ...'
linux /vmlinuz-5.4.0-89-generic root=UUID=19fbb930-5df3-4139-9e70-07b31472fa74 ro maybe-ubiquity
echo 'Loading initial ramdisk ...'
initrd /initrd.img-5.4.0-89-generic
}
.
.
省略
.
.
grub-mkconfigコマンドについては以下で詳細が確認出来ます。
http://manpages.ubuntu.com/manpages/jammy/man8/grub-mkconfig.8.html
例題作成者
鯨井 貴博(LinuCエヴァンジェリスト/登録インストラクター、LPI-Japanアカデミック認定校 Zeus IT Camp)