DebianとWinのデュアルブート機にCreatorsUpdateを適用していたところ、再起動してる途中でgrubがぶっ壊れたらしくgrub rescueと表示されてgrubが起動しない。
grubが起動しないということはOSも起動しないのでなんとかする。以下のサイトを参考にした。助かった。
というわけでなんとかする。
要するにgrub rescueくんでgrubを探せばいいわけだ。とりあえずlsコマンド
grub rescue> ls
(hd0) (hd0,gpt7) (hd0,gpt6) (hd0,gpt5) ......
ずらーっとパーティションが現れた。もちろん表示は環境によって異なる。うちの環境はGPTディスクに入れてるのでこんな感じ。
知らんファイルシステムだと散々言われながらbootディレクトリがあるパーティションを気合いで探す。
grub rescue> ls (hd0,gpt7)
./ ../ etc/ media/ var/ bin/ boot/ ......
どうやら(hd0,gpt7)にDebianが入ってるらしい。
参考サイトに従い呪文を唱える。
grub rescue> set prefix=(hd0,gpt7)/boot/grub
grub rescue> insmod (hd0,gpt7)/boot/grub/normal.mod
としたところでnot foundと言われた。grub下にはnormal.modが無いらしい。どこだよ。
でもまあbootのどっかにあるはずなのでいろいろ探してみると、
grub rescue> ls (hd0,gpt7)/boot/grub/
x86_64-efi/ ......
なんか怪しいディレクトリが見えますね…
x86_64-efi内をlsしたらファイルめっちゃ入ってることがわかった。ありそうなので再度呪文を唱える。
grub rescue> insmod (hd0,gpt7)/boot/grub/x86-64-efi/normal.mod
grub rescue> normal
やったぜ、無事にgrub起動。
ただこのままだと毎回grub rescueするハメになるので一度Debianを起動、ターミナルからgrubを入れ直す。
# grub-install /dev/sda
これでOK。再起動したら無事にgrub動いた。Windows起動させたらアップデート作業の続きが始まったので一安心。