安装的乌班图9.10更新后启动显示sh:>grub

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
XueDong
帖子: 7
注册时间: 2010-05-15 23:51

安装的乌班图9.10更新后启动显示sh:>grub

#1

帖子 XueDong » 2010-05-23 13:09

安装的乌班图9.10更新后启动显示sh:>grub
我该怎么办呀??、
我的系统是安装的win7,Ubuntu安装在F盘!!
很急!
还请大家帮帮忙!我不想重新装了!
头像
leeaman
帖子: 30702
注册时间: 2007-02-02 18:14
系统: debian sid

Re: 安装的乌班图9.10更新后启动显示sh:>grub

#2

帖子 leeaman » 2010-05-23 13:14

wubi安装的话,我无能为力,google 论坛似乎有办法
醉了星星,醉月亮●●●●●The Long Way To Go(*^_^*)
XueDong
帖子: 7
注册时间: 2010-05-15 23:51

Re: 安装的乌班图9.10更新后启动显示sh:>grub

#3

帖子 XueDong » 2010-05-23 13:27

我在网上也搜过,搜到过一个,但是不知道那里有问题,

uubuntu9.10 wubi安装不能启动,出现一个sh:grub> 碰到这个问题的还比较多
是在升级内核后重启出现的问题。
在http://narmy.cn/linux/read.php/105.htm这文章中使用敲命令的方式启动但是这样每次敲命令太让人崩溃了。但是这样每次敲命令太让人崩溃了。
执行了下面这两个命令也还不行
#update-grub2
#reboot
做了很多尝试,找到一个简单的办法解决
从windows启动,在其它用wubi安装的Ubuntu系统中,找到/boot/grub/grub.cfg文件,修改一些参数并保存到E:\ubuntu\install\boot\grub(注意,不是ubuntu\disks\boot\grub\,这个文件夹如果没有要新建)文件夹中即可,
E:\为安装Ubuntu的根目录.
贴上grub.cfg:
if [ -s /boot/grub/grubenv ]; then
have_grubenv=true
load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
saved_entry=${prev_saved_entry}
save_env saved_entry
prev_saved_entry=
save_env prev_saved_entry
fi
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
set menu_color_normal=white/black
set menu_color_highlight=black/white
menuentry "Ubuntu, Linux 2.6.31-14-generic" {
insmod ntfs
set root=(hd0,1)
search --no-floppy --fs-uuid --set a66c39066c38d2b3
loopback loop0 /ubuntu/disks/root.disk
set root=(loop0)
linux /boot/vmlinuz-2.6.31-14-generic root=/dev/sda1 loop=/ubuntu/disks/root.disk ro quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
}
把这个grub.cfg文件保存到 E:\ubuntu\install\boot\grub文件夹中,E:\为安装Ubuntu的根目录 ,重启选择Ubuntu启动,搞定~
注意以下几个问题:
1.grub.cfg文件是在另一台机器上找来的,这台机器Ubuntu系统装在第一个硬盘的第一个分区,我的Ubuntu装在第二硬盘的第一个分区
所以下面两段代码需要特别注意:
set root=(hd0,1)
linux /boot/vmlinuz-2.6.31-14-generic root=/dev/sda1 loop=/ubuntu/disks/root.disk ro quiet splash

