2024年1月17日发(作者:)

开机grub终极解决方法

2009年06月01日 星期一 21:25

今天同学的电脑出问题了,开机无法引导,出现"grub>",相信不少同学都遇到这样的问题,以前都是通过fdisk

记录,最后重装系统解决的。

像这样的问题大多数出现在安装windows 与linux双系统上,一般主引导记录损坏导致,经过上网查阅相关资源,种解决的方法来给大家分享一下。

废话不再多说,linux具体启动过程不再多说,下面介绍具体方法:

出错导致无法启动同样会出现 "grub>"因为grub无法加载linux内核

如果出现这种情况 当务之急是先启动LINUX或WINDOWS再说

LINUX启动方法:

第一步:

查找/boot/grub/分区所在的目录:

grub> find /boot/grub/

我这里返回(hd0,7),说明我LINUX在第一磁盘第五分区(这里hd0表示第一块磁盘,7表示第五分

区,为什么???因为在这里表示方法是0 1 2 3 4 5 6 ……而,磁盘最最多有五个主分区,从4

开机是扩展分区)

第二步: 如果知道linux具体在哪个分区,则可以略过第一步:

首先查看一下自己linux内核信息

cat (hd0,7)/boot/grub/

(返回信息不说了)

按照下面命令依次输入

指定/boot分区使用命令:grub>root (hd0,0)

grub>kernel /boot/5 ro root=LABEL=/ rhgb quiet 回车

grub>initrd /boot/ 回车

grub>boot (hd0,7) 回车(从此分区启动)这里直接输入boot也行

OK,下面就等着LINUX启动吧

下面说一下WINDOWS启动方法: 敲入以下命令:

grub>root (hd0,0) 回车(你WINDOW不会装在其它分区吧?)

grub>rootnoverify(hd0,0)回车

grub>chainloader +1回车

boot (hd0,0) 回车(从此分区启动)这里直接输入boot也行

说了这么多问题还没解决,上面的方法只是应急措施,总不能每次开机都要这样输入吧?尽管这样电脑更安全(不捣你的机子的)

下面分别来介绍一下如何修复主引导记录和介绍引导软件(grub for dos)

修复主引导记录: 1.用RHEL安装盘启动计算机

2.等安装界面出来后,输入:linux rescue 后 回车进入linux救援模式。

3.救援模式做了什么:只是linux安装的前两步,语言和键盘。然后选择中文还是英文取决于你(建议选英文)。跳过网卡配置这一步。往后会出现continue readonly 和 skip三个选项: continue:搜索硬盘上的linux系统/mnt/sysimage 目录下 实际上是自动rescue模式。

readonly:当然是readonly模式

skip: 直接出现单用户的根shell,是手工救援模式,不查找linux系统文件。

4.硬盘上的系统已经被找到并挂载在/mnt/sysimage 下

会提示通过名利chroot /mnt/sysimage 改变根目录

linux rescue中使用的shell是SH shell,常用命令和bash shell一样。

进入 linux rescue后会出现这样的字符

sh#

此时用三种方法:

方法一: 输入命令

sh#grub

会出现这样的字符

grub>

我们可以在此输入

grub>root (hd0,7)

grub>setup (hd0)

OK主引导记录修复成功

方法二: 用linux 启动盘(系统盘也行)进入系统

2.用root登陆执行下面的语句

#/sbin/grub

然后会出现grub>提示符

4.再执行下面命令

grub> root (hd0,7)

grub>setup (hd0)

OK主引导记录修复成功

第三种方法:

具体:用第一张修复盘启动进入linux rescue出现#

#chroot /mnt/sysimages

#grub -install /dev/hda(第一块硬盘)

等待一会

#exit

OK主引导记录修复成功

用迅雷下载grud4dos,地址在[url=ftp:///system/]ftp:///system/grub4dos-0.解开压缩包,把grldr和放到C盘根目录,

然后修改

操作系统文件(推荐),把前面的勾去掉,就可以了),在最后添加一行:

C:grldr=linux boot

grldr会搜索C盘根目录寻找文件。

用记事本打开,编辑内容如下:

title Red Flag Linux

root (hd0,7)

kernel /boot/5 ro root=LABEL=/ rhgb quiet

initrd /boot/

Boot

更新内核以后,需要手动同步Windows的C盘的的内容。否则无法用新内核启动。

解决方法很简单,grub很强大,支持一条configfile的命令:

把你的C盘根目录的改成

timeout 5

configfile (hd0,7)/grub/

这样,grldr就会重新加载(hd0,7)/grub目录下的,显示这个的启动菜单。

更新了内核也不用修改Windows下面的任何东西了。重装系统也不怕了。仅仅需要两个文件(grldr和)(),一切就都OK。

不想选择两次才进入linux,可以修改C盘根目录的timeout为0

下面是我的内容,可以参考一下:

color black/cyan yellow/cyan

timeout 5

default /default

title Red Hat Enterprise Linux Server (5)

root (hd0,7)

kernel /boot/5 ro root=LABEL=/ rhgb quiet

initrd /boot/

boot

这写东西了解点linux的都很容易理解。至于什么版权什么的如果某某某十分感兴趣,那俺也没什么办法,。。