WindowsVistaのインストールされていた古いPCの空きディスク領域に、
Android x86をインストールした際に設定をミスしてしまい、Windowsが起動しない状況に。。
GRUBで「Windows」が選択できるのに選択してもMissing operating systemの状態になる始末。
復旧までの手順をメモとして書き残します。修復途中にやってしまったことも書いておきます。
修復方法については、ググれば色々な情報があるのでそちらを参考にしてください。
・困ったこと
WindowsVistaはプレインストールされていたPCだったので、復旧時に使用するOSディスクがなかった。
手元の他にあるPCは、Windows10のマシン。こちらもインストールディスクはない。
・やったこと
(1) 手元にあった Windows98起動ディスク(FD)を使ってDOSベースの回復コンソールで「fdisk /MBR」を実行。
→GRUBすら起動しなくなる。ブートローダーの起動をできなくしただけの操作になってしまう。
(XPまではこの方法でしたが、調べるとWindowsVista以降はWindowsBootManagerを使用しているので、この方法はダメとのことでした)
(2) WindowsPEディスクの作成 (壊れてないPCで行いましょう)
① Vista以降のインストールディスクがあれば、「bootsect」「bcdboot」のコマンドで修復できるので、代用できるものがないか調査。。
→なにやら「WindowsPE」というものがあるということで、Microsoftのサイトを確認すると、WindowsADKという無償のツールをインストールしたら「WindowsPE」のディスクが作れるとのこと。
② 以下のリンクからWindowsADKをインストール。インストール後、スタートメニュー[Windows Kits]-[展開およびイメージング ツール環境]をクリック。
参考リンク: https://developer.microsoft.com/ja-jp/windows/hardware/windows-assessment-deployment-kit
③ WindowsPEを任意のフォルダにコピーし、フォルダをISOファイルに変換する。(詳細は以下のリンクを参照)
> copype x86 C:\WinPE_x86
> MakeWinPEMedia /ISO C:\WinPE_x86 C:\WinPE_x86\WinPE_x86.iso
参考リンク: https://msdn.microsoft.com/ja-jp/library/dn293200.aspx
④ 作成したISOをCD-Rに書き込む
(3) 壊れたPCにWindowsPEディスクを挿入して起動する
(4)WindowsPE起動後、コンソールで以下を入力。
> dir c:\
(PCのWindows領域、ドライブレター(Cドライブ)が認識されているか確認)
> bootsect /nt60 c: /mbr
(MBRの初期化、WindowsBootManagerを組み込む)
→ここで一度再起動してWindowsが起動するか確認したが、再起動を繰り返す状況は変わらず。。
> bcdboot c:\windows /l ja-JP
(C:\WindowsからWindowsBootManagerと設定ファイルを復元する)
(5) exitを入力後、再起動。するとWindowsVistaが起動。
ここまでで、見事WindowsVistaが起動する状況に復旧しました。
次は、VineLinuxもデュアルブートする環境に修復します。
・後で思ったこと
まずWindowsPEを用意し、「bcdedit」で情報をチェック、
その後「bcdboot c:\windows /l ja-JP」コマンドでブートローダーを修復することを
まず初めに行ったほうが良かったと思います。急がばまわれというやつですね。。