Ubuntu LiveCDからgrub2を修復する

 

Ubuntuがインストールされたパソコンで
何かの拍子にブートマネージャー(MBR)が損傷、
OSが起動できなくなった!!という時に、

UbuntuLiveCDからパソコン内のUbuntuを読み込み
MBRのGRUBを修復する方法です。

(当方の環境は Ubuntu10.04 GRUB2)

BIOS設定でハードディスクよりCDドライブが
優先して起動するようになっていることを確認。
(普通放っておいてもこうなっている)

LiveCDをパソコンに入れた状態で起動

Ubuntuが始まる。
『コンピュータに変更を加えないで使ってみる』を選択。

立ち上がったら、
アプリケーション → アクセサリ → 端末

次の通りコマンドを入力して
ハードディスクのUbuntuをマウント、
GRUBをMBRに再インストールする。

1.
ハードディスクの構成を調査
$ sudo fdisk -l
( -l は ハイフン にアルファベット エル の小文字)
Ubuntuのインストールされた場所を調べる。詳しくは後述

2.
1の結果を参考に
$ sudo mount /dev/sda3 /mnt
で目当てのGRUBがインストールされたディスクをマウント
(これは/dev/sda3にUbuntuがある場合)

3.
権限を変更する。
$ sudo mount --bind /dev/ /mnt/dev
$ sudo chroot /mnt

4.
GRUBをインストール
# sudo grub-install /dev/sda

5.
Installation finished. No error reported.
とか表示されたら成功。

1.の
$ sudo fdisk -l
について。。。

ハードディスクのどこに
Ubuntu(GRUB)がインストールされているのか調べるために
ハードディスクの構成を調べている。

例えば結果はこのように出る。

ディスク /dev/sda: 160.0 GB, 160041885696 バイト
ヘッド 255, セクタ 63, シリンダ 19457
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x4cab4caa

デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 1 8268 66412678+ 7 HPFS/NTFS
/dev/sda2 8269 10878 20964825 7 HPFS/NTFS
/dev/sda3 10879 19458 68912513 5 拡張領域
/dev/sda5 10879 16375 44154621 7 HPFS/NTFS
/dev/sda6 16376 19324 23683072 83 Linux
/dev/sda7 19324 19458 1070080 82 Linux スワップ / Solaris

これは、

/dev/sda1 がWindowsVista
/dev/sda2 がWindowsXP
/dev/sda3が拡張領域
 拡張領域内の理論領域として
 /dev/sda5 がWindowsXP
 /dev/sda6 がUbuntu
 /dev/sda7 がUbuntuのスワップ領域
(スワップ領域:メモリが足りなくなったときに使われる記録領域)

という構成になっている場合のものです。

 ところでどうでもいいことなのかもしれませんが
 /dev/sda4はどこへ行ってしまったんでしょうね。。。
 わたしも細かいことは存じておらず、疑問です。

Ubuntuがインストールされた領域はシステムの所を見ればLinuxと書いてありますので
複数インストールしていたりしなければすぐに目当てのUbuntuが分かるはずです。

このような結果(Ubuntuが/dev/sda6にある場合)なら
手順 2. では$ sudo mount /dev/sda6 /mntと入力することになります。

この記事はこちらを参考にさせていただきました。
http://collab.mynu.jp/wiki/pages/viewpage.action?pageId=7275329

この記事はお役に立ちましたか?


コメント

コメント(4)

  1. 匿名 on

    ハードディスクには基本的に,基本パーティションは4つまでしか作れません。
    ですので,沢山作れる拡張領域内の論理パーティションは,No.5からにしたほうが都合が良いのです。

    返信

    • にわタコ on

      なるほど、拡張領域であることがわかるように、
      拡張領域の時はsda4とせずにsda5以降にまとめるのですね。
      (4の空間に5以降が仮想的にある、というのが技術的説明でしょうか)
      ありがとうございます。

  2. 暇人 on

    補足:
    5,6,7……を全部含んだパーティション(拡張領域全体)が
    ハーティション4なのです。

    返信

  3. ZEPSKY BLOG on

    EeePC901-X(Ubuntu 12.10)のGrubを再インストールした

    4GBのSSDのパーテーションをいじって、 EeePC901を再起動するとUbuntuが立ち上がらず、 ブラック画面から一向に進まず…。 ググるとGrubというブートマネージャーが 壊れているのが、原因っ…

    返信

コメントする