免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7521 | 回复: 11
打印 上一主题 下一主题

[已解决]ubuntu 9.10 Alternate光盘进入救援模式如何重新安装grub? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-02-04 10:41 |只看该作者 |倒序浏览
本帖最后由 netstree 于 2010-02-04 17:38 编辑

多系统共存,昨日windows中毒,重新安装xp后,mbr被覆盖,
原来安装在ubuntu alternate 9.10下用来引导多系统的grub2不起作用了。

我想使用ubuntu alternate 9.10的光盘进行恢复grub:

使用ubuntu的alternate 9.10光盘启动,顺利进入救援模式。
选择键盘语言国家之后,到硬盘分区检测完毕,按返回键,进入主菜单,选择shell:
(xp安装在/dev/sda1,freebsd安装在/dev/sda3,ubuntu 安装在/dev/sda4
slackware安装在/dev/sda5,debian 安装在/dev/sda6,
open suse安装在/dev/sda7,mandriva安装在/dev/sda8

依次使用以下命令:
#mkdir /mnt/a
#mount /dev/sda4 /mnt/a -t reiserfs
#chroot /mnt/a
#grub-install /dev/sda

在grub-install /dev/sda时出错:
grub-probe: error: cannot find a device for boot/grub.
No path or device is specified.
Try ``grub-probe --help'' for more information.

怎么办?

我后来在硬盘分区检测完毕,按返回键,进入主菜单,选择选择救援系统。想在列出的分区列表中选择/dev/sda4作为根目录,然后"执行安装grub",但是选择/dev/sda4作为根目录失败。
又尝试在列出的分区中选择其它linux系统分区(比如/dev/sda5,6,7,8)作为根目录,挂载可以成功,但是“执行安装grub”时又失败
(最后还是选择挂载mandriva分区作为根目录,不选择“执行安装grub”,而是选择“在根目录中执行shell”,执行命令grub-install,成功安装mandriva系统中的grub到mbr,顺利进入mandriva系统,再进一步修改其menu.lst,增加其它linux系统的引导项,重新启动电脑,在grub启动菜单中选择ubuntu 9.10救援模式,安装grub-install)。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2010-02-04 12:13 |只看该作者
进入维护模式,输入

grub

grub> root ( hdx,y )
grub> setup ( hdx )

grub> quit
# reboot

论坛徽章:
0
3 [报告]
发表于 2010-02-04 13:40 |只看该作者
right.

论坛徽章:
0
4 [报告]
发表于 2010-02-04 13:49 |只看该作者
进入维护模式,输入

grub

grub> root ( hdx,y )
grub> setup ( hdx )

grub> quit
# reboot
snow888 发表于 2010-02-04 12:13


进这个维护模式的前提条件是存在grub在mbr吧。那样你才可以选择正常启动ubuntu,或者是进入ubuntu的维护模式。

可我的问题是重装xp后,重写了mbr,启动机器就进入xp。我想问的是如何利用光盘里的“修复已损坏系统”来重新安装grub2?

(虽然按照我的帖子后半部分的交待,我已经解决了问题)

但我还是想知道通过alternate 9.1光盘,在shell里执行grub-install sda时为什么会出错,如何解决?谢谢!!

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2010-02-04 15:06 |只看该作者
进这个维护模式的前提条件是存在grub在mbr吧。那样你才可以选择正常启动ubuntu,或者是进入ubuntu的维护 ...
netstree 发表于 2010-02-04 13:49



    你任意找一个 linux 的启动光盘,启动系统的时候,选 linux se... 的那个进入,就是修复模式。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2010-02-04 15:09 |只看该作者
俺给出的方式是在你的 mbr 上没有 grub 时的修复方式,前提是你的 linux 的 boot 区已经存在了你的操作系统引导镜像,即 linux.img 文件,同时,在你的 boot 区必须存在 menu.lst 。

这两个文件不是存在在引导部分的,是存在于你的操作系统所管理的磁盘分区下面的。

论坛徽章:
0
7 [报告]
发表于 2010-02-04 17:36 |只看该作者
感谢snow888!!
我用虚拟机做了试验,我还是使用alternate 9.10光盘启动系统,进入shell:





(1)这样没成功。
mount /dev/sda2 /mnt -t reiserfs
grub-install --root-directory=/mnt /dev/sda
出错:/bin/sh: grub-install: not found


看来还得需要chroot啊!于是推倒重来,这样做:
(2)这样可以成功!
mount /dev/sda2 /mnt -t reiserfs
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
chroot /mnt
grub-install --root-directory=/mnt /dev/sda
又出错:grub-probe: error : Cannot find a GRUB drive for /dev/sda2. Check your device.map.


这个时候,不带 --root-directory=参数,
修改成:grub-install /dev/sda

终于成功了,有图有真相:


(3)这样也可以成功。还简单些:
还是使用alternate 9.10光盘启动系统,不进入shell,而是使用救援方式,图形界面下成功恢复grub,要注意的是选择安装grub的地方应该是/dev/sda或者(hd0),而不应该是/dev/hda:
有图有真相!




论坛徽章:
0
8 [报告]
发表于 2010-02-04 17:37 |只看该作者
感谢所有热心的网友,也感谢ubuntu论坛的hunter108.
http://forum.ubuntu.org.cn/viewt ... ;p=1715413#p1715413

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2010-02-05 12:10 |只看该作者
感谢所有热心的网友,也感谢ubuntu论坛的hunter108.
netstree 发表于 2010-02-04 17:37



    你这个太复杂,走弯路了。



其实你的 menu.lst 等都在,唯一没有的就是 grub 的引导,这个咚咚不是 linux 的,是脱离操作系统之外的咚咚,准确地说是操作系统引导时的 boot(1) 阶段的咚咚。

你要做的动作其实仅仅是需要把 grub 写入到你的 mbr中而已。

论坛徽章:
0
10 [报告]
发表于 2010-02-05 15:50 |只看该作者
呵呵,这样还算复杂啊,特别是最后一种方法,多简单啊,连系统都不用进去,直接就挂载根目录,重装grub了。(许多live cd盘都得进到系统里再重装grub)。

不知grub4dos是否支持reiserfs格式的linux,如果能直接引导。那倒是最简单的了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP