- Windows
- 2020-05-03
Windows10でMBRが無くて起動できないパターンに陥ってしまったので解消した方法をご紹介します。
まずその経緯をご説明します。
Windows7を使っていて、プライマリのSSDがいっぱいになったので新しいSSDを買いました。
そのSSDにまたWindows7をインストール。
念のため、元のSSDはSATAの3番目に接続して保管している状態に。(セカンダリはHDD)
しばらくしてOSをWindows10にアップグレードしました。
10ではDVDが再生できない等の問題もあって元のSSDを残したまま使っていたのですが、10でDVD再生できるフリーソフトを見つけたので、これを機にWindows7のSSDは外付け用にして利用しようと考えました。
で、SSDをフォーマットして取り外し。
Windows10がちゃんと起動できるか試したところ…、起動しない!という事態になってしまったのです。
ちゃんと起動するか確認してからフォーマットすれば良かったのですが、デュアルブートになってしまっていると思っていなかったのです。
おそらく初めにSSDを買い換えた時に、3番目に元のSSDを繋いだままWindows7をインストールしてしまっていたのでしょう。
新しいSSDにはMBRが作成されず、元のSSDのMBRを利用して起動するようになってしまっていたということになります。
しかし、元のSSDはフォーマットしてしまっています。
色々と調べて悩んで試行錯誤しながら、元のSSDにWindows7のインストールディスクを使ってとりあえずのMBRを作成し、Windows10を起動。
そしてMBR用のパーティションの作成とWindows10のインストールメディア(DVD)を作成。
再起動してWindows10のインストールメディアをセットし、ディスクから起動。
インストールではなく「コンピューターを修復する」を選択します。
その後、[トラブルシューティング]-[詳細オプション]-[コマンドプロンプト]を選択します。
コマンドプロンプトが表示されたらコマンドを入力していきます。
diskpart
ディスク一覧を表示します。
List disk
MBRを作成しようとしているディスクの番号を確認します。
今回はプライマリのディスクなので0になりますのでそれを選択します。
select disk 0
次にボリュームのリストを表示します。
list volume
先ほど作成しておいたMBR作成用のパーティションのボリュームの番号を確認して、ボリュームを選択します。(nはボリューム番号)
select volume n
次にドライブ文字を割り当てます。(使われていない文字ならなんでもOK)
assign letter=N:
diskpartを終了させます。
Exit
先ほどのドライブNをフォーマットします。
format N: /FS:FAT32
フォーマットが完了したら次のコマンドを入力します。
bcdboot C:¥windows /s N: /f UEFI bcdboot /fixboot
これでMBRが作成されるはずです。
コンピューターを再起動するとWindows10の起動に成功しました。
こういったことは様々なパターンがあるので、今回ご紹介したことがそのまま通用するかは定かではありませんが、参考になれば幸いです。
参考URL:
https://www.diskpart.com/jp/windows-10/fixboot-access-denied-windows-10.html