Windows 7をインストールした後にGRUBをリカバリーするには?

クラッシュ後にWindows 7をインストールしたのですが、Ubuntuが起動できなくなりました。Ubuntuのパーティションは残っています。Boot-Repair]1を使ってみたのですが、うまくいきませんでした。

ディストリビューションバージョンのLiveCDを使用して、マスターブートレコードにgrubを再インストールすることができます。

それは次のようなものです。

  • LiveCDからの起動 ⋯ インストールされているGrub2と同じバージョンのLiveCDを使うようにしてください。

  • インストールしたUbuntuのルートを/mntにマウントする。

  • ルートの変更

  • grubのアップデート

  • グラブのインストール

  • 再起動

上記の手順は、Ubuntu Community Documentation of Grub2の最下部付近から引用しています。

liveCDからの起動後(起動画面で"Try Ubuntu"を選択)。

ターミナルを起動します(ダッシュ、ターミナルと入力、...)...

  • LiveCDを起動しながら、このWebページを開くのが簡単かもしれません。 Firefoxを使えば、このようなことができるはずです。

ターミナルで sudo fdisk -l と入力してください - そして、尋ねられたらパスワードを入力してください。 インストールされているUbuntuのパーティションを見つけてください(私のディスクから他のディスクを抜き出したものはこちら)。

me@mycomputer:~$sudo fdisk -l
...
Disk /dev/sde: 300.1 GB, 300089646592 bytes
255 heads, 63 sectors/track, 36483 cylinders, total 586112591 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc3f5ebeb

Device    Boot      Start         End      Blocks   Id  System
/dev/sde2       138464296   586110975   223823340    5  Extended
/dev/sde3   *        2048   138463231    69230592   83  Linux
/dev/sde5       138464298   313460279    87497991    7  HPFS/NTFS/exFAT
/dev/sde6       313460736   317650943     2095104   82  Linux swap / Solaris
/dev/sde7       317652992   581922815   132134912   83  Linux
/dev/sde8       581924864   586110975     2093056   82  Linux swap / Solaris

Partition table entries are not in disk order

インストールされているLinuxを探します(Id=83, System=Linux0, で

sudo mount /dev/sde3 /mnt

と入力しますが、/dev/sde3の代わりに自分のパーティションを使います(私のルートパーティションはsde3、sde7はホームパーティションです)。

これは、あなたが別の /boot パーティションを持っていないことを前提としています。 その場合、次のように入力してマウントする必要があります。

sudo mount /dev/sd·· /mnt/boot

ここで、sd··は、別のブートディレクトリをインストールしたパーティションです。

ls /mnt` - 正しくできているかどうかを確認するだけです。

me@mycomputer:~$ sudo mount /dev/sde3 /mnt
me@mycomputer:~$ ls /mnt
bin   cdrom  etc   initrd.img      lib         media  opt   root  sbin     srv  tmp  var      vmlinuz.old
boot  dev    home  initrd.img.old  lost+found  mnt    proc  run   selinux  sys  usr  vmlinuz

ブートディレクトリが正しくインストールされているかどうかをテストする必要があります。 ls /mnt/boot` と入力し、それが空であれば、ブートディレクトリがインストールされていません。 以下のようになっているはずです。

me@mycomputer:~$ ls /boot
abi-2.6.35-30-generic     initrd.img-2.6.35-30-generic  System.map-2.6.35-31-generic
abi-2.6.35-31-generic     initrd.img-2.6.35-31-generic  vmcoreinfo-2.6.35-30-generic
config-2.6.35-30-generic  memtest86+.bin                vmcoreinfo-2.6.35-31-generic
config-2.6.35-31-generic  memtest86+_multiboot.bin      vmlinuz-2.6.35-30-generic
grub                      System.map-2.6.35-30-generic  vmlinuz-2.6.35-31-generic

次に

for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt #change the root
sudo update-grub # now update grub

me@mycomputer:~$ sudo for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
me@mycomputer:~$ sudo chroot /mnt
me@mycomputer:~$ sudo update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.0.0-13-generic
Found initrd image: /boot/initrd.img-3.0.0-13-generic
Found linux image: /boot/vmlinuz-3.0.0-12-generic
Found initrd image: /boot/initrd.img-3.0.0-12-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Microsoft Windows XP Professional on /dev/sdc1
done

次に grub を MBR に再インストールします。 システムがどのディスクから起動しているかを知る必要がありますが、すでに行った fdisk -l リストで確認してください。 そして、sudo grub-install /dev/sdと入力して、sd·を起動するディスクに置き換えます。

me@mycomputer:~$ sudo grub-install /dev/sd·

その後、Crtl-Dと入力してchrootを終了します。

その後、sudo for i in /sys /proc /dev/pts /dev; do sudo umount /mnt$i; done と入力してください。

me@mycomputer:~$ sudo for i in /sys /proc /dev/pts /dev; do sudo umount /mnt$i; done

別の /boot パーティションをマウントしている場合は、sudo umount /mnt/boot と入力してください。

me@mycomputer:~$ sudo umount /mnt/boot

その後、sudo umount /mnt と入力します。

me@mycomputer:~$ sudo umount /mnt

続いて、sudo reboot と入力してシステムを再起動します(LiveCDの削除を忘れないように)。

me@mycomputer:~$ sudo reboot

うまくいけば、grubがインストールされます。

解説 (4)

試しに...

グラブを復旧するには

1.ライブ版を開きます。 2.ターミナルを開き、sudo fdisk -lを実行して、Linuxがインストールされている場所を確認します。 3.3. sudo mount /dev/sdaX /mnt を実行してください。 4.4. sudo grub-install --root-directory=/mnt /dev/sda を実行して grub をインストールする。 5.5. sudo update-grub を実行して grub をアップデートし、このコマンドが動作しない場合は再起動後に実行してください。 6.6. 再起動する。

解説 (7)

Windows 7をインストールすると、WindowsのブートローダがMBRを上書きしてしまいます。

これを修正するには、Windowsにプログラム 'EasyBCD'をインストールします。

以下の手順で、EasyBCDをインストールした後にGRUBを復元します。

1.プログラムを起動し、EasyBCDツールボックスからADD NEW ENTRYを選択します。

2.オペレーティング・システムの欄から 'Linux/BSD'を選択します。

3.タイプでGRUB (Legacy)を選択し、ADD ENTRYアイコンをクリックします。

4.再起動時のプロンプトで「YES」を選択します。

5.再起動後にGRUBが表示され、Ubuntuパーティションが検出され、Ubuntuを起動することができます。

グッドラック

ダウンロードリンク: http://neosmart.net/download.php?id=1

解説 (1)