40
40

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GRUBの起動順序を変えてデュアルブートのWindowsのWindowsUpdateを寝ている間に済ませる

Posted at

私の仕事PCはUbuntu MATEだが、一応Windowsもデュアルブートで入っている。
厳密に言えばWindowsのノートPCに、パーティションを切ってUbuntuを入れた状態。
仕事では基本的にはUbuntuしか使わないのだが、ごくたまにWindows環境で調査などの作業をすることがある。
しかも大抵そういうのは急ぎの仕事だ。
その時にWindowsを起動すると、何が起こるか。
永遠に終わらないWindows Updateである。
急ぎの仕事があるのに、平気で半日何もできない状態に陥る。

避けるためにはどうするか。
当然、たまに仕事の帰りにWindowsを起動して帰ればいい。それだけの話だ。
そうすれば、その夜中に勝手にアップデートを行い、勝手に再起動しやがってくれる。

…とは行かない。なぜなら私はUbuntuユーザーだからだ。
Windowsがアップデートを行い、再起動して、最後の仕上げをしようと目論んだところで、
起動するのはGRUBであり、Ubuntuだ。
勝手に再起動したWindowsに、自動的に自らを蘇らせる権利など与えられはしないのだ。ざまあみろ。


とも言ってられないので、一時的にGRUBのデフォルト起動カーソル位置をWindowsにして、
放置した状態でWindows Updateが最後まで終わるようにすることができるようにする。

まず、以下のコマンドを実行。

$ grep -e "^\(menuentry\)\|\(submenu\)" /boot/grub/grub.cfg

こんな結果が出る。

menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --c(略)
submenu 'Advanced options for Ubuntu' $menuentry_id_option (略)
menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class(略)
menuentry 'System setup' $menuentry_id_option 'uefi-firmware' {

これは、GRUBの起動メニューに出る情報である。
ここから、Ubuntuは 0番目 、Windowsは 2番目 と読み取る。
まあ別に単純に一度再起動して、GRUBのメニュー画面を見てもいい。
コマンドで調べる方法を書いたのは、単にかっこいいからだ。

その2番目がデフォルトになるようにすればいい事がわかった。次はその設定だ。
昔は先程grepした/boot/の下のgrub.cfgを直接書き換えたりしたものだが
grub.cfgを直接いじろうと開くと DO NOT EDIT THIS FILE と書かれている。
Ubuntuの作法はそうではない。

以下のファイルを編集する。

$ sudo vim /etc/default/grub
/etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0          👈ここ
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
#(以下略)

GRUB_DEFAULT の値を0→2に変更し、保存する。

最後に、以下のコマンドを実行(先程のファイルの先頭のコメントにも書かれている)。

$ sudo update-grub

これで、/etc/default/grub への変更が、実際にgrub.cfgに反映される。

再起動すると、GRUBの画面のカーソルはWindowsの行を示し、そのまま放っておけばWindowsが起動する。

あとはWindows Updateをつついて帰って、翌朝来たらログイン画面になっているWindowsを叩き落として再起動し、
GRUBでUbuntuを選んで起動し、
/boot/default/grub のGRUB_DEFAULTを0に戻して、
sudo update-grub すれば、元通りだ。

40
40
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
40
40

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?