LinuCレベル2 201試験の例題と解説

主題2.01システムの起動とLinuxカーネル

2.01.1ブートプロセスとGRUB

このエントリーをはてなブックマークに追加

LinuCレベル2 201試験の出題範囲から「2.01.1ブートプロセスとGRUB 」についての例題を解いてみます。
このテーマでは、Linuxブートプロセスにおけるブートローダに関する内容が含まれます。理解しておくことで、特に起動時のトラブルシュートに役に立つのでしっかりと把握しておきましょう。

Linucレベル2 201試験 出題範囲


例題

/etc/default/grubからGRUBの設定ファイルを生成するコマンドはどれか。

  1. grub-mkconfig -o /boot/grub/grub.cfg
  2. grub-mkconfig /etc/default/grub -o /boot/grub/grub.cfg
  3. grub-mkconfig -o /etc/default/grub /boot/grub/grub.cfg
  4. 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)

ページトップへ