LinuxデュアルブートでWindowsが起動しない時の対処法

最近Linuxに興味があるので、
Linuxで遊んでいたらWindowsが起動しなくなりました。
その時に調べた対処法を載せておきます。

Linuxとは

LinuxはOS(オペレーティングシステム)です。
WindowsやmacOSと同じで、
基本となるソフトウェアです。

OSはパソコン、スマホ、家電など、
色々なものにベースのソフトウェアとして組み込まれています。

Windowsには色々問題があるので、
Linuxを使えたらいいなと思っていました。

そんな時に、昔のハードディスク(HDD)が出てきたので、
そこにLinuxを入れようと思いました。

Linuxのディストリビューションとは

Linuxを使ってみようと思った時に、
最初に必要なことが“ディストリビューションの選択”です。

WindowsはMicrosoftが1社で提供しているので、
最新バージョンは常に1つしかありませんが、
Linuxは色々な人が開発してるオープンソースなので、
沢山の種類があります。

それぞれを「ディストリビューション」と呼びます。
まずは、どのディストリビューションを使うかを、
決めなくてはなりません。

ただ、Windowsと違ってほとんど無料なので、
気軽に試すことができます。

Ubuntuをインストール

最も手軽で入門編に適してるのがUbuntuです。
今回は、Ubuntuをインストールしてみることにしました。

DVD-RやUSBメモリにUbuntuのISOファイルを移して、
そこから起動します。

まずは、インストールしようとしてるHDDを、
Linuxのファイルシステムであるext4でフォーマットします。

Windowsでフォーマットすると、
NTFSやFAT32になるので、
Linuxからフォーマットしなければなりません。

Ubuntuでしばらく遊んでたらWindowsが起動しなくなった

インストールしたUbuntuでWebを見たり、
ソフトウェアをダウンロードしたりして、
その後、またWindowsに戻ろうとしたら起動しません。

BIOSの処理が終わってから、
これからWindowsの起動が始まるところで、

「Error loading operating system」

こう表示されてWindowsが起動しませんでした。
何度やっても同じです。

Windowsを使ってる中で起動しなくなった場合は、
通常ならセーフモードで起動して対処しますが、
そのセーフモードを立ち上げる所までもいきません。

そもそもWindowsが認識されていません。
OSが見つからない状況です。

最初はWindowsが入ってるHDDが壊れたのかと思いましたが、
再びUbuntuを起動してHDDを調べてみると、
中は無事で何も問題無さそうなので、
必ず復旧はできると思って原因追及しました。

原因はLinux側が勝手にMBRを書き換えていた

MBR(マスターブートレコード)とは、
簡単に言うとOSを起動するときに、
「ここから起動してください」と案内をするようなものです。

大きなショッピングモールに車で乗り付けて、
駐車場の入り口で警備員が交通整理をしていたら、
その警備員にちゃんと誘導してもらえば、
空きスペースに駐車してお店に入ることができますが、
全然違う場所に誘導されたら、
車を停められないし、お店にも入ることができません。
その交通整理の警備員がMBRです。

Linuxを使ってる場合に、
繋いでるHDDのMBRをLinux用に書き換えることがあるようです。
それでWindowsが起動しなくなっちゃうんですね。

WindowsのMBRを修復する

ご利用のWindowsのインストール用DVD/CDを起動します。

Windowsのバージョンによって名称は違いますが、
「トラブルシューティング」
「修復ディスク」
「回復コンソール」
など、それらしき項目を選んでいき、
コマンドプロンプトの画面を出します。

Windows 10/8/7/Vistaの場合

コマンドプロンプトに、
「bootrec /fixmbr」
「bootrec /fixboot」
「bootrec /rebuildbcd」
と3つ書き込みます。
最後に「exit」と書き込んで終了。

Windows XP/2000/NTの場合

コマンドプロンプトに、
「fixmbr」と書き込むだけ。
最後に「exit」と書き込んで終了。

再起動すればWindowsが起動します。

「Windowsが起動しない時の対処法」まとめ

突然、Windowsが起動しなくなると焦りますが、
HDDが寿命や衝撃などで物理的に壊れた場合以外なら、
何かしら対処法があります。

今回は、LinuxがブートセクタのMBRを書き換えたので、
それを戻してあげるだけで直りました。

別の事例を調べると、
WindowsがUbuntuを起動させなくすることもあるようです。

やはり、WindowsとLinuxは同じPCで使うのではなく、
それぞれ単体で使うべきですね。

どうしても1つのPCで使いたいなら、
Windowsマシンで「WSL(WSL2)」を、
Linuxマシンで「Wine」を利用するほうが良いでしょう。