本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、起動メニュー選択を指定する「grub2-reboot/grub-reboot」コマンドです。
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、起動メニュー選択を指定する「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 [オプション] メニュー
※[ ]は省略可能な引数を示しています。Ubuntu 18.04 LTSでのコマンド名はgrub-reboot、メニューは文字列または0から始まる番号で指定
長いオプション | 意味 |
---|---|
--boot-directory=ディレクトリ | GRUBイメージのディレクトリを指定する(デフォルトは/boot/grub2、grub-rebootコマンドでは/boot/grub) |
「grub2-reboot メニュー」で起動メニューを指定します。メニューは文字列でも指定できますが、0から始まる番号で指定するのが簡単でしょう(画面1)。
コマンドの実行にはroot権限が必要です。sudoコマンド(第68回)などを利用してください。
画面2では、grub2-rebootコマンドで次回使用するエントリーを指定してから、rebootコマンドで再起動しています。
grub2-reboot 2
(次回は2番のエントリー(0から数えるので3番目となる)で起動)
現在の起動メニューの内容は、/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
(メニューエントリーを番号付きで表示)
Ubuntu 18.04 LTSの場合、現在のメニューエントリーは/boot/grub/grub.cfgにあり、現在の設定は「grub-editenv list」で確認できます(画面5)。
西村 めぐみ(にしむら めぐみ)
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.