おすすめの修復(BIOS + MBR)
「Boot Repair」では、ブートローダーの修復を自動で行う「おすすめの修復」機能があります。ここでは「BIOS + MBR」環境でどのような結果になるか見てみます。
使用上の注意
「おすすめの修復」は常におすすめとは限りません。解決方法を知っている場合
何が原因でUbuntuが起動できない状態なのか把握しており、どうすればその問題を解決できるのか自分で調べられる、もしくはすでに解決方法を把握している場合は、「おすすめの修復」ではなくその方法で問題の解決を検討したほうが良いでしょう。おすすめの修復とは
「おすすめの修復」では、現状Ubuntuが起動できない状況を、とにかくUbuntuが起動できるように状況の改善や修復を行います。例えば複数のHDDのMBRにそれぞれ異なるブートローダーがインストールされている場合、すべてのブートローダーが特定のGRUB2を起動するように修正されます。
困ることもある
修復自体は一般的な利用において問題になることはありませんが、自分でHDDごとにブートローダーの管理を行っている場合、後で再度ブートローダーの変更等を行いたくなるかもしれません。要は、「sda」のMBRだけ修正して欲しかったけれど、「sdb」、「sdc」のブートローダーも修正されてしまった、という状況になるかもしれないということです。
この場合、後で修正して欲しくなかったブートローダーを自分で再度修正する(元に戻す)必要があります。
例
「sda」は「GRUB2」を起動し、「sdb」はWindowsのブートマネージャーを直接起動していたのに、「sdb」も「GRUB2」が起動するようになってしまった、という例です。この場合でも「GRUB2」からWindowsは起動できますが、「sdb」のブートローダーをWindowsのブートマネージャーが直接起動するよう再度修正したくなるかもしれません。
ということで
ここでいう「おすすめの修復」の「おすすめ」はユーザーが意図・期待した通りに都合よく修正してくれるということではなく、小難しい内容を排除しUbuntuを起動できる状態にしてくれる、と捉えたほうが良いでしょう。とはいえ、OSが起動できなければ何もできず困りますし、原因の調査や修正は内容が難しくてどうしようもない、自分で修正しようとするとさらに状況を悪化させかねない、といった事情もあります。
上記の点を踏まえて「おすすめの修復」を行うか検討しましょう。
環境
おすすめの修復を行う環境は、以下のとおりです。sda
sda1
Ubuntu 13.10をインストールしています。sdb
sdb1
Ubuntu 12.10をインストールしています。sdb2
Ubuntu 13.04をインストールしています。sdb3
Windows 7のシステムパーティションです。sdb4
Windows 7をインストールしています。おすすめの修復を行う
実際に「おすすめの修復」を実行してみます。BootInfoサマリについて
「おすすめの修復」を行うと、「BootInfoサマリ」が作成され、さらにどのような修復を行ったのか情報が出力されます。以下の説明では「BootInfoサマリ」作成の流れは省略しています。
「BootInfoサマリ」作成の流れはリンク先を参考にしてください。
1.おすすめの修復
「Boot Repair」を起動し以下の画面が表示されたら、「おすすめの修復」ボタンをクリックします。2.修復
以下のように修復が開始されます。3.修復完了
修復が完了すると、以下のような画面が表示されます。BIOSで選択する起動ディスクについて
修復後、どのディスクから起動すればよいか情報が表示されます。上記の画面では、以下のように表示されています。
BIOSはsda (107GB)ディスクにブートすることを忘れないでください!
「sda」なので1番目のHDDから起動します。
警告について
環境によっては以下のような警告が表示されます。「/boot」が遠い位置にあり、GRUB2が起動できないかもしれない、という警告です。
以前Ubuntuが起動していた環境なら、この問題が起きないとは思いますが、一応注意は必要です。
この環境では問題なくUbuntu(GRUB2)が起動できました。
[今使っているOS - Ubuntu 13.10]のブートファイルが、ディスクのスタート位置から遠く離れた位置にあります。
BIOSはこれを検知できないでしょう。
/bootパーティションを作ったあとで、再度試した方がいいかもしれません (EXT4, >200MB, ディスクの開始).
これはgPartedのようなツールを介して実行することができます。
[ブート修復]オプションの [別パーティションに/bootを構成:] から、このパーティションを選択して下さい。 (https://help.ubuntu.com/community/BootPartition)
BIOSはこれを検知できないでしょう。
/bootパーティションを作ったあとで、再度試した方がいいかもしれません (EXT4, >200MB, ディスクの開始).
これはgPartedのようなツールを介して実行することができます。
[ブート修復]オプションの [別パーティションに/bootを構成:] から、このパーティションを選択して下さい。 (https://help.ubuntu.com/community/BootPartition)
4.PCの再起動と起動ディスクの選択
PCを再起動し、問題がないか確認します。起動ディスクの選択は、使用しているPCにより異なります。
説明書を参考にしてください。
「sda」から起動するので、1番目のHDDである「1) Hard disk」から起動します。
5.ブートメニュー
以下のようにGRUB2のブートメニューが表示されました。「Windows 7」が2つありますが、「/dev/sdb3」はWindows 7のシステムパーティションで、「/dev/sdb4」はWindows 7をインストールしたパーティションです。
BootInfoサマリを見る
今回どのような修正が行われたのか、「BootInfoサマリ」を見てみます。「BootInfoサマリ」を開いて「Recommended repair」の行を検索します。
「Recommended repair」の行以降に、修正の内容が出力されています。
注意
環境や修正内容により、出力される内容は異なります。BootInfoサマリ
修正内容は、「Recommended repair」以降の行に出力されます。BootInfoサマリを開いたら、「Recommended repair」で検索します。
以下「Recommended repair」の行以降の内容です。
=================== Recommended repair
Recommended-Repair
This setting will reinstall the grub2 of sda1 into the MBRs of all disks (except USB without OS).
Additional repair will be performed: unhide-bootmenu-10s
Reinstall the GRUB of sda1 into all MBRs of disks with OS or not-USB
*******lspci -nnk | grep -iA3 vga
00:02.0 VGA compatible controller [0300]: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter [80ee:beef]
00:03.0 Ethernet controller [0200]: Intel Corporation 82540EM Gigabit Ethernet Controller [8086:100e] (rev 02)
Subsystem: Intel Corporation PRO/1000 MT Desktop Adapter [8086:001e]
Kernel driver in use: e1000
*******
grub-install (GRUB) 2.00-19ubuntu2.1,grub-install (GRUB) 2.
Reinstall the GRUB of sda1 into the MBR of sdb
Installation finished. No error reported.
grub-install /dev/sdb: exit code of grub-install /dev/sdb:0
*******lspci -nnk | grep -iA3 vga
00:02.0 VGA compatible controller [0300]: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter [80ee:beef]
00:03.0 Ethernet controller [0200]: Intel Corporation 82540EM Gigabit Ethernet Controller [8086:100e] (rev 02)
Subsystem: Intel Corporation PRO/1000 MT Desktop Adapter [8086:001e]
Kernel driver in use: e1000
*******
grub-install (GRUB) 2.00-19ubuntu2.1,grub-install (GRUB) 2.
Reinstall the GRUB of sda1 into the MBR of sda
Installation finished. No error reported.
grub-install /dev/sda: exit code of grub-install /dev/sda:0
update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.11.0-13-generic
Found initrd image: /boot/initrd.img-3.11.0-13-generic
Found linux image: /boot/vmlinuz-3.11.0-12-generic
Found initrd image: /boot/initrd.img-3.11.0-12-generic
Found Ubuntu 12.10 (12.10) on /dev/sdb1
Found Ubuntu 13.04 (13.04) on /dev/sdb2
Found Windows 7 (loader) on /dev/sdb3
Found Windows 7 (loader) on /dev/sdb4
Unhide GRUB boot menu in sda1/boot/grub/grub.cfg
ブート正常に修復。
今すぐコンピューターを再起動することができます。
BIOSはsda (107GB)ディスクにブートすることを忘れないでください!
[今使っているOS - Ubuntu 13.10]のブートファイルが、ディスクのスタート位置から遠く離れた位置にあります。BIOSはこれを検知できないでしょう。 /bootパーティションを作ったあとで、再度試した方がいいかもしれません (EXT4, >200MB, ディスクの開始). これはgPartedのようなツールを介して実行することができます。 [ブート修復]オプションの [別パーティションに/bootを構成:] から、このパーティションを選択して下さい。 (https://help.ubuntu.com/community/BootPartition)
pastebinit packages needed
User refused to install pastebinit
Recommended-Repair
This setting will reinstall the grub2 of sda1 into the MBRs of all disks (except USB without OS).
Additional repair will be performed: unhide-bootmenu-10s
Reinstall the GRUB of sda1 into all MBRs of disks with OS or not-USB
*******lspci -nnk | grep -iA3 vga
00:02.0 VGA compatible controller [0300]: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter [80ee:beef]
00:03.0 Ethernet controller [0200]: Intel Corporation 82540EM Gigabit Ethernet Controller [8086:100e] (rev 02)
Subsystem: Intel Corporation PRO/1000 MT Desktop Adapter [8086:001e]
Kernel driver in use: e1000
*******
grub-install (GRUB) 2.00-19ubuntu2.1,grub-install (GRUB) 2.
Reinstall the GRUB of sda1 into the MBR of sdb
Installation finished. No error reported.
grub-install /dev/sdb: exit code of grub-install /dev/sdb:0
*******lspci -nnk | grep -iA3 vga
00:02.0 VGA compatible controller [0300]: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter [80ee:beef]
00:03.0 Ethernet controller [0200]: Intel Corporation 82540EM Gigabit Ethernet Controller [8086:100e] (rev 02)
Subsystem: Intel Corporation PRO/1000 MT Desktop Adapter [8086:001e]
Kernel driver in use: e1000
*******
grub-install (GRUB) 2.00-19ubuntu2.1,grub-install (GRUB) 2.
Reinstall the GRUB of sda1 into the MBR of sda
Installation finished. No error reported.
grub-install /dev/sda: exit code of grub-install /dev/sda:0
update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.11.0-13-generic
Found initrd image: /boot/initrd.img-3.11.0-13-generic
Found linux image: /boot/vmlinuz-3.11.0-12-generic
Found initrd image: /boot/initrd.img-3.11.0-12-generic
Found Ubuntu 12.10 (12.10) on /dev/sdb1
Found Ubuntu 13.04 (13.04) on /dev/sdb2
Found Windows 7 (loader) on /dev/sdb3
Found Windows 7 (loader) on /dev/sdb4
Unhide GRUB boot menu in sda1/boot/grub/grub.cfg
ブート正常に修復。
今すぐコンピューターを再起動することができます。
BIOSはsda (107GB)ディスクにブートすることを忘れないでください!
[今使っているOS - Ubuntu 13.10]のブートファイルが、ディスクのスタート位置から遠く離れた位置にあります。BIOSはこれを検知できないでしょう。 /bootパーティションを作ったあとで、再度試した方がいいかもしれません (EXT4, >200MB, ディスクの開始). これはgPartedのようなツールを介して実行することができます。 [ブート修復]オプションの [別パーティションに/bootを構成:] から、このパーティションを選択して下さい。 (https://help.ubuntu.com/community/BootPartition)
pastebinit packages needed
User refused to install pastebinit
ポイントをみていきます。
1.修正内容の概要
以下の出力は、修正内容の概要です。
This setting will reinstall the grub2 of sda1 into the MBRs of all disks (except USB without OS).
意訳すると、
「sda1」の「GRUB2」を「全HDDのMBRにインストール」します。
2.修正オプション
修正オプションです。
Additional repair will be performed: unhide-bootmenu-10s
意訳すると、
「GRUB2」のブートメニューを10秒間表示するようにします。
3.GRUB2のインストール(sdb)
GRUB2のインストールです。
grub-install (GRUB) 2.00-19ubuntu2.1,grub-install (GRUB) 2.
Reinstall the GRUB of sda1 into the MBR of sdb
Installation finished. No error reported.
grub-install /dev/sdb: exit code of grub-install /dev/sdb:0
Reinstall the GRUB of sda1 into the MBR of sdb
Installation finished. No error reported.
grub-install /dev/sdb: exit code of grub-install /dev/sdb:0
意訳すると、
「GRUB2」バージョン「2.00-19ubuntu2.1」をインストールします。
「sdb」のMBRに「sda1」の「GRUB2」を再インストールします。
インストールが完了しました。問題は報告されていません。
もし「GRUB2」のインストールに失敗した場合、そのエラーメッセージが出力されます。
また最後の行の数値(上記では「0」)は、エラーコードです。
「0」ならば問題ありません。
4.GRUB2のインストール(sda)
GRUB2のインストールです。
grub-install (GRUB) 2.00-19ubuntu2.1,grub-install (GRUB) 2.
Reinstall the GRUB of sda1 into the MBR of sda
Installation finished. No error reported.
grub-install /dev/sda: exit code of grub-install /dev/sda:0
Reinstall the GRUB of sda1 into the MBR of sda
Installation finished. No error reported.
grub-install /dev/sda: exit code of grub-install /dev/sda:0
意訳すると、
「GRUB2」バージョン「2.00-19ubuntu2.1」をインストールします。
「sda」のMBRに「sda1」の「GRUB2」を再インストールします。
インストールが完了しました。問題は報告されていません。
もし「GRUB2」のインストールに失敗した場合、そのエラーメッセージが出力されます。
また最後の行の数値(上記では「0」)は、エラーコードです。
「0」ならば問題ありません。
5.ブートメニューの再構築
最後に「GRUB2」のブートメニューが再構築されます。このタイミングでOSの再検出が行われます。
update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.11.0-13-generic
Found initrd image: /boot/initrd.img-3.11.0-13-generic
Found linux image: /boot/vmlinuz-3.11.0-12-generic
Found initrd image: /boot/initrd.img-3.11.0-12-generic
Found Ubuntu 12.10 (12.10) on /dev/sdb1
Found Ubuntu 13.04 (13.04) on /dev/sdb2
Found Windows 7 (loader) on /dev/sdb3
Found Windows 7 (loader) on /dev/sdb4
Unhide GRUB boot menu in sda1/boot/grub/grub.cfg
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.11.0-13-generic
Found initrd image: /boot/initrd.img-3.11.0-13-generic
Found linux image: /boot/vmlinuz-3.11.0-12-generic
Found initrd image: /boot/initrd.img-3.11.0-12-generic
Found Ubuntu 12.10 (12.10) on /dev/sdb1
Found Ubuntu 13.04 (13.04) on /dev/sdb2
Found Windows 7 (loader) on /dev/sdb3
Found Windows 7 (loader) on /dev/sdb4
Unhide GRUB boot menu in sda1/boot/grub/grub.cfg
「Found」の行は、検出されたOSです。
「GRUB2」のブートメニューに表示されます。