久しぶりに利用したノート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
正しくインストールされると、【展開およびイメージングツール環境】がインストールされるので、スタートメニューにある【最近追加されたもの】から探して『管理者として』起動する。なお、[スタートメニュー] -> [Windows Kits] -> [展開およびイメージングツール環境]に存在する。
WindowPEのコピー
WindowsPEをインストールしたPCで以下のコマンドでWindowsPEをコピーする。
copype amd64 C:\WinPE_amd64
ドライブ文字を指定して、USB フラッシュ ドライブに Windows PE をインストール
管理者として起動していない場合、このときにエラーが出力される。
USBがDドライブの場合は下記の通り。
MakeWinPEMedia /UFD C:\WinPE_amd64 D:
復旧させるPCでWindows PE を起動する
復旧させるPCにUSBデバイスを接続し、USBでブートできるようにBIOSの設定を変更し、USBブートさせる。BIOSはPCによって異なるのでメーカーのマニュアルを探してください。
起動後は wpeinit コマンドが自動的に動作するのでしばらく待つ。
X:\windows\system32>wpeinit
X:\windows\system32>
MBRのブートストラップローダの修復
bootsect /nt60 sys /mbr
というコマンドを入力。コマンドの詳細は下記を参照。
USBドライブを抜いてexitコマンドで抜ける。
X:\windows\system32>exit
そうすると、Windowsアップデートが継続されて正しく終了した。
なお、更新にはかなり時間かかりましたので放置です。
あ、再起動したらデュアルブートしなくなった・・・(ToT)
以上です。