您的位置:首页 > 其它

Ubuntu+Windows双系统下grub的恢复手记

2010-05-30 23:00 183 查看
Ubuntu 9.10之前的发行版,使用的是grub,恢复方法如下

(参考

http://www.cnblogs.com/nniixl/archive/2008/05/10/1191562.html



使用Ubuntu livecd启动,打开Terminal,在终端下输入:

sudo su

grub

在grub> 提示符后接着输入:

root (hdx,y)

setup (hdx)

其中hd表示硬盘,格式是(hd硬盘号,分区号)
硬盘号、分区号都是从零开始计算。所以(hd0,0)表示第一个硬盘的第1个分区,(hd0,1)表示第一个硬盘第2个分区,(hd1,4)表示第2个硬盘第5个分区。

root (hdx,y)
这里的(hdx,y) 是/boot 目录所在的分区

(通常情况下也就是ubuntu
系统的根目录所在分区,如果安装时把/boot单独分离出来则需要将其设定为/boot所在分区。)

如果你不知道你把ubuntu
装在第几个分区,可以通过命令 fdisk -l /dev/sd*
查看当前的硬盘分区情况。(注意,-l是小写的L而不是1


最后在grub->提示符下输入

quit

退出grub,重启即可。

Ubuntu 9.10及Ubuntu 10.04采用的是grub2,恢复grub2的方法如下:


使用Ubuntu livecd启动,打开Terminal,在终端下输入: sudo -i 切换至root权限,

然后通过命令 fdisk -l /dev/sd*
查看当前的硬盘分区情况,例如sda8为ubuntu的根目录所在分区,而sda5为boot所在分区,然后执行:

mount /dev/sda8 /mnt

mount /dev/sda5 /mnt/boot
(这一步尤为重要,之前我尝试过几次都失败就是因为没有进行这一步操作)

grub-install --root-directory=/mnt/ /dev/sda

当看见Installation finished.No Error Reported 就表示成功了,但是此时重启只能引导进入ubuntu而不能进入重装后的Windows,因为原来的grub记录的之前的windows版本的信息。因此重启进入Ubuntu,
打开终端:

首先需要安装grub2和grub-pc,即 sudo apt-get install grub2 grub-pc

然后重建GRUB列表 sudo update-grub2

重新写入第一分区mbr sudo grub-install /dev/sda

如果想修改启动顺序,可以修改/boot/grub目录下的grub.cfg文件。这里注意此文件不可写的,可以先运行一下命令

sudo chmod +w /boot/grub/grub.cfg

然后再运行sudo gedit /boot/grub/grub.cfg,就可以修改了,类似于GRUB 1的menu.lst修改。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: