修复grub的方法

为当前最终发行版之前的所有版本提供支持
回复
614a
帖子: 42
注册时间: 2006-06-16 2:39
送出感谢: 0
接收感谢: 0

修复grub的方法

#1

帖子 614a » 2006-07-05 3:41

今天启动时grub又出问题了,menu.lst里的sda7全部变成了sda8,分区号都变了,所以grub找不到linux分区,ubuntu真不稳定。

修复grub的方法:

使用livecd启动,进入桌面系统,在终端输入

代码: 全选

grub update
进入grub命令行,输入

代码: 全选

root (hd0,x)
setup (hd0)
hd0指第一块硬盘(不分串口SATA、并口PATA),x是linux的主目录“/”所在分区号,编号从0开始,比linux里显示的分区编号小1。比如linux里显示硬盘分区号为hda5,这里x就是4。分区编号可以用菜单里的磁盘实在不知道是多少,就挨个试,到grub提示分区格式为ex2fs一般就是了。注意root (hd0,x)在root后面必须有空格。root命令是指定引导的分区,setup命令把引导信息写到硬盘MBR。

重启后,就可以使用grub了。如果遇到和我一样的情况,linux分区号被改了,找不到引导分区,就如下操作:
在grub菜单,光标移动到linux的启动项,按e键,进入编辑状态。光标移动到要修改的命令项,按e键,进入编辑状态,把(hd0,x)、hdax的改正确了,按回车键确认修改,按esc键放弃修改。各项命令修改好后,按b键,grub就按修改结果启动,但不保存更改到文件。所以正常启动后,要把系统里保存的启动命令菜单也改正了。

代码: 全选

sudo nano /boot/grub/menu.lst
自动挂载分区的设置可能也要修改

代码: 全选

sudo nano /etc/fstab
注:我的linux分区是从原有的一个分区(不是最后一个)里分出部分空间创建的,即分区的物理顺序可能和逻辑顺序不一致。
gauss83
帖子: 12
注册时间: 2006-06-23 13:12
送出感谢: 0
接收感谢: 0

#2

帖子 gauss83 » 2006-07-07 22:42

grub> root (hd0,9)

Error 21: Selected disk does not exist

grub> setup (hd0)

Error 12: Invalid device requested


what's wrong
gauss83
帖子: 12
注册时间: 2006-06-23 13:12
送出感谢: 0
接收感谢: 0

#3

帖子 gauss83 » 2006-07-07 23:13

grub> grub update

Error 27: Unrecognized command

grub> grub update

Error 27: Unrecognized command

grub>
614a
帖子: 42
注册时间: 2006-06-16 2:39
送出感谢: 0
接收感谢: 0

#4

帖子 614a » 2006-07-09 13:23

grub update是在普通命令行下输入的,提示符是“$”;“gurb>”是grub的命令行提示符
种草得草
帖子: 340
注册时间: 2005-12-31 12:17
送出感谢: 0
接收感谢: 0

#5

帖子 种草得草 » 2006-07-09 14:09

有这么复杂吗?
头像
xc1427
帖子: 276
注册时间: 2008-10-11 4:11
来自: 瑞金无线电学校
送出感谢: 0
接收感谢: 0
联系:

Re: 修复grub的方法

#6

帖子 xc1427 » 2009-05-04 17:01

收藏了。 :em03
You never know if you don't try
回复

回到 “老旧版本支持”