- 论坛徽章:
- 0
|
(一)安装
Linux
时安装grub
安装redhat linux时会提示安装引导程序,如果选择grub为引导程序,建议把grub安装到硬盘
的
引导扇区MBR.grub 还可以引导其它
操作
系统
,如 FreeBSD、NetBSD、OpenBSD、GNU HURD 和
Dos
,以及
Windows
95、98、NT、2000、XP。
(二)grub
的
配置
一旦选择了grub为引导程序,下面我们来了解一下它
的
配置。/boot/grub/grub.conf是grub产生一个引导选择菜单以及设置一些选项。下面是我
的
grub.conf:
#==========例子开始========== # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,6) # kernel /vmlinuz-version ro root=/dev/hda10 # initrd /initrd-version.img #boot=/dev/hda default=0 timeout=10 splashimage=(hd0,6)/grub/splash.xpm.gz # --> Redhat Linux 8.0 Microsoft
Windows XP
配置选项解释:
以"#"开头
的
是注释行。我这里有两个
操作
系统
,分别是Red Hat Linux和Microsoft Windows XP。其中,timeout标识默认等待时间,我这设置为10秒,超过10秒用户还没作出选择
的
话,将自动选择默认
的
操作
系统
(我这里默认
的
是Redhat linux 8.0)
默认
的
操作
系统
是由default一项来控制
的
,default后
的
数字表明第几个是默认
的
,这里0表示第一个,1表示第二个。
所以如果你想修改默认
的
操作
系统
,就修改default后
的
数字。title一项是设置
操作
系统
的
名称,grub不支持中文(有点遗憾)。splashimage一项指定grub界面
的
背景图片,有兴趣
的
朋友可以修改grub
的
背景。
root (hd0,6)标识从第一个硬盘,第7个分区来启动搜索引导内核。注意这儿
的
root与linux
的
root分区不同,此root非彼root也!grub
的
硬盘标识方法与linux
的
有点不同。在linux中第一个主分区为hda1,第二个主分区为hda1,第一个逻辑分区为hda5,而在grub中是以(hdx,y)来标识
的
,如第一个主分区为(hd0,0)第一个逻辑分区为(hd0,1)依此类推。
所以这儿root后面
的
是你
的
/boot所在分区标识。知道了内核在哪儿,还要具体指出哪个
文件
是内核
文件
,这就是ke
rnel
的
工作。kernel /vmlinuz-2.2.18-14 ro
root=LABEL=/。说明/boot/vmlinuz-2.2.18-14就是要载入
的
内核。后面
的
都是传递给内核
的
参数。
ro是以readonly
的
意思。注意我这里内核前面
的
路径是"/",因为我
的
boot单独分了一个区,如果你没有为boot单独分区,那么内核前面
的
路径就是"/boot"。initrd用来初始
的
linux image,并设置相应
的
参数。
再来看一看windows
的
定义段吧。这里,我添加了一项来引导
WindowsXP
。要完成此
操作
,GRUB使用了"链式装入器"(chainloader)。链式装入器从分区 (hd0,0)
的
引导记录中装入 winXP 自己
的
引导装入器,然后引导它。这就是这种技术叫做链式装入
的
原因 -- 它创建了一个从引导装入器到另一个
的
链。
这种链式装入技术可以用于引导任何版本
的
DOS 或 Windows。如果你在计算机中装有win98,winme,win2k,winxp
的
话,chainloader会把引导权交与win
的
NTLoader来引导。
(三)Grub启动盘
的
制作
要制作引导盘,需执行一些简单
的
步骤。首先,在新
的
软盘上创建 ext2
文件
系统
。然后,将其安装,并将一些 GRUB
文件
复制到该
文件
系统
,最后运行 "grub" 程序,它将负责设置软盘
的
引导扇区。
将一张空盘插入 1.44MB 软驱,输入:
# mke2fs /dev/fd0 创建了 ext2
文件
系统
后,需要安装该
文件
系统
: # mount /dev/fd0 /mnt/floppy 现在,需要创建一些目录,并将一些关键
文件
(原先安装 GRUB 时已安装了这些
文件
)复制到软盘: # mkdir /mnt/floppy/boot # mkdir /mnt/floppy/boot/grub # cp /boot/grub/stage1 /mnt/floppy/boot/grub # cp /boot/grub/stage2 /mnt/floppy/boot/grub
再有一个步骤,就能得到可用
的
引导盘。
在linux bash中,从root用户运行"grub",该程序非常有趣并值得注意,因为它实际上是GRUB引导装入器
的
半功能性版本。尽管 Linux 已经启动并正在运行,您仍可以运行 GRUB 并执行某些任务,而且其界面与使用 GRUB 引导盘或将 GRUB 安装到硬盘 MBR 时看到
的
界面(即GRUB控制台)完全相同。在 grub> 提示符处,输入:
grub> root (fd0) grub> setup (fd0) grub> quit
现在,引导盘完成了。
(四)恢复被
Windows
破坏
的
grub
如果你用grub来引导
Linux
和windows,当windows出毛病重新安装后,会破坏MBR中
的
grub,这时需要恢复grub。
1.把linux安装
光盘
的
第一张放到光驱,然后重新启动机器,在BOIS中把
系统
用光驱来引导。
2.等安装界面出来后,按F4键,也就是linux rescue模式。
3.一系列键盘以及几项简单
的
配制,过后就“继续”了这个过程,这里不说了,比较简单。
4.然后会出现这样
的
提示符:
sh#
5.我们就可以
操作
GRUB了。输入grub:
sh#grub
会出现这样
的
提示符:
grub>
我们就可以在这样
的
字符后面,输入:
grub>root (hdX,Y) grub>setup (hd0)
如果成功会有一个successful......
这里
的
X,如果是一个盘,就是0,如果你所安装
的
linux
的
根分区在第二个硬盘上,那X就是1了;Y,就是装有linux
系统
所在
的
根分区。 setup (hd0)就是把GRUB写到硬盘
的
MBR上。
(五)用NTLoader来引导linux
如果你在安装linux时没有选择安装grub,不必着急,现在我们来看看如何在安装linux后安装grub。并用windows
的
NTLoader来引导linux。
1. 安装grub
我用
的
grub是Redhat8.0带
的
grub安装包: grub-0.92-7.rpm
安装: rpm -ivh grub-0.92-7.rpm
其他安装方式也一样,只要你安装上grub就行了。RH8缺省用
的
grub, 1、2步骤可以省了。
2. 建立grub
的
环境
cp /usr/share/grub/i386-pc/* /boot/grub
3. 生成grub
的
配置
文件
/boot/grub/menu.conf
按照上面所讲
的
grub.conf来生成一个配置
文件
。
注意了, 这里我
的
linux在/dev/hda4,所以menu.conf那些分区位置为(hd0,3),
你
的
可能不一样了,不能完全照着"画瓢"噢! 下面第3步install
的
中
的
分区位置也应该和你
的
系统
一致。
安装grub至Linux分区boot
将grub
的
stage1安装到/dev/hda4
的
boot扇区(hd0,3)。 过程如下:
/sbin/grub (运行grub) grub> install (hd0,3)/boot/grub/stage1 d (hd0,3) (hd0,3)/boot/grub/stage2 p (hd0,3)/boot/grub/menu.conf
(注意,上面"grub>"为grub
的
提示符,其后内容写在一行上。)
4. 取得grub
的
boot信息
过程如下:
dd if=/dev/hda4 of=/grub.lnx bs=512 count=1
这样得到grub
的
引导信息,只要用NT Loader来加载它就行了。
5. 将上面得到
的
grub.lnx弄到Windows
的
C盘根目录下,可以先把grub.lnx弄得软盘上,然后启动windows,拷贝到C:\; 情况允许也可以直接在Linux下拷贝到C:了。 我
的
C盘(即设备/dev/hda1)为FAT32, 可以直接从Linux下弄过去了。 如下:
mount -t vfat /dev/hda1 /mnt/c cp /grub.lnx /mnt/c umount /mnt/c
6. 修改NT Loader
的
boot.ini
在其中加入一行: C:\grub.lnx="Redhat Linux - GRUB"
加入后boot.ini
的
内容如下:
[boot loader] timeout=15 default=C:\boot.lnx [operating systems] multi(0)disk(0)rdisk(0)partition(1)\ WINDOWS="Microsoft
Windows XP
Professional" /fastdetect [VGA mode]" /basevideo /sos C:\grub.lnx="Redhat Linux - GRUB"
可以用NT Loader加载Linux了, 其实上面过程基本上和用NT Loader加载LILO一样。其基本思想就是用NT Loader来加载LILO或grub
的
引导区(grub.lnx), 其中
的
关键就是LILO或grub
的
引导区
的
获取。
(六)活用grub
的
交互功能
grub具有强大
的
交互功能。学会了将会使你受益非浅!
1.grub没有显示菜单怎么办?
当开机后进入grub界面但没了菜单,只剩下一个grub>提示符,怎么启动呢?别急,看下面:
grub>cat (hd0,6)/boot/grub/grub.conf (为了看参数) grub>root (hd0,6) grub>kernel (hd0,6) /vmlinuz-2.4.18-14 ro root=LABEL=/ grub>initrd (hd0,6) /initrd-2.4.18-14.img grub>boot
启动了吧!以上有些数字要根据你
的
实际情况更改。以上这个方法也可以用于测试新编译
的
内核。
2.进入单用户模式。
有时不小心把root用户密码忘了,只能进入单用户模式来重新设置root密码。方法如下:开机进入grub界面,按C进入命令行模式,然后按照上面
的
方法进行,只是在第三步要在后面加入single参数。
转自:http://blog.chinaunix.net/u1/46348/showart_396519.html
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/28585/showart_404328.html |
|