欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

重装WIN7之后使用Ubuntu LiveCD修复grub2双系统引导 博客分类: Ubuntu Linux  

程序员文章站 2024-02-04 22:30:28
...

转贴自:http://www.husw.net/blog/post/1375

 

前两天WIN7运行实在缓慢,决定重装一下WIN7系统,我的本本是WIN7+Ubuntu11.10,Ubuntu是硬盘安装不是用wubi安装的,所以重装WIN7之后,Ubuntu的引导没了,只能进WIN7,那么就需要修复一下双系统的引导记录了。
网上搜索了一下方法,觉得还是用Ubuntu LiveCD修复比较靠普,正好U盘上做了WINPE及Ubuntu11.10的系统安装盘,于是今天就用Ubuntu 11.10的LiveCD的来修复grub2的引导。插上U盘,选择U盘启动Ubuntu 11.10 进入LiveCD模式,进入之后选择进入终端,先在终端输入如下命令:

sudo fdisk -l

(注意是小写的L,不是数字的1,此步用于确定电脑中安装 Ubuntu11.10的所在分区的位置,输入以后会输出类似如下信息,找到ID为83的那行,记住/dev/sdaX的情况,比如本人的电脑是/dev /sda7,以下就以此为例,你自己的请加以更改)

Disk /dev/sda: 80.0 GB, 80026361856 bytes

255 heads, 63 sectors/track, 9729 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x624aa2e0

Device    Boot      Start         End      Blocks    Id System

/dev/sda1   *           1        1388    11149078+   7 HPFS/NTFS

/dev/sda2            1389        3825    19575202+   7 HPFS/NTFS

/dev/sda3            3826        9729    47423880    f W95 Ext'd (LBA)

/dev/sda5            3826        5851    16273813+   b W95 FAT32

/dev/sda6            5852        8323    19856308+   b W95 FAT32

/dev/sda7            8324        9598    10241406   83 Linux

/dev/sda8            9599        9729     1052226   82 Linux swap / Solaris

然后再输入
sudo -i

(此步用于得到root权限,无需输入密码,方便以下操作)
接着输入
mkdir /media/tempdir

(这里用于创建一个文件夹tempdir,用于挂载刚才的sda7,此文件夹名称你可以依个人爱好而定,没有太多要求)
再输入
mount /dev/sda7 /media/tempdir

(将sda7挂载于tempdir文件夹下)
下面进入了本次恢复最为关键和激动人心的时刻,在终端输入以下命令:
grub-install --root-directory=/media/tempdir /dev/sda

(本步骤用于来重新安装grub2到硬盘的主引导记录【MBR】里面,十分关键!)
输入以后如果出现“Installation finished.No Error Reported.”字符的时候,就表示操作成功了。但是现在只成功的一半,还有以下操作才能够完全成功。
这时重新启动你的电脑,就能看到grub2的引导界面了,但是这时只能用来引导Ubuntu 11.10,还暂时无法引导Windows 7,这时选择进入Ubuntu 11.10,再找到并启动终端,在终端输入如下命令:
sudo update-grub2

按照提示输入密码,如果顺利的话,会出现如下类似语句,那就表示成功了。

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 Windows 7 (loader) on /dev/sda1
done

如果没有出现以上类似语句的话,那就在软件中心里面搜索grub,可以安装带有Ubuntu标志的那个grub-pc,安装之后,再输入
sudo update-grub2

更新一下grub2就可以了。