連載
» 2019年01月25日 05時00分 公開

Linux基本コマンドTips(276):【 grub2-reboot/grub-reboot 】コマンド――次回の起動メニューを選択する

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、起動メニュー選択を指定する「grub2-reboot/grub-reboot」コマンドです。

[西村めぐみ,@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、起動メニュー選択を指定する「grub2-reboot/grub-reboot」コマンドです。

grub2-reboot/grub-rebootコマンドとは?

 「grub2-reboot」は、GRUB 2(GNU GRand Unified Bootloader)の起動メニューを指定するコマンドです。このコマンドを使って指定を変更した場合、次回の起動時のみ変更が有効になります。

 デフォルトのメニューを変更したい場合は「grub2-set-default」コマンド(連載第277回)を使用します。

 GRUBは、Linux環境でよく使われているブートローダーです。「grub2-reboot」コマンドは「GRUB 2」用のコマンドで、CentOS 7以降などで利用可能です。

 従来のGRUB(GRUB Legacy)とは異なり、GRUB 2ではメニューエントリーが自動生成されるようになり、編集用のコマンドが用意されているなどの変更が施されています。

 Ubuntu 18.04 LTSでも「GRUB 2」を使用しますが、コマンド名は「grub-reboot」となっています。コマンドの利用方法はgrub2-rebootと同じです。



grub2-reboot/grub-rebootコマンドの書式

grub2-reboot [オプション] メニュー

※[ ]は省略可能な引数を示しています。Ubuntu 18.04 LTSでのコマンド名はgrub-reboot、メニューは文字列または0から始まる番号で指定





grub2-reboot/grub-rebootの主なオプション

長いオプション 意味
--boot-directory=ディレクトリ GRUBイメージのディレクトリを指定する(デフォルトは/boot/grub2、grub-rebootコマンドでは/boot/grub)


次回の起動メニューを指定する

 「grub2-reboot メニュー」で起動メニューを指定します。メニューは文字列でも指定できますが、0から始まる番号で指定するのが簡単でしょう(画面1)。

画面1 画面1 GRUB 2の起動メニュー画面

 コマンドの実行にはroot権限が必要です。sudoコマンド(第68回)などを利用してください。

 画面2では、grub2-rebootコマンドで次回使用するエントリーを指定してから、rebootコマンドで再起動しています。

コマンド実行例

grub2-reboot 2

(次回は2番のエントリー(0から数えるので3番目となる)で起動)


画面2 画面2 GRUBのエントリーを指定して再起動したところ


現在の起動メニューを確認する

 現在の起動メニューの内容は、/etc/grub2.cfgで確認できます。画面3では、grepコマンドの「-w」オプションで、「menuentry」という単語が使われている箇所を検索しています(※1)。

※1 CentOSの場合、GRUB 2の起動メニューの内容はCentOS Wiki「2. How to Define the Default Entriesに詳しい。



 menuentryは「0」から始まります。awkコマンド(第115回第120回)を使用すると、番号付きのリストで表示できます(画面4)。

 また、現在の設定は「grub2-editenv list」で確認できます。

コマンド実行例

grep -w menuentry /etc/grub2.cfg

(メニューエントリーを表示)

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

(メニューエントリーを番号付きで表示)


画面3 画面3 grub2.cfgからmenuentryを含む行を検索したところ
画面4 画面4 menuentryを分かりやすく表示したところ

 Ubuntu 18.04 LTSの場合、現在のメニューエントリーは/boot/grub/grub.cfgにあり、現在の設定は「grub-editenv list」で確認できます(画面5)。

画面5 画面5 Ubuntu 18.04 LTSでメニューエントリーや設定を表示したところ


筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。