grub
Windows10
WindowsPE
ubuntu16.04

Windows10とUbuntu16.04のデュアルブート環境でWindowsアップデートを行って再起動したら grub rescue が出力されて起動しない時の対処方法

久しぶりに利用したノートPCが、Windows10とUbuntu16.04のデュアルブート環境でWindowsアップデートを行って再起動したら更新プログラムの構成が75%程度のどころで再起動中に grub rescue が出力されてOSが起動しないときに行った対応方法のメモ書き。


※注意
この手順で作業するとWindowsアップデートは継続できたけどデュアルブートしなくなったので自己責任でお願いします。

なんかトラブルは同時に複数発生する模様。(ToT)

状況

Windowsアップデートの再起動中にgrub(GRand Unified Bootloader) が表示される

再起動中に黒い画面が出て

grub rescue>

と表示された。grub は GRand Unified Bootloader の略で、GNUプロジェクトで開発されているブートローダ。 https://ja.wikipedia.org/wiki/GNU_GRUB

とりあえず ls コマンドでチェックすると…

grub rescue>ls
(hd0) (hd0,msdos5) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)

と表示されるのでさらに ls コマンドでチェックしようとすると…
ls (hd0) と入力したいのに、( を入力しようと Shift 押しながら 8 を押下すると * が表示される。つまりこれは、キーボードマッピングが英語キーボードになっているので、Shift を押しながら 9 を押下すると ( が表示された。

気を取り直してlsコマンドでチェック。

grub rescue>ls (hd0)
(hd0): Filesystem is unknown.
grub rescue>ls (hd0,msdos5)
(hd0,msdos5): Filesystem is unknown.
以下すべてが同様・・・

となった。setコマンドで確認すると

grub rescue>set
cmdpath=(hd0)
prefix=(hd0,msdos6)/boot/grub
root=hd0,msdos6

と表示された。

うむぅ。

msdos6 って、 lsコマンドで出てこないのだけど…???

とりあえずマスターブートレコード(MBR)が壊れてるのは確実だと考えて復旧を試みる。

復旧方法

WindowsPE のインストール

Windowsでの復旧方法は、問題なく動作する別のPCで、Windows PE(Windows Preinstallation Environment) をインストールして復旧させるのが一般的なようだ。
https://msdn.microsoft.com/ja-jp/library/windows/hardware/dn938389(v=vs.85).aspx

起動用のDVDを作成しようとしたけど壊れてるPC(ノート)のみDVDが付いているので以下を参考にしてUSBブートを行うことにした。
https://msdn.microsoft.com/ja-jp/library/windows/hardware/dn938386(v=vs.85).aspx

動画での解説は下記参照。
IMAGE ALT TEXT HERE

正しくインストールされると、【展開およびイメージングツール環境】がインストールされるので、スタートメニューにある【最近追加されたもの】から探して『管理者として』起動する。なお、[スタートメニュー] -> [Windows Kits] -> [展開およびイメージングツール環境]に存在する。

WindowPEのコピー

WindowsPEをインストールしたPCで以下のコマンドでWindowsPEをコピーする。

copype amd64 C:\WinPE_amd64

copype.png

ドライブ文字を指定して、USB フラッシュ ドライブに Windows PE をインストール

管理者として起動していない場合、このときにエラーが出力される。

USBがDドライブの場合は下記の通り。

MakeWinPEMedia /UFD C:\WinPE_amd64 D:

MakeWinpeMedia.png

復旧させるPCでWindows PE を起動する

復旧させるPCにUSBデバイスを接続し、USBでブートできるようにBIOSの設定を変更し、USBブートさせる。BIOSはPCによって異なるのでメーカーのマニュアルを探してください。

起動後は wpeinit コマンドが自動的に動作するのでしばらく待つ。

X:\windows\system32>wpeinit
X:\windows\system32>

MBRのブートストラップローダの修復

bootsect /nt60 sys /mbr

というコマンドを入力。コマンドの詳細は下記を参照。

https://msdn.microsoft.com/ja-jp/library/windows/hardware/dn898493(v=vs.85).aspx

USBドライブを抜いてexitコマンドで抜ける。

X:\windows\system32>exit

そうすると、Windowsアップデートが継続されて正しく終了した。
なお、更新にはかなり時間かかりましたので放置です。

あ、再起動したらデュアルブートしなくなった・・・(ToT)

以上です。