网上最流行的办法,就是使用Live CD来进行恢复。
使用livecd启动,进入桌面系统,在终端输入
CODE:
sudo grub
进入grub命令行,输入
CODE:
find /boot/grub/stage1 (stage1中的最后一个是数字1,不是字母l,意思是第一块硬盘,如果你不是安装在第一块硬盘,就根据实际情况改一下就可以)
root (hd0,x) (这里的x填写的是上面一个命令运行的结果)
setup (hd0)
注意 root (hd0,x)在root后面必须有空格。root命令是指定引导的分区,setup命令把引导信息写到硬盘MBR。
退出重启以后,一般就可以看到包含Ubuntu的Grub列表了。
上面的都是网上可以长到的方法,我也是用这个方法恢复了Grub列表的,但是我还碰到了另外一个问题就是,我是Find命令得出的结果是(hd0,5),但是运行的时候,发现Grub里面的全部都是(hd0,6),所以还是无法找到文件,进不去系统。
后来我发现,其实在显示Grub列表的时候,最下面有一些提示,其中一条说明就是,可以在未选定启动系统前是可以编缉Grub列表的,按“C”可以进入,然后选择你需要编缉的条目,按“E”进行编缉,我将root(hd0,6)改成了root(hd0,5)之后,直接按“B”就成功启动并进入系统。
过入系统后再编缉Grub文件,就可以解决这个问题。
参考这个
还有一个
Ubuntu的Grub引导修复跟之前的版本不一样,现在我教大家如何修复,假设我的Ubuntu装在/dev/sda2,我的/boot目录是另外一个分区,在/dev/sda1,看具体操作,进入Ubuntu光盘:
$sudo fdisk -l
挂载Ubuntu的根目录到/mnt
$sudo mount /dev/sda2 /mnt
挂载boot目录,如果你没有单独的boot分区,可跳过这一步!
$sudo mount /dev/sda1 /mnt/boot
接下来,您需要从USB绑定安装到硬盘驱动器所有的设备...
$sudo mount --bind /dev/ /mnt/dev
用chroot命令将根目录切换到/mnt...
$sudo chroot /mnt
运行命令将GRUB安装到/dev/sda
$sudo grub-install /dev/sda
$sudo grub-install --recheck /dev/sda
按CTRL+D 退出chroot, 卸下挂载的目录: /mnt/dev, /mnt/boot and /mnt. 重新启动电脑,完成!
原文来自:http://www.yz33.com/post/7/
取消
评论