grub三步通 zt
grub三步通 5
©温农校友之家 -- 温农人自己的网上家园 Ju@
©温农校友之家 -- 温农人自己的网上家园 OC
################## AE%d'
# GRUB的优点 # /Yq
################## 6
GRUB 是引导装入器(boot loader) -- 它负责装入内核并引导 Linux 系统。GRUB 还可以引导其它操作系统,如 FreeBSD、NetBSD、OpenBSD、GNU HURD 和 DOS,以及 Windows 95、98、NT 和 2000。尽管引导操作系统看上去是件平凡且琐碎的任务,但它实际上很重要。如果引导装入器不能很好地完成工作或者不具有弹性,那么就可能锁住系统,而无法引导计算机。另外,好的引导装入器可以给您灵活性,让您可以在计算机上安装多个操作系统,而不必处理不必要的麻烦。 |c[
GRUB 是一个很棒的boot loader。它有许多功能,可以使引导过程变得非常可靠。例如,它可以直接从 FAT、minix、FFS、ext2 或 ReiserFS 分区读取 Linux 内核。这就意味着无论怎样它总能找到内核。另外,GRUB 有一个特殊的交互式控制台方式,可以让您手工装入内核并选择引导分区。这个功能是无价的:假设 GRUB 菜单配置不正确,但仍可以引导系统。哦,对了 -- GRUB 还有一个彩色引导菜单。 IE
©温农校友之家 -- 温农人自己的网上家园 u"`
更令人惊讶的是,这是一个自由软件!!! X=V9
©温农校友之家 -- 温农人自己的网上家园 U
©温农校友之家 -- 温农人自己的网上家园 qd
©温农校友之家 -- 温农人自己的网上家园 FU)
################## ag]{u
# GRUB菜单 # mGa
################## L$
先来看一个例子,这是位于/boot/grub/目录下的menu.lst文件。 ng
此文件将在开机是产生一个菜单,包含有Debian linux,Windows2000,RedHat linux和 Mandrake linux,共四个选择项。我一共分了8个区,一个fat16(0x6),一个ntfs(0x7),三个ext2fs分区(0x83),一个swap分区(0x82)。ntfs用来装win2000,三个ext2fs装了三个linux,c盘fat16分区没有装任何东西。
©温农校友之家 -- 温农人自己的网上家园 ZZ#e]p
timeout 10 `
default 2 t8d'
©温农校友之家 -- 温农人自己的网上家园 fMOk2L
©温农校友之家 -- 温农人自己的网上家园 @7wJa
# --> Debian linux h
©温农校友之家 -- 温农人自己的网上家园 [,iyo?
# --> Debian END Windows 菜单选项 Winddows 结束 [8R1
# --> RedHat linux 菜单选项
©温农校友之家 -- 温农人自己的网上家园 wnpxbP
title RedHat linux pwUKW
root (hd0,8) )\C!
chainloader +1 # 在硬盘主引导分区装了lilo,所以也用了chainloader。 kq
©温农校友之家 -- 温农人自己的网上家园 I"VRb&
# --> RedHat linux 结束 Mandrake linux 菜单选项
root (hd0,5) ^m
kernel /boot/vmlinuz-2.4.3-20mdk root=/dev/hda6 ro WK=NU
initrd /boot/initrd-2.4.3-20mdk.img ?-b
©温农校友之家 -- 温农人自己的网上家园 2j_
# --> Mandrake linux 结束 |"Yh
以符号井#开头的行表示被注释掉,没有任何意义。 "x%-$
©温农校友之家 -- 温农人自己的网上家园 |AE6g
timeout表示默认等待的时间,这儿是10秒钟。超过10秒,用户还没有作出选择的话,系统将自动选择默认的操作系统。 z{vmE_
©温农校友之家 -- 温农人自己的网上家园 zcX)c
默认的操作系统就是由default控制的。default后加一个数字n,表明是第n+1个。需要注意的是,GRUB中,计数是从0开始的,第一个硬盘是hd0,第一个软驱是fd0,等等。所以,default 2 表示默认的操作系统在这儿是 Redhat linux。 4
©温农校友之家 -- 温农人自己的网上家园 =H*
在 Linux 中,当谈到 "root" 文件系统时,通常是指主 Linux 分区。但是,GRUB 有它自己的 root 分区定义。GRUB 的 root 分区是保存 Linux 内核的分区。这可能是您的正式 root 文件系统,也可能不是。我们讨论的是 GRUB,需要指定 GRUB 的 root 分区。进入 root 分区时,GRUB 将把这个分区安装成只读型,这样就可以从该分区中装入 Linux 内核。GRUB 的一个很“酷”的功能是它可以读取本机的 FAT、FFS、minix、ext2 和 ReiserFS 分区。 ?4h
©温农校友之家 -- 温农人自己的网上家园 "
到目前为止,您可能会感到一点疑惑,因为 GRUB 所使用的硬盘/分区命名约定与 Linux 使用的命名约定不同。在 Linux 中,第一个硬盘的第五个分区称作 "hda5"。而 GRUB 把这个分区称作 "(hd0,4)"。GRUB 对硬盘和分区的编号都是从 0 开始计算。另外,硬盘和分区都用逗号分隔,整个表达式用括号括起。现在,可以发现如果要引导 Linux 硬盘 hda5,应输入 "root (hd0,4)"。 b~_$}R
©温农校友之家 -- 温农人自己的网上家园 EvH;
知道了内核在哪儿,还要具体指出哪个文件是内核文件,这就是kernel的工作。 a
kernel /boot/vmlinuz-2.2.18 root=/dev/hda3 ro说明/boot/vmlinuz-2.2.18 就是要载入的内核。后面的都是传递给内核的参数。root=/dev/hda3就是linux的硬盘分区表示法,ro是以readonly的意思。 lG6f6
initrd用来初始的linux image,并设置相应的参数。 kvT
©温农校友之家 -- 温农人自己的网上家园 c
是不是感觉很简单啊!再来看一看windows的定义段吧。 i{,zC/
这里,我添加了一项来引导 Windows2000。要完成此操作,GRUB 使用了“链式装入器”(chainloader)。链式装入器从分区 (hd0,0) 的引导记录中装入 win2000 自己的引导装入器,然后引导它。这就是这种技术叫做链式装入的原因 -- 它创建了一个从引导装入器到另一个的链。这种链式装入技术可以用于引导任何版本的 DOS 或 Windows。 NO.2Vs
©温农校友之家 -- 温农人自己的网上家园 ,3
我的RedHat linux在硬盘主引导分区装了lilo,所以也用了chainloader。 VK
©温农校友之家 -- 温农人自己的网上家园 t
GRUB的配置文件要简单就这么简单,如果你要更个性化一点,试一试把“color light-gray/blue ”加在default语句的下面,下一次启动GRUB时,看看有什么变化,再试一试“color light-blue/red",惊喜吗? 有趣吧! 56H
©温农校友之家 -- 温农人自己的网上家园 DM0
###################### c
# GRUB的交互性 # 5Y}e
###################### MRS03%
©温农校友之家 -- 温农人自己的网上家园 K
©温农校友之家 -- 温农人自己的网上家园 ~
©温农校友之家 -- 温农人自己的网上家园 Q}
©温农校友之家 -- 温农人自己的网上家园 F
GRUB 最好的优点之一就是其强健的设计 -- 在不断使用它时请别忘了这点。如果更新内核或更改它在磁盘上的位置,不必重新安装 GRUB。事实上,如有必要,只要更新 menu.lst 文件即可,一切将保持正常。 pN7
©温农校友之家 -- 温农人自己的网上家园 ?R
只有少数情况下,才需要将 GRUB 引导装入器重新安装到引导记录。首先,如果更改 GRUB root 分区的分区类型(例如,从 ext2 改成 ReiserFS),则需要重新安装。或者,如果更新 /boot/grub 中的 stage1 和 stage2 文件,由于它们来自更新版本的 GRUB,很有可能要重新安装引导装入器。其它情况下,可以不必理睬! ?QaN:X
©温农校友之家 -- 温农人自己的网上家园 |)
GRUB的最大的特点就是交互性特别强。在开机时,按一下“c”,将进入GRUB 控制台。显示如下: S"
©温农校友之家 -- 温农人自己的网上家园 SpP
GRUB version 0.5.96.1 (640K lower / 3072K upper memory) *
©温农校友之家 -- 温农人自己的网上家园 /)r@I
[ Minimal BASH-like line editing is supported. For the first word, TAB Y53
©温农校友之家 -- 温农人自己的网上家园 `Om
grub> (V:R
©温农校友之家 -- 温农人自己的网上家园 ace*
欢迎使用 GRUB 控制台。现在,再研究命令: d&/L
我将通过GRUB 控制台绕过lilo来启动RedHat linux, /
©温农校友之家 -- 温农人自己的网上家园 (3P
grub> root (h bpqvZ
©温农校友之家 -- 温农人自己的网上家园 H
现在,按一次 Tab 键。如果系统中有多个硬盘,GRUB 将显示可能完成的列表,从 "hd0" 开始。如果只有一个硬盘,GRUB 将插入 "hd0,"。如果有多个硬盘,继续进行,在 ("hd2") 中输入名称并在名称后紧跟着输入逗号,但不要按 Enter 键。部分完成的 root 命令看起来如下: &i[zTc
©温农校友之家 -- 温农人自己的网上家园 A!+o
grub> root (hd0, %
©温农校友之家 -- 温农人自己的网上家园 op)lsz
现在,继续操作,再按一次 Tab 键。GRUB 将显示特定硬盘上所有分区的列表,以及它们的文件系统类型。在我的系统中,按 Tab 键时得到以下列表: qb.L2
©温农校友之家 -- 温农人自己的网上家园 z`
grub> root (hd0, (tab,按tab一下键) /H]YE|
Possible partitions are: l
Partition num: 0, Filesystem type is fat, partition type 0x6 8T;I\
Partition num: 2, Filesystem type is ext2fs, partition type 0x83 G~8
Partition num: 4, Filesystem type unknown, partition type 0x7 +C;t
Partition num: 5, Filesystem type is ext2fs, partition type 0x83 $@
Partition num: 6, Filesystem type is fat, partition type 0xb o-V5qC
Partition num: 7, Filesystem type is fat, partition type 0xb ~~tX
Partition num: 8, Filesystem type is ext2fs, partition type 0x83 tYj
Partition num: 9, Filesystem type unknown, partition type 0x82 OCe
©温农校友之家 -- 温农人自己的网上家园 &JM
如您所见,GRUB 的交互式硬盘和分区名称实现功能非常有条理。这些,只需要好好理解 GRUB 新奇的硬盘和分区命名语法,然后就可以继续操作了 fO*I
grub> root (hd0,8) nk.Cw]
现在已安装了 root 文件系统,到装入内核的时候了 :#k6jr
©温农校友之家 -- 温农人自己的网上家园 ?e+NF
grub> kernel /boot/vmlinuz-2.4.2 root=/dev/hda5 ro ~
[Linux-bzImage, setup=0x1200, size=0xe1a30] i9=K
©温农校友之家 -- 温农人自己的网上家园 aG
您已经安装了 root 文件系统并装入了内核。现在,可以引导了。只要输入 "boot",Linux 引导过程就将开始。是不是很cool啊,GRUB的menu.lst更像一个linux下的脚本程序。 Fq
©温农校友之家 -- 温农人自己的网上家园 )Bnq
©温农校友之家 -- 温农人自己的网上家园 0PCR&
##################### u~
# GRUB启动盘 # !
##################### $T`
要制作引导盘,需执行一些简单的步骤。首先,在新的软盘上创建 ext2 文件系统。然后,将其安装,并将一些 GRUB 文件复制到该文件系统,最后运行 "grub" 程序,它将负责设置软盘的引导扇区。准备好了吗? (~;
©温农校友之家 -- 温农人自己的网上家园 =^F'qo
将一张空盘插入 1.44MB 软驱,输入: +%
©温农校友之家 -- 温农人自己的网上家园 Vzzs
# mke2fs /dev/fd0 wN`r>
创建了 ext2 文件系统后,需要安装该文件系统: FA1=
©温农校友之家 -- 温农人自己的网上家园 LWfl
# mount /dev/fd0 /mnt/floppy #:
现在,需要创建一些目录,并将一些关键文件(原先安装 GRUB 时已安装了这些文件)复制到软盘: e5
©温农校友之家 -- 温农人自己的网上家园 k?
# mkdir /mnt/floppy/boot U6K!
# mkdir /mnt/floppy/boot/grub ` 提示符处,输入: ?cEb\%
©温农校友之家 -- 温农人自己的网上家园 &-
grub> root (fd0) eUX{
grub> setup (fd0) $k) #
grub> quit q.j[
©温农校友之家 -- 温农人自己的网上家园 jVi
现在,引导盘完成了。 eg$e
如果要把GRUB装到硬盘上,也很容易。这个过程几乎与引导盘安装过程一样。首先,需要决定哪个硬盘分区将成为 root GRUB 分区。在这个分区上,创建 /boot/grub 目录,并将 stage1 和 stage2 文件复制到该目录中,可以通过重新引导系统并使用引导盘,或者使用驻留版本的 GRUB 来执行后一步操作。在这两种情况下,启动 GRUB,并用 root 命令指定 root 分区。例如,如果将 stage1 和 stage2 文件复制到 hda5 的 /boot/grub 目录中,应输入 "root (hd0,4)"。接着,决定在哪里安装 GRUB -- 在硬盘的 MBR,或者如果与 GRUB 一起使用另一个“主”引导装入器,则安装在特定分区的引导记录中。如果安装到 MBR,则可以指定整个磁盘而不必指定分区,如下(对于 hda): v0VL
©温农校友之家 -- 温农人自己的网上家园 8
grub> setup (hd0) 6t#O1-
©温农校友之家 -- 温农人自己的网上家园 *
如果要将 GRUB 安装到 /dev/hda5 的引导记录中,应输入: &1]
©温农校友之家 -- 温农人自己的网上家园 +q
grub> setup (hd0,4) 3mR# i
©温农校友之家 -- 温农人自己的网上家园 "q-gZ
现在,已安装 GRUB。引导系统时,应该立即以 GRUB 的控制台方式结束(如果安装到 MBR)。现在,应创建引导菜单,这样就不必在每次引导系统时都输入那些命令。 ,
©温农校友之家 -- 温农人自己的网上家园 c](
©温农校友之家 -- 温农人自己的网上家园 s
©温农校友之家 -- 温农人自己的网上家园 c?hu
小结:在这里只是介绍了 GRUB 的一部分。例如,可以使用 GRUB 来执行网络引导,引导 BSD 文件系统,或更多操作。另外,GRUB 有许多配置和安全性命令也很有用。如需所有 GRUB 功能的完整描述,请阅读 GRUB 出色的 GNU 文档。只要在 bash 提示中输入 "info grub" 就可以阅读该文档。 y6u>
©温农校友之家 -- 温农人自己的网上家园 "
©温农校友之家 -- 温农人自己的网上家园 P
有用的一些信息:xosl是一个支持鼠标的图形界面boot loader,可以于system command和boot manager相比, DYN,nn
网址是www.xosl.org。 ]i
©温农校友之家 -- 温农人自己的网上家园 g
GRUB的下载:ftp://alpha.gnu.org/gnu/grub/ ponX
©温农校友之家 -- 温农人自己的网上家园 tMan@
©温农校友之家 -- 温农人自己的网上家园 I*+,'
再补充:三种硬盘安装方法的 grub 7>b
命令集(采用任何一种都可以的,随便你喜欢哪个方法): n
©温农校友之家 -- 温农人自己的网上家园 i[nWlV
1。用 hd.img 安装,这需要用到 grub for dos 的软盘仿真功能: 8u31
©温农校友之家 -- 温农人自己的网上家园 m8b
grub> map (hd0,0)/hd.img (fd0) `*:!
grub> chainloader (hd0,0)/hd.img `-X"v
grub> rootnoverify (fd0) F;Fv
grub> boot jxC!s>
©温农校友之家 -- 温农人自己的网上家园 Q^
2。用 vmlinuz 和 hd.rdz 两个文件来安装(无需使用 grub for dos,用 GNU 原来的 [dC%
GRUB 都管用): kernel (hd0,0)/vmlinuz ramdisk_size=128000 root=/dev/ram3 !:mjyD
automatic=method:disk acpi=ht vga=788 7C3w
grub> initrd (hd0,0)/hd.rdz t
grub> boot xI
注意 kernel 一行很长,不要截断成两行。还要注意上述命令都假定这些文件位于 e]
(hd0,0) 的根目录,如果你的不同,当然要作适当的修改 4
来源:LinuxEden tu-g{
©温农校友之家 -- 温农人自己的网上家园 cQUw
©温农校友之家 -- 温农人自己的网上家园 Cn
3.首先下载grub for dos(http://grub.linuxeden.com),其最新版本支持ntfs分区,而且可以利用ntloader调用,比如winxp的引导菜单. w:|.h3
提取grldr到c:/下; 383
修改boot.ini,加入 C:\GRLDR=Boot Grub (方法:在桌面我的电脑点右键--属性--高级--启动和故障恢复-设置--编辑,不用到c盘去找了,麻烦); cZ2
在c盘根目录下建立/boot/grub文件夹,建立menu.lst文本文件; f
把ML的iso放在vfat分区,提取mbvmlinuz,mbinitrd-hd.gz与iso都放在根目录下 ; )X
修改menu.lst,加入 /1~|1:
代码: Mc{1S
©温农校友之家 -- 温农人自己的网上家园 z
title Magci linux1.2-setup m`*I"z
kernel (hd0,6)/mbvmlinuz ro root=/dev/ram0 ramdisk_size=32000 vga=788 TvAq";
2,然后就可以利用原来的grub引导系统,当出现grub引导菜单的时候,根据下面的提示,按 "c",会出现命令行式的grub,然后按照一下格式 bT
输入:(以第一步中的位置为例) p?
kernel (hd0,0)/vmlinuz ramdisk_size=128000 root=/dev/ram3 automatic=method:disk acpi=ht vga=788 #注释,然后输入回车 ml5
initrd (hd0,0)/all.rdz #注释,然后输入回车 tx)r^l
boot #注释,然后输入回车 d
©温农校友之家 -- 温农人自己的网上家园 `
就可以看到引导安装开始了,方法A 结束。 Db)o
©温农校友之家 -- 温农人自己的网上家园 rDV
B,如果没有grub,但是有装好的windows(以winxp为例),也可以利用windows的c:盘下的boot.ini 结合 grub for dos引导安装。这里根据直接用winxp 引导 grub for dos,或者进入实dos再用grub for dos,可以分为一下两种情况。 x$jCLE
©温农校友之家 -- 温农人自己的网上家园 C
B1, winxp 的boot.ini + grub_for_dos中的grldr; H
在新版的grub_for_dos中,出现了一个文件grldr,它可以直接由winxp引导,实现引导grub,这样就不用安装grub了。方法如下: g
1, 把grub_for_dos中的grldr 和 boot目录拷贝到c盘,就是和boot.ini所在的分区的根目录下; +`
2,编辑boot.ini,在最后加上一行, b
C:\GRLDR="grub for dos" I6Z
3, 编辑boot/grub/menu.lst,如下: $
title mandriva install e&
kernel (hd0,0)/vmlinuz ramdisk_size=128000 root=/dev/ram3 automatic=method:disk acpi=ht vga=788 Q
initrd (hd0,0)/all.rdz AO)F$
注意,为了方便,也可以直接把menu.lst放在grldr所在的分区根目录。 ~u
4, 重启,然后在winxp的引导菜单选grub for dos就可以引导安装了。 7WiV
©温农校友之家 -- 温农人自己的网上家园 \r_r
B2, winxp的boot.ini + vfloppy + grub_for_dos LiO
1,这种方法是首先在winxp中安装vfloppy,方法就不介绍了,这样在winxp引导菜单中选vfloppy对应的项,就可以进入实dos中了; xWOJ*@
2,在dos中运行grub_for_dos中的grub.exe,可以直接指定由B1中编辑好的menu.lst,这样比较方便: sh
grub --config-file=(hd0,0)/boot/grub/menu.lst ,运行就可以引导安装了。 TzGC"
©温农校友之家 -- 温农人自己的网上家园 d~1
©温农校友之家 -- 温农人自己的网上家园 p;oVvj
对于方法A和B,当引导安装开始后,只要指定系统安装所需的iso文件所需的位置就可以了。 ?}
©温农校友之家 -- 温农人自己的网上家园 {sj!7{
以上方法所需要的软件,可以在这里下载,http://lsec.cc.ac.cn/~peace/service/software/win4linux.rar ,当然也可以在网上下载更新 L*-
的版本。 J$o
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/553/showart_90858.html
©温农校友之家 -- 温农人自己的网上家园 Ju@
©温农校友之家 -- 温农人自己的网上家园 OC
################## AE%d'
# GRUB的优点 # /Yq
################## 6
GRUB 是引导装入器(boot loader) -- 它负责装入内核并引导 Linux 系统。GRUB 还可以引导其它操作系统,如 FreeBSD、NetBSD、OpenBSD、GNU HURD 和 DOS,以及 Windows 95、98、NT 和 2000。尽管引导操作系统看上去是件平凡且琐碎的任务,但它实际上很重要。如果引导装入器不能很好地完成工作或者不具有弹性,那么就可能锁住系统,而无法引导计算机。另外,好的引导装入器可以给您灵活性,让您可以在计算机上安装多个操作系统,而不必处理不必要的麻烦。 |c[
GRUB 是一个很棒的boot loader。它有许多功能,可以使引导过程变得非常可靠。例如,它可以直接从 FAT、minix、FFS、ext2 或 ReiserFS 分区读取 Linux 内核。这就意味着无论怎样它总能找到内核。另外,GRUB 有一个特殊的交互式控制台方式,可以让您手工装入内核并选择引导分区。这个功能是无价的:假设 GRUB 菜单配置不正确,但仍可以引导系统。哦,对了 -- GRUB 还有一个彩色引导菜单。 IE
©温农校友之家 -- 温农人自己的网上家园 u"`
更令人惊讶的是,这是一个自由软件!!! X=V9
©温农校友之家 -- 温农人自己的网上家园 U
©温农校友之家 -- 温农人自己的网上家园 qd
©温农校友之家 -- 温农人自己的网上家园 FU)
################## ag]{u
# GRUB菜单 # mGa
################## L$
先来看一个例子,这是位于/boot/grub/目录下的menu.lst文件。 ng
此文件将在开机是产生一个菜单,包含有Debian linux,Windows2000,RedHat linux和 Mandrake linux,共四个选择项。我一共分了8个区,一个fat16(0x6),一个ntfs(0x7),三个ext2fs分区(0x83),一个swap分区(0x82)。ntfs用来装win2000,三个ext2fs装了三个linux,c盘fat16分区没有装任何东西。
©温农校友之家 -- 温农人自己的网上家园 ZZ#e]p
timeout 10 `
default 2 t8d'
©温农校友之家 -- 温农人自己的网上家园 fMOk2L
©温农校友之家 -- 温农人自己的网上家园 @7wJa
# --> Debian linux h
©温农校友之家 -- 温农人自己的网上家园 [,iyo?
# --> Debian END Windows 菜单选项 Winddows 结束 [8R1
# --> RedHat linux 菜单选项
©温农校友之家 -- 温农人自己的网上家园 wnpxbP
title RedHat linux pwUKW
root (hd0,8) )\C!
chainloader +1 # 在硬盘主引导分区装了lilo,所以也用了chainloader。 kq
©温农校友之家 -- 温农人自己的网上家园 I"VRb&
# --> RedHat linux 结束 Mandrake linux 菜单选项
root (hd0,5) ^m
kernel /boot/vmlinuz-2.4.3-20mdk root=/dev/hda6 ro WK=NU
initrd /boot/initrd-2.4.3-20mdk.img ?-b
©温农校友之家 -- 温农人自己的网上家园 2j_
# --> Mandrake linux 结束 |"Yh
以符号井#开头的行表示被注释掉,没有任何意义。 "x%-$
©温农校友之家 -- 温农人自己的网上家园 |AE6g
timeout表示默认等待的时间,这儿是10秒钟。超过10秒,用户还没有作出选择的话,系统将自动选择默认的操作系统。 z{vmE_
©温农校友之家 -- 温农人自己的网上家园 zcX)c
默认的操作系统就是由default控制的。default后加一个数字n,表明是第n+1个。需要注意的是,GRUB中,计数是从0开始的,第一个硬盘是hd0,第一个软驱是fd0,等等。所以,default 2 表示默认的操作系统在这儿是 Redhat linux。 4
©温农校友之家 -- 温农人自己的网上家园 =H*
在 Linux 中,当谈到 "root" 文件系统时,通常是指主 Linux 分区。但是,GRUB 有它自己的 root 分区定义。GRUB 的 root 分区是保存 Linux 内核的分区。这可能是您的正式 root 文件系统,也可能不是。我们讨论的是 GRUB,需要指定 GRUB 的 root 分区。进入 root 分区时,GRUB 将把这个分区安装成只读型,这样就可以从该分区中装入 Linux 内核。GRUB 的一个很“酷”的功能是它可以读取本机的 FAT、FFS、minix、ext2 和 ReiserFS 分区。 ?4h
©温农校友之家 -- 温农人自己的网上家园 "
到目前为止,您可能会感到一点疑惑,因为 GRUB 所使用的硬盘/分区命名约定与 Linux 使用的命名约定不同。在 Linux 中,第一个硬盘的第五个分区称作 "hda5"。而 GRUB 把这个分区称作 "(hd0,4)"。GRUB 对硬盘和分区的编号都是从 0 开始计算。另外,硬盘和分区都用逗号分隔,整个表达式用括号括起。现在,可以发现如果要引导 Linux 硬盘 hda5,应输入 "root (hd0,4)"。 b~_$}R
©温农校友之家 -- 温农人自己的网上家园 EvH;
知道了内核在哪儿,还要具体指出哪个文件是内核文件,这就是kernel的工作。 a
kernel /boot/vmlinuz-2.2.18 root=/dev/hda3 ro说明/boot/vmlinuz-2.2.18 就是要载入的内核。后面的都是传递给内核的参数。root=/dev/hda3就是linux的硬盘分区表示法,ro是以readonly的意思。 lG6f6
initrd用来初始的linux image,并设置相应的参数。 kvT
©温农校友之家 -- 温农人自己的网上家园 c
是不是感觉很简单啊!再来看一看windows的定义段吧。 i{,zC/
这里,我添加了一项来引导 Windows2000。要完成此操作,GRUB 使用了“链式装入器”(chainloader)。链式装入器从分区 (hd0,0) 的引导记录中装入 win2000 自己的引导装入器,然后引导它。这就是这种技术叫做链式装入的原因 -- 它创建了一个从引导装入器到另一个的链。这种链式装入技术可以用于引导任何版本的 DOS 或 Windows。 NO.2Vs
©温农校友之家 -- 温农人自己的网上家园 ,3
我的RedHat linux在硬盘主引导分区装了lilo,所以也用了chainloader。 VK
©温农校友之家 -- 温农人自己的网上家园 t
GRUB的配置文件要简单就这么简单,如果你要更个性化一点,试一试把“color light-gray/blue ”加在default语句的下面,下一次启动GRUB时,看看有什么变化,再试一试“color light-blue/red",惊喜吗? 有趣吧! 56H
©温农校友之家 -- 温农人自己的网上家园 DM0
###################### c
# GRUB的交互性 # 5Y}e
###################### MRS03%
©温农校友之家 -- 温农人自己的网上家园 K
©温农校友之家 -- 温农人自己的网上家园 ~
©温农校友之家 -- 温农人自己的网上家园 Q}
©温农校友之家 -- 温农人自己的网上家园 F
GRUB 最好的优点之一就是其强健的设计 -- 在不断使用它时请别忘了这点。如果更新内核或更改它在磁盘上的位置,不必重新安装 GRUB。事实上,如有必要,只要更新 menu.lst 文件即可,一切将保持正常。 pN7
©温农校友之家 -- 温农人自己的网上家园 ?R
只有少数情况下,才需要将 GRUB 引导装入器重新安装到引导记录。首先,如果更改 GRUB root 分区的分区类型(例如,从 ext2 改成 ReiserFS),则需要重新安装。或者,如果更新 /boot/grub 中的 stage1 和 stage2 文件,由于它们来自更新版本的 GRUB,很有可能要重新安装引导装入器。其它情况下,可以不必理睬! ?QaN:X
©温农校友之家 -- 温农人自己的网上家园 |)
GRUB的最大的特点就是交互性特别强。在开机时,按一下“c”,将进入GRUB 控制台。显示如下: S"
©温农校友之家 -- 温农人自己的网上家园 SpP
GRUB version 0.5.96.1 (640K lower / 3072K upper memory) *
©温农校友之家 -- 温农人自己的网上家园 /)r@I
[ Minimal BASH-like line editing is supported. For the first word, TAB Y53
©温农校友之家 -- 温农人自己的网上家园 `Om
grub> (V:R
©温农校友之家 -- 温农人自己的网上家园 ace*
欢迎使用 GRUB 控制台。现在,再研究命令: d&/L
我将通过GRUB 控制台绕过lilo来启动RedHat linux, /
©温农校友之家 -- 温农人自己的网上家园 (3P
grub> root (h bpqvZ
©温农校友之家 -- 温农人自己的网上家园 H
现在,按一次 Tab 键。如果系统中有多个硬盘,GRUB 将显示可能完成的列表,从 "hd0" 开始。如果只有一个硬盘,GRUB 将插入 "hd0,"。如果有多个硬盘,继续进行,在 ("hd2") 中输入名称并在名称后紧跟着输入逗号,但不要按 Enter 键。部分完成的 root 命令看起来如下: &i[zTc
©温农校友之家 -- 温农人自己的网上家园 A!+o
grub> root (hd0, %
©温农校友之家 -- 温农人自己的网上家园 op)lsz
现在,继续操作,再按一次 Tab 键。GRUB 将显示特定硬盘上所有分区的列表,以及它们的文件系统类型。在我的系统中,按 Tab 键时得到以下列表: qb.L2
©温农校友之家 -- 温农人自己的网上家园 z`
grub> root (hd0, (tab,按tab一下键) /H]YE|
Possible partitions are: l
Partition num: 0, Filesystem type is fat, partition type 0x6 8T;I\
Partition num: 2, Filesystem type is ext2fs, partition type 0x83 G~8
Partition num: 4, Filesystem type unknown, partition type 0x7 +C;t
Partition num: 5, Filesystem type is ext2fs, partition type 0x83 $@
Partition num: 6, Filesystem type is fat, partition type 0xb o-V5qC
Partition num: 7, Filesystem type is fat, partition type 0xb ~~tX
Partition num: 8, Filesystem type is ext2fs, partition type 0x83 tYj
Partition num: 9, Filesystem type unknown, partition type 0x82 OCe
©温农校友之家 -- 温农人自己的网上家园 &JM
如您所见,GRUB 的交互式硬盘和分区名称实现功能非常有条理。这些,只需要好好理解 GRUB 新奇的硬盘和分区命名语法,然后就可以继续操作了 fO*I
grub> root (hd0,8) nk.Cw]
现在已安装了 root 文件系统,到装入内核的时候了 :#k6jr
©温农校友之家 -- 温农人自己的网上家园 ?e+NF
grub> kernel /boot/vmlinuz-2.4.2 root=/dev/hda5 ro ~
[Linux-bzImage, setup=0x1200, size=0xe1a30] i9=K
©温农校友之家 -- 温农人自己的网上家园 aG
您已经安装了 root 文件系统并装入了内核。现在,可以引导了。只要输入 "boot",Linux 引导过程就将开始。是不是很cool啊,GRUB的menu.lst更像一个linux下的脚本程序。 Fq
©温农校友之家 -- 温农人自己的网上家园 )Bnq
©温农校友之家 -- 温农人自己的网上家园 0PCR&
##################### u~
# GRUB启动盘 # !
##################### $T`
要制作引导盘,需执行一些简单的步骤。首先,在新的软盘上创建 ext2 文件系统。然后,将其安装,并将一些 GRUB 文件复制到该文件系统,最后运行 "grub" 程序,它将负责设置软盘的引导扇区。准备好了吗? (~;
©温农校友之家 -- 温农人自己的网上家园 =^F'qo
将一张空盘插入 1.44MB 软驱,输入: +%
©温农校友之家 -- 温农人自己的网上家园 Vzzs
# mke2fs /dev/fd0 wN`r>
创建了 ext2 文件系统后,需要安装该文件系统: FA1=
©温农校友之家 -- 温农人自己的网上家园 LWfl
# mount /dev/fd0 /mnt/floppy #:
现在,需要创建一些目录,并将一些关键文件(原先安装 GRUB 时已安装了这些文件)复制到软盘: e5
©温农校友之家 -- 温农人自己的网上家园 k?
# mkdir /mnt/floppy/boot U6K!
# mkdir /mnt/floppy/boot/grub ` 提示符处,输入: ?cEb\%
©温农校友之家 -- 温农人自己的网上家园 &-
grub> root (fd0) eUX{
grub> setup (fd0) $k) #
grub> quit q.j[
©温农校友之家 -- 温农人自己的网上家园 jVi
现在,引导盘完成了。 eg$e
如果要把GRUB装到硬盘上,也很容易。这个过程几乎与引导盘安装过程一样。首先,需要决定哪个硬盘分区将成为 root GRUB 分区。在这个分区上,创建 /boot/grub 目录,并将 stage1 和 stage2 文件复制到该目录中,可以通过重新引导系统并使用引导盘,或者使用驻留版本的 GRUB 来执行后一步操作。在这两种情况下,启动 GRUB,并用 root 命令指定 root 分区。例如,如果将 stage1 和 stage2 文件复制到 hda5 的 /boot/grub 目录中,应输入 "root (hd0,4)"。接着,决定在哪里安装 GRUB -- 在硬盘的 MBR,或者如果与 GRUB 一起使用另一个“主”引导装入器,则安装在特定分区的引导记录中。如果安装到 MBR,则可以指定整个磁盘而不必指定分区,如下(对于 hda): v0VL
©温农校友之家 -- 温农人自己的网上家园 8
grub> setup (hd0) 6t#O1-
©温农校友之家 -- 温农人自己的网上家园 *
如果要将 GRUB 安装到 /dev/hda5 的引导记录中,应输入: &1]
©温农校友之家 -- 温农人自己的网上家园 +q
grub> setup (hd0,4) 3mR# i
©温农校友之家 -- 温农人自己的网上家园 "q-gZ
现在,已安装 GRUB。引导系统时,应该立即以 GRUB 的控制台方式结束(如果安装到 MBR)。现在,应创建引导菜单,这样就不必在每次引导系统时都输入那些命令。 ,
©温农校友之家 -- 温农人自己的网上家园 c](
©温农校友之家 -- 温农人自己的网上家园 s
©温农校友之家 -- 温农人自己的网上家园 c?hu
小结:在这里只是介绍了 GRUB 的一部分。例如,可以使用 GRUB 来执行网络引导,引导 BSD 文件系统,或更多操作。另外,GRUB 有许多配置和安全性命令也很有用。如需所有 GRUB 功能的完整描述,请阅读 GRUB 出色的 GNU 文档。只要在 bash 提示中输入 "info grub" 就可以阅读该文档。 y6u>
©温农校友之家 -- 温农人自己的网上家园 "
©温农校友之家 -- 温农人自己的网上家园 P
有用的一些信息:xosl是一个支持鼠标的图形界面boot loader,可以于system command和boot manager相比, DYN,nn
网址是www.xosl.org。 ]i
©温农校友之家 -- 温农人自己的网上家园 g
GRUB的下载:ftp://alpha.gnu.org/gnu/grub/ ponX
©温农校友之家 -- 温农人自己的网上家园 tMan@
©温农校友之家 -- 温农人自己的网上家园 I*+,'
再补充:三种硬盘安装方法的 grub 7>b
命令集(采用任何一种都可以的,随便你喜欢哪个方法): n
©温农校友之家 -- 温农人自己的网上家园 i[nWlV
1。用 hd.img 安装,这需要用到 grub for dos 的软盘仿真功能: 8u31
©温农校友之家 -- 温农人自己的网上家园 m8b
grub> map (hd0,0)/hd.img (fd0) `*:!
grub> chainloader (hd0,0)/hd.img `-X"v
grub> rootnoverify (fd0) F;Fv
grub> boot jxC!s>
©温农校友之家 -- 温农人自己的网上家园 Q^
2。用 vmlinuz 和 hd.rdz 两个文件来安装(无需使用 grub for dos,用 GNU 原来的 [dC%
GRUB 都管用): kernel (hd0,0)/vmlinuz ramdisk_size=128000 root=/dev/ram3 !:mjyD
automatic=method:disk acpi=ht vga=788 7C3w
grub> initrd (hd0,0)/hd.rdz t
grub> boot xI
注意 kernel 一行很长,不要截断成两行。还要注意上述命令都假定这些文件位于 e]
(hd0,0) 的根目录,如果你的不同,当然要作适当的修改 4
来源:LinuxEden tu-g{
©温农校友之家 -- 温农人自己的网上家园 cQUw
©温农校友之家 -- 温农人自己的网上家园 Cn
3.首先下载grub for dos(http://grub.linuxeden.com),其最新版本支持ntfs分区,而且可以利用ntloader调用,比如winxp的引导菜单. w:|.h3
提取grldr到c:/下; 383
修改boot.ini,加入 C:\GRLDR=Boot Grub (方法:在桌面我的电脑点右键--属性--高级--启动和故障恢复-设置--编辑,不用到c盘去找了,麻烦); cZ2
在c盘根目录下建立/boot/grub文件夹,建立menu.lst文本文件; f
把ML的iso放在vfat分区,提取mbvmlinuz,mbinitrd-hd.gz与iso都放在根目录下 ; )X
修改menu.lst,加入 /1~|1:
代码: Mc{1S
©温农校友之家 -- 温农人自己的网上家园 z
title Magci linux1.2-setup m`*I"z
kernel (hd0,6)/mbvmlinuz ro root=/dev/ram0 ramdisk_size=32000 vga=788 TvAq";
2,然后就可以利用原来的grub引导系统,当出现grub引导菜单的时候,根据下面的提示,按 "c",会出现命令行式的grub,然后按照一下格式 bT
输入:(以第一步中的位置为例) p?
kernel (hd0,0)/vmlinuz ramdisk_size=128000 root=/dev/ram3 automatic=method:disk acpi=ht vga=788 #注释,然后输入回车 ml5
initrd (hd0,0)/all.rdz #注释,然后输入回车 tx)r^l
boot #注释,然后输入回车 d
©温农校友之家 -- 温农人自己的网上家园 `
就可以看到引导安装开始了,方法A 结束。 Db)o
©温农校友之家 -- 温农人自己的网上家园 rDV
B,如果没有grub,但是有装好的windows(以winxp为例),也可以利用windows的c:盘下的boot.ini 结合 grub for dos引导安装。这里根据直接用winxp 引导 grub for dos,或者进入实dos再用grub for dos,可以分为一下两种情况。 x$jCLE
©温农校友之家 -- 温农人自己的网上家园 C
B1, winxp 的boot.ini + grub_for_dos中的grldr; H
在新版的grub_for_dos中,出现了一个文件grldr,它可以直接由winxp引导,实现引导grub,这样就不用安装grub了。方法如下: g
1, 把grub_for_dos中的grldr 和 boot目录拷贝到c盘,就是和boot.ini所在的分区的根目录下; +`
2,编辑boot.ini,在最后加上一行, b
C:\GRLDR="grub for dos" I6Z
3, 编辑boot/grub/menu.lst,如下: $
title mandriva install e&
kernel (hd0,0)/vmlinuz ramdisk_size=128000 root=/dev/ram3 automatic=method:disk acpi=ht vga=788 Q
initrd (hd0,0)/all.rdz AO)F$
注意,为了方便,也可以直接把menu.lst放在grldr所在的分区根目录。 ~u
4, 重启,然后在winxp的引导菜单选grub for dos就可以引导安装了。 7WiV
©温农校友之家 -- 温农人自己的网上家园 \r_r
B2, winxp的boot.ini + vfloppy + grub_for_dos LiO
1,这种方法是首先在winxp中安装vfloppy,方法就不介绍了,这样在winxp引导菜单中选vfloppy对应的项,就可以进入实dos中了; xWOJ*@
2,在dos中运行grub_for_dos中的grub.exe,可以直接指定由B1中编辑好的menu.lst,这样比较方便: sh
grub --config-file=(hd0,0)/boot/grub/menu.lst ,运行就可以引导安装了。 TzGC"
©温农校友之家 -- 温农人自己的网上家园 d~1
©温农校友之家 -- 温农人自己的网上家园 p;oVvj
对于方法A和B,当引导安装开始后,只要指定系统安装所需的iso文件所需的位置就可以了。 ?}
©温农校友之家 -- 温农人自己的网上家园 {sj!7{
以上方法所需要的软件,可以在这里下载,http://lsec.cc.ac.cn/~peace/service/software/win4linux.rar ,当然也可以在网上下载更新 L*-
的版本。 J$o
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/553/showart_90858.html
Linux 操作系统启动流程以及trouble shooting思路
让冤家们和睦相处――Linux和Windows双重系统搭建参考
内核相关资源(zz)
以淘汰��安� Linux 做�伺服器分享 ADSL 的��
AVR�片机CRC校��的查表与直接生成
用LILO轻松实现多重启动
Oracle数据库技术(11)
MySQL文件系统先睹为快(1)
更改Oracle用户名及外部用户验证的授权问题
比较部分联机备份和常规操作生成的redo
免责声明:
1、本文系本网编辑转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
2、如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除内容
1、本文系本网编辑转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
2、如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除内容
FAT32系统文件介绍
Linux下Apache Proxy与Cache功能的配置
Linux引导过程解析、系统运行级别、服务管理、GRUB配置应用、系统启动故障修复
GRUB详解
Oracle9i初始化参数中文说明(16)
BIOS和DOS建立的中断向量表
Windows下查看、读取ext2、ext3分区
LINUX新手入门及安装配置faq200(上)
新手入门-LINUX
GRUB 入门
(转载): grub的恢复
linux系统管理员讲义(5)
USB电话录音产品,电话录音产品,电话录音设备,电话录音
GRUB 入门 [转自developerWorks Linux 专区(IBM)]
重装win后恢复grub----原来是如此简单!
耶��上�哥白尼��在�的�播
使用 iptables 建置 Linux 防火�
命令Man解释:mkfs:建立Linux文件系统
X Window 程式设计入门(1)