set root=(hd0,1) 修改为 set root=(hd1,1) #root设置为第二硬盘的第一个分区
root=/dev/sda1 修改为:root=/dev/sdb1 #(把第一个盘的第一个分区改为第二个盘的第一个分区,如果Ubuntu装在其他分区,根据实际填写)
search --no-floppy --fs-uuid --set a66c39066c38d2b3 把a66c39066c38d2b3这个值修改为你Ubuntu安装分区的uuid值
根据实际安装情况填写以上需要修改的内容
获取硬盘的uuid命令:
sh:grub>cat (hd0,
然后按Tab键,就可以看到UUID。每个分区的UUID不一样,你要记下你的UBUNTU所在分区的UUID。
weblj
帖子: 9
注册时间: 2010-03-29 14:12

Re: 安装的乌班图9.10更新后启动显示sh:>grub

#4

帖子 weblj » 2010-05-24 16:29

这个问题我遇到过,应该是9.10的wubi有问题,主要是引导文件wubildr(在C盘根目录下可以找到)有缺陷,你可以用10.04版的替换掉,然后重新启动,在GRUB的提示符下用敲命令的方式启动ubuntu,最后执行#sudo update-grub2,#reboot。OK!重启后就发现一切正常了。另外wubildr文件如果找不到可以留下你的邮件地址,我发给你。
weblj
帖子: 9
注册时间: 2010-03-29 14:12

Re: 安装的乌班图9.10更新后启动显示sh:>grub

#5

帖子 weblj » 2010-05-24 16:48

这个地方可以下载wubildr:
https://bugs.edge.launchpad.net/ubuntu/ ... omments/90
楼主可以先试试看,不行就用10.04的,肯定可以。
XueDong
帖子: 7
注册时间: 2010-05-15 23:51

Re: 安装的乌班图9.10更新后启动显示sh:>grub

#6

帖子 XueDong » 2010-05-24 23:54

weblj 写了:这个问题我遇到过,应该是9.10的wubi有问题,主要是引导文件wubildr(在C盘根目录下可以找到)有缺陷,你可以用10.04版的替换掉,然后重新启动,在GRUB的提示符下用敲命令的方式启动ubuntu,最后执行#sudo update-grub2,#reboot。OK!重启后就发现一切正常了。另外wubildr文件如果找不到可以留下你的邮件地址,我发给你。
我的邮箱是:Qiye_87@126.com
非常感谢!!!
XueDong
帖子: 7
注册时间: 2010-05-15 23:51

Re: 安装的乌班图9.10更新后启动显示sh:>grub

#7

帖子 XueDong » 2010-05-24 23:59

我是菜鸟,这句话:
在GRUB的提示符下用敲命令的方式启动ubuntu,最后执行#sudo update-grub2,#reboot。
具体该怎么实现??? :em06
weblj
帖子: 9
注册时间: 2010-03-29 14:12

Re: 安装的乌班图9.10更新后启动显示sh:>grub

#8

帖子 weblj » 2010-06-01 11:20

这个地方可以下载wubildr:
https://bugs.edge.launchpad.net/ubuntu/ ... omments/90
先替换掉wubildr(我给你邮件中也发一个),然后启动
在出现grub>的时候输入以下命令(别告诉我没有这个提示符,如果是那样我们讨论的就不是这个问题了,下面的就不用再看了):
grub>ls #这个命令会显示你硬盘上所有的分区,如(hd0,0)、(hd0,1)等
grub>ls (hd0,x)/ #找出WUBI安装的盘,里面有ubuntu/这个目录。
grub>insmod ntfs #加载ntfs模块,因为WUBI将ubuntu安装到了我分的ntfs盘上
grub>set root=(hd0,5) #这里(hd0,5)就是我找到的ubuntu安装的分区
grub>ls $Boot #找到我们BOOT分区的UUID,下一步要用到,我这里显示出来的是2250018e50016a3d
grub>search --no-floppy --fs-uuid --set 2250018e50016a3d #这里的UUID就是上一步找出来的那个
grub>loopback loop0 /ubuntu/disks/root.disk #设loop0,WUBI装ubuntu安装成了一个root.disk文件
grub>set root=(loop0) #重设root
grub>linux /boot/vmlinuzxxxxxxxxx (#用tab键补全即可) root=/dev/sdaX loop=/ubuntu/disks/root.disk ro quiet splash #这里的sdaX我的是sda6,你的就用自己的吧,一个诀窍就是如果前面查到ubuntu所在的分区是(hd0,n),那么这里就应该是sda n+1。
grub>initrd /boot/initrd.imgxxxxxxxxxxxx(tab键 补全即可) #tab键的作用是当你输入命令的前半部分时,按tab键,系统会自动帮你补足完整的命令或文件名,如果有多个相似的文件名,系统会全部显示出来供你选择
gurb>boot
ENTER 就可以启动了。进入熟悉的系统,打开终端
#update-grub2
#reboot
回复