GRUBエラーの対処法


GRUB(ジーラブ)はLinuxを導入する際にインストールされることが多い高機能なブートローダーで、複数のOSがインストールされた環境で、起動するOSを選択するプログラム。

GRUBそのものはOSに依存しておらず、MBR(Master Boot Record)に保存されており、コンピュータ起動時にBIOSがMBRを読み込み、MBRの情報を元にOSが起動することになる。
そのためMBRの情報が破損してしまうとOSが起動しないという事態に陥る。
この状況はOSそのものは問題がなく、単に起動するOSを探し出せないという状況。

GRUB Loading , Please wait….
Error 22

GRUBがOSを見つけられない時は、無慈悲にも「Error 」と表示されるのみで、何ら対処法も示されない。
※エラーを再現したら上図のように「Error 22」になったが、当初は「Error 15」だったような。。。。



今回はPuppy LinuxをLive CDでブートして、Windows7がインストールされているSSDを「GParted 」を使用してパーテーションを作成し、そこに「Android-x86」をインストール。
その後、再度Puppy LinuxをLive CDでブートして、無謀にも「Android-x86」がインストールされているパーテーションを削除してみた。

GRUBが正常に動作している時は、「Android-x86」と「Windows]の選択が可能だった。

で、Android-x86のパーテーションを削除して、Windowsがインストールされているパーテーションに統合。
Android-x86が消失しているので、PC起動時にGRUBがWindowsを見つけてくれるかと淡い期待を抱いたが、GRUBはAIではないので、そんな都合よく動くはずがない。

今回のケースではパーテーションを変更したり、「Android-x86」をフォーマットしたことで、MBRの情報が実際の構成と違ってしまったため、Windowsが起動しないので、MBRを再構築すれば問題が解決するはず。
そこでWindows7のインストールメディアを引っ張り出してきて、DVDから起動して「スタートアップ修復」を試みるも徒労に終わったので、既出の情報を漁ってみた。

コマンドプロンプトからのMBR修復手順

Windowsがインストールされており、Windowsのデータが破損していなことが前提で、Windowsのインストールディスクもしくはリカバリメディアが必要。

BIOSやUEFIのブートメニューでDVDドライブを1stブートに設定してから、Windowsのインストールディスクをドライブに入れてPCを起動。

Press any key to boot from CD or DVD..と表示されている間にキーボードの任意のキーを押す。

キーを押すのが間に合っていれば、インストールディスクからWindowsが起動するので、「コンピューターを修復する」をクリック。

言語やキーボードの設定はデフォルトのまま「次へ」。

Windowsを検索後に「修復を適用してコンピューターを再起動しますか?」と思わせぶりなメッセージが出るのだが、再起動しても再び無慈悲なError表示を突きつけられるだけなので、「しない」を選択。

「システム回復オプション」に戻ったら「Windowsの起動に伴う問題の。。。」にチェックが入った状態で「次へ」。

「コマンドプロンプト」を選択。

diskpart と入力してエンターキー。

list disk と入力してエンターキー。

接続されているディスクのリストが表示されるので、Windowsがインストールされているディスクの番号を確認。

上図では「ディスク 0」が111GBで、「ディスク 1」が465GBになっているが、これは120GBのSSDと500GBのHDDを接続しているためで、WindowsはSSDにインストールされているので「ディスク 0」になる。

select disk の後にWindowsがインストールされているディスク番号を入力してエンターキー。

指定した番号のディスクが選択された状態になる。

次に list partition と入力してエンターキー。

選択したディスクのパーテーションリストが表示されるので、Windowsがインストールされているパーテーション番号を確認。

上図の場合は、Windowsは111GBのパーテーションに入っているので、番号は「2」になる。

select partition の後にWindowsがインストールされているパーテーション番号を入力してエンターキー。

指定したパーテーションが選択された状態になる。

active と入力してエンター。

選択したパーテーションがアクティブになる。

exit と入力してエンターキー。

Diskpartを終了。

bootrec /fixboot と入力してエンターキー。

bootrec /fixbootはブート情報を修復するコマンド。

続いて bootrec /fixmbr と入力してエンターキー。

bootrec /fixmbrはMaster Boot Recordを修復するコマンド。

最後に exit と入力してエンターキーでコマンドプロンプトを終了。

システム回復オプションに戻るので「再起動」をクリック。

ディスクチェックが開始して、自動的に再起動して、うまくいけばWindowsが通常通り起動する。

Windowsが起動しない場合は、「BOOTING is missing」というエラー表示がでるので「Ctrl+Alt+Del」で再起動。

再度インストールディスクから起動して「システム回復オプション」で「スタートアップ修復」を選択。

再起動すれば無慈悲なGRUBのエラーから解放されるはず。





Windowsのセットアップと設定

識別されていないネットワーク・デフォルトゲートウェイがない場合の対処法

PCケースを換装した際にネットワーク設定でトラブルが発生した。 症状はポピュラーな「識別されていないネットワーク」で、タ … “識別されていないネットワーク・デフォルトゲートウェイがない場合の対処法” の続きを読む

アップグレード後のWindows10 クリーンインストール

Windows10を無償アップグレードした場合、Windows10のプロダクトキーはProduKeyなどのアプリを使用し … “アップグレード後のWindows10 クリーンインストール” の続きを読む

Windows10への無償アップグレード方法

2016年7月29日に終了したWindows7・Windows8(8.1)ユーザーに対する無償アップグレードは、その後「 … “Windows10への無償アップグレード方法” の続きを読む

Windows oldフォルダの削除方法

Microsoftは2017年4月に「毎年3月と9月頃に機能更新プログラムをリリースする」と発表し、Windows10は … “Windows oldフォルダの削除方法” の続きを読む

無償期間終了後のWindows10無償アップグレード

2016/08/13 2017/07/11更新 Windows10の無償アップグレード期間終了後も、倫理観は別として、W … “無償期間終了後のWindows10無償アップグレード” の続きを読む