以前に、WindowsとFedoraとをデュアルブートできるようにしてあるPCで、デフォルトで起動するOSを返る方法を紹介した。
FedoraではなくWindowsがデフォルトで起動するよう、GRUB の設定を変更 - minus9dの日記
最近Fedora 17をクリーンインストールしたらまたデフォルトで立ち上がるOSがFedoraになってしまったので、改めて調べ直したところ、設定ファイルを直接編集し直すのより良い方法があることが分かったのでメモしておく。
参考にしたページ
GRUB 2 - FedoraProject の Setting default entry セクション
実際にやったこと
上で紹介したページに従っただけ。私はGRUBのことはよくわかっていないので、自己責任でお願いします。
- /etc/default/grubをlessなどで見て、GRUB_DEFAULT=saved という文字があることを確認する。
- 以下のコマンドでgrub.cfgを生成するっぽい。直接grub.cfgを書き換えている人は注意?
# grub2-mkconfig -o /boot/grub2/grub.cfg
- 以下のコマンドで現在起動可能なOSの名前を表示。
# grep ^menuentry /boot/grub2/grub.cfg | cut -d "'" -f2
自分の場合は以下のように表示された。
Fedora Linux Microsoft Windows XP Home Edition (on /dev/sda1)
- 起動したい方のOSをコピペして(この場合はWindowsの方)、以下のコマンドを実行
# grub2-set-default "Microsoft Windows XP Home Edition (on /dev/sda1)"
- 以下のコマンドで、デフォルトで起動するOSが設定されたことを確認する
$ grub2-editenv list
自分の場合は以下のように表示された。
saved_entry=Microsoft Windows XP Home Edition (on /dev/sda1)
以上で自分の環境ではXPが先に起動できるようになった。
余談
上に出てくるcutコマンドのことを知らなかったので調べてみた。
cutを使うと、テキストファイルをある区切り文字でsplitして任意のフィールドを取り出すことができるらしい。上の
cut -d "'" -f2
の場合、-d "'" で区切り文字をシングルコーテーションに、-f2で2番めのフィールドを切り出すことを指定しているらしい。