当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 硬盘安装用哪个grub好?
帖子发表于 : 2006-08-24 22:49 

注册: 2006-08-14 20:53
帖子: 15
送出感谢: 0 次
接收感谢: 0 次
我现在用的是win XP2,想硬盘安装linux,过些时候有ubuntu安装CD再光盘安装。
上网搜索一下,居然发现有grub、grub4dos、wingrub之分。请问它们现在都分别发展到什么版本号了?请大侠推荐一下该用哪个版本号的grub、grub4dos或wingrub。
有不少介绍grub的文章都提到一个叫“grldr”的文件,硬盘安装的时候要把这个文件复制到C盘根目录下,还有一些文章同时提到一个叫boot的文件夹,但另一些文章却没有说要把boot复制,只需复制grldr就可以了,这到底是怎么回事?
还有引导ubuntu安装的grldr(grub)文件能拿来引导安装suse吗?它们是通用的吗?
搞不明白grub和grldr到底什么关系!


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2006-08-24 23:01 

注册: 2006-08-22 8:17
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
同样困惑,同样需要指点。希望能够得到指点。


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2006-08-24 23:20 
头像

注册: 2006-07-15 11:20
帖子: 990
地址: 枫叶刀市
送出感谢: 2
接收感谢: 0 次
贴出来分享一下:

GRUB入门教程

==============================

目录:

1. 教程提示

2. GRUB 基础

3. 安装 GRUB

4. 使用 GRUB

5. GRUB 内幕

6. 总结

==============================



第一章 教程提示



我应该学习这门教程吗?



本教程向您显示如何安装和使用 GRUB (Grand Unified Boot Loader)。就像 LILO 一样,GRUB 允许引导 Linux 系统,它负责装入和引导内核。但与 LILO 不同,GRUB 的功能非常多,更易于使用,更可靠和灵活,而且非常小巧。



如果已经有些熟悉 LILO,并了解了磁盘分区的基本知识,那么您就掌握了学习本教程应具备的预备知识。通过学习本教程和安装 GRUB 之后,您将改进 Linux 系统的可靠性和可用性。



如果只是想尝试 GRUB,可以学习本教程的前半部分,并制作 GRUB 引导盘,然后练习使用它来引导系统。这样做以后,您将学会在紧急情况下如何使用 GRUB 来引导系统。



但是,如果想更深入地体验 GRUB,可以学完整个教程,它将为您演示如何将 GRUB 设置成缺省引导装入器。



第二章 GRUB 基础



什么是 GRUB?



GRUB 是引导装入器 -- 它负责装入内核并引导 Linux 系统。GRUB 还可以引导其它操作系统,如 FreeBSD、NetBSD、OpenBSD、GNU HURD 和 DOS,以及 Windows 95、98、NT 和 2000。尽管引导操作系统看上去是件平凡且琐碎的任务,但它实际上很重要。如果引导装入器不能很好地完成工作或者不具有弹性,那么就可能锁住系统,而无法引导计算机。另外,好的引导装入器可以给您灵活性,让您可以在计算机上安装多个操作系统,而不必处理不必要的麻烦。



GRUB 很棒



幸好,GRUB 是一个很棒的引导装入器。它有许多功能,可以使引导过程变得非常可靠。例如,它可以直接从 FAT、minix、FFS、ext2 或 ReiserFS 分区读取 Linux 内核。这就意味着无论怎样它总能找到内核。另外,GRUB 有一个特殊的交互式控制台方式,可以让您手工装入内核并选择引导分区。这个功能是无价的:假设 GRUB 菜单配置不正确,但仍可以引导系统。哦,对了 -- GRUB 还有一个彩色引导菜单。我们只是刚开始。



为什么使用 GRUB?



您也许会奇怪,为什么全世界都需要 GRUB -- 毕竟,Linux 世界在很长一段时间里一直使用 LILO 引导装入器,而且它可以让上百万的 Linux 用户引导系统。是的,的确是这样,LILO 很有效。但是,LILO 的维修率很高,而且很不灵活。与其花很多时间来描述 GRUB 的优点,还不如演示如何创建自己的 GRUB 引导盘以及如何使用它来引导系统。然后,我将说明 GRUB 的一些很“酷”的技术细节,并指导您完成将 GRUB 安装到 MBR(主引导记录)的过程,以使它成为缺省引导装入器。



如果您有点胆小,不必害怕。可以学习本教程的前半部分,创建 GRUB 引导盘,尝试使用 GRUB 而不必弄乱现有的引导装入器。或者,可以用其安全的“驻留”方式来熟悉 GRUB。那么,让我们立即开始吧。



第三章 安装 GRUB



下载 GRUB



要开始探究 GRUB 的精妙之处,首先需要下载、编译和安装它。但不要害怕 -- 根本不会修改您的引导记录 -- 我们只是要编译和安装 GRUB,就像其它程序一样,在此过程中我们可以创建 GRUB 引导盘。请不要担心;在修改引导过程之前,我会告诉您。



现在开始。访问 ftp://alpha.gnu.org/gnu/grub/ 并下载可以找到的最新版本的 GRUB tar 压缩包。我编写本教程时,最新的 tar 压缩包是 grub-0.5.96.1.tar.gz。下载了最新版本后,就可以安装了。



安装步骤



这里是从 tar 压缩包安装 GRUB 所需输入的命令。我将在 /tmp 中编译源文件,并将所有部分都安装到硬盘的 /usr 目录下。从 root 用户,输入以下命令:



# cd /tmp

# tar xzvf /path/to/archive/here/grub-0.5.96.1.tar.gz

# cd grub-0.5.96.1

# ./configure --prefix=/usr

# make

# make install



现在已经安装了 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 /usr/share/grub/i386-pc/stage1 /mnt/floppy/boot/grub

# cp /usr/share/grub/i386-pc/stage2 /mnt/floppy/boot/grub



只需要再有一个步骤,就能得到可用的引导盘。



制作引导盘,第三部分



解压、编译和安装 GRUB 源 tar压缩包时,会将程序 grub 放到 /usr/sbin 中。该程序非常有趣并值得注意,因为它实际上是 GRUB 引导装入器的半功能性版本。是的,尽管 Linux 已经启动并正在运行,您仍可以运行 GRUB 并执行某些任务,而且其界面与使用 GRUB 引导盘或将 GRUB 安装到硬盘 MBR 时看到的界面完全相同。



这是有趣的设计策略,现在该使用驻留版本的 GRUB 来设置引导盘的引导扇区了。从 root 用户,输入 "grub"。GRUB 控制台将启动,显示如下:



GRUB version 0.5.96.1 (640K lower / 3072K upper memory)



[ Minimal BASH-like line editing is supported. For the first word, TAB

lists possible command completions. Anywhere else TAB lists the possible

completions of a device/filename. ]



grub>



欢迎使用 GRUB 控制台。现在,研究命令。



制作引导盘,第四部分



在 grub> 提示符处,输入:



grub> root (fd0)

grub> setup (fd0)

grub> quit



现在,引导盘完成了。在继续下一步骤之前,在看一下刚才输入的命令。第一个 "root" 命令告诉 GRUB 到哪里查找辅助文件 stage1 和 stage2。缺省情况下,GRUB 会在指定的分区或磁盘上的 /boot/grub 目录中进行查找。在安装引导盘时,也就是几分钟以前,我们已将这些文件复制到正确的位置。接着,输入了 setup 命令,它告诉 GRUB 将引导装入器安装到软盘的引导记录上;我们将在以后详细讨论这一过程。然后退出。现在,已经制作好引导盘,可以开始使用 GRUB 了。



第四章 使用 GRUB



准备



使用 GRUB 引导系统之前,需要知道一些信息。首先,应知道哪个分区保存了 Linux 内核,以及 root 文件系统的分区名称。然后,应查看现有 LILO 配置来寻找需要传递给内核的变量,如 "mem=128M"。一旦获取了这些信息,就可以开始了。



启动 GRUB



要启动 GRUB,需要关闭系统并退出引导盘。如果由于某些原因而不能立即关闭系统(比如上班时在部门的服务器上测试 GRUB),那么只要在提示中输入 "grub" 并继续操作。所有程序的运行情况都不会改变,只是您不能执行引导(因为 Linux 正在运行)。



首次接触



装入引导盘时,在屏幕顶部将出现一条消息,告诉您正在装入第一阶段和第二阶段。几秒后,将会出现一个熟悉的屏幕,显示如下:



GRUB version 0.5.96.1 (640K lower / 3072K upper memory)



[ Minimal BASH-like line editing is supported. For the first word, TAB

lists possible command completions. Anywhere else TAB lists the possible

completions of a device/filename. ]



grub>



可以看到,这些内容与在 Linux 中以驻留方式运行 GRUB 时出现的消息完全相同 -- 只不过现在我们是使用 GRUB 来引导 Linux。



"root"



在 Linux 中,当谈到 "root" 文件系统时,通常是指主 Linux 分区。但是,GRUB 有它自己的 root 分区定义。GRUB 的 root 分区是保存 Linux 内核的分区。这可能是您的正式 root 文件系统,也可能不是。例如,在 Gentoo Linux 中,有一个单独的小分区专用于保存 Linux 内核与引导信息。大多数情况下,我们不安装这个分区,这样在系统意外崩溃或重新引导时,就不会把它弄乱。



"root",第二部分



这些,我们讨论的是 GRUB,需要指定 GRUB 的 root 分区。进入 root 分区时,GRUB 将把这个分区安装成只读型,这样就可以从该分区中装入 Linux 内核。GRUB 的一个很“酷”的功能是它可以读取本机的 FAT、FFS、minix、ext2 和 ReiserFS 分区,我们很快就会讨论这个功能。但现在,让我们输入 root 分区。在提示中输入 root,但不要按 Enter 键:



grub> root (



现在,按一次 Tab 键。如果系统中有多个硬盘,GRUB 将显示可能完成的列表,从 "hd0" 开始。如果只有一个硬盘,GRUB 将插入 "hd0,"。如果有多个硬盘,继续进行,在 ("hd2") 中输入名称并在名称后紧跟着输入逗号,但不要按 Enter 键。部分完成的 root 命令看起来如下:



grub> root (hd0,



"root",第三部分



现在,继续操作,再按一次 Tab 键。GRUB 将显示特定硬盘上所有分区的列表,以及它们的文件系统类型。在我的系统中,按 Tab 键时得到以下列表:



grub> root (hd0, (tab)

Possible partitions are:

Partition num: 0, Filesystem type is ext2fs, partition type 0x83

Partition num: 1, Filesystem type unknown, partition type 0x82

Partition num: 2, Filesystem type unknown, partition type 0x7

Partition num: 4, Filesystem type is reiserfs, partition type 0x83

Partition num: 5, Filesystem type is reiserfs, partition type 0x83



如您所见,GRUB 的交互式硬盘和分区名称实现功能非常有条理。这些,只需要好好理解 GRUB 新奇的硬盘和分区命名语法,然后就可以继续操作了。



GRUB 命名约定



到目前为止,您可能会感到一点困惑,因为 GRUB 所使用的硬盘/分区命名约定与 Linux 使用的命名约定不同。在 Linux 中,第一个硬盘的第五个分区称作 "hda5"。而 GRUB 把这个分区称作 "(hd0,4)"。GRUB 对硬盘和分区的编号都是从 0 开始计算。另外,硬盘和分区都用逗号分隔,整个表达式用括号括起。现在,回来看一下 GRUB 提示,可以发现如果要引导 Linux 硬盘 hda5,应输入 "root (hd0,4)"。如果已经明白了 GRUB 硬盘/分区命名,您也许要调整当前 root 命令行,以使它指向保存 Linux 内核的分区。按以下格式输完命令,然后按 Enter 键:



grub> root (hd0,4) (hit enter)

Filesystem type is reiserfs, partition type 0x83



装入内核



现在已安装了 root 文件系统,到装入内核的时候了。在 GRUB 提示中,依次输入 "kernel"、空格、到内核的路径、空格、内核参数,如 root 参数(GRUB 将自动插入适当的 "mem=" 参数)。我在我的系统中输入:



grub> kernel /boot/bz2.4 root=/dev/hda5

[Linux-bzImage, setup=0x1200, size=0xe1a30]



请留意 "root=" 内核参数,它非常重要。它应该指向保存 root 文件系统的 Linux 分区。您也许要写下到目前为止输入的命令,这样在教程后面讲述如何创建 GRUB 引导菜单时,就可以迅速找到它们。



Root,内核,引导!



您已经安装了 root 文件系统并装入了内核。现在,可以引导了。只要输入 "boot",Linux 引导过程就将开始。



第五章 GRUB 内幕



重新调查引导软盘



如果一切正常,就可以使用使用 GRUB 引导盘来引导当前 Linux 发行版。如您所见,GRUB 是功能非常强大的引导装入器,它让您可以随意动态配置以进行引导。我将向您介绍如何创建 GRUB 引导菜单,这样就可以从菜单中进行 OS 选择,而不是输入三行命令来引导 Linux。但在动手之前,现在是深入了解 GRUB 幕后是如何工作的好时机。我将说明引导盘引导过程的工作原理,这样您就可以对 GRUB 有一个更好的评价和了解。



两阶段过程



要制作引导软盘,需要做两件事 -- 将文件复制到软盘的 ext2 文件系统的 /boot/grub 目录中,运行 GRUB 的安装程序。运行 GRUB 安装程序时,GRUB 将 "stage 1" 装入器安装到软盘的引导记录中。它还将 stage 1 装入器配置成从 ext2 文件系统直接装入 stage2。通常,GRUB 通过在包含 stage2 数据的软盘上创建一列块来完成此操作,这样 stage1 装入 stage2 时不必知道 ext2 文件系统的任何情况。



但是,大多数情况下,GRUB 在安装完 stage1 之后,会立即将 stage1.5 装入器安装到引导记录中。这个特殊的 stage1.5 允许无需使用原始块列表就能从 ext2 文件系统装入 stage2,却要更灵活的标准基于路径的方法。GRUB 理解文件系统结构的这一能力使 GRUB 比 LILO 更强壮。例如,如果正好在整理引导盘文件系统的碎片,stage1 就可以找到 stage2(归功于 ext2 stage1.5)。而 LILO 就不能完成此项操作。因为 LILO 只能依赖于映射文件,每次更新内核或在磁盘上物理移动数据时,即使不更改路径,也需要重新运行它。



阶段 1、1.5 和 2



您也许会想知道:如果使用 FAT 而不是 ext2 文件系统创建引导盘,GRUB 是否可以工作。是的,它可以工作,因为在输入 "setup (fd0)" 时,GRUB 会安装与 root 文件系统类型匹配的 stage1.5。即使没有没有空间可以安装 stage1.5,GRUB 仍可以通过追溯到更原始的块列表,来装入 stage2。



搜索和恢复



在继续讨论之前,先研究一个与引导软盘相关的实用提示。由于 GRUB 的交互式性质,它为恢复软盘生成了一个很好的引导装入器。但是,如果将好的内核复制到引导盘上,那它就更好了。那样,即使硬盘上的内核坏了或者被意外删除了,也可以追溯到引导盘内核,并启动和运行系统。要将备用内核复制到引导盘,执行以下操作:



# mount /dev/fd0 /mnt/floppy

# cp /path/to/bzImage /mnt/floppy/boot

# umount /dev/fd0



现在,软盘已包含备用内核,可以在 GRUB 中使用它来引导 Linux 发行版,操作如下:



grub> root (fd0)

grub> kernel /boot/bzImage root=/dev/hda5 (将 /dev/hda5 更改成想要引导的分区名称)

grub> boot



硬盘引导



好,现在如何将 GRUB 安装到硬盘上?这个过程几乎与引导盘安装过程一样。首先,需要决定哪个硬盘分区将成为 root GRUB 分区。在这个分区上,创建 /boot/grub 目录,并将 stage1 和 stage2 文件从 /usr/share/grub/i386-pc 复制到该目录中。可以通过重新引导系统并使用引导盘,或者使用驻留版本的 GRUB 来执行后一步操作。在这两种情况下,启动 GRUB,并用 root 命令指定 root 分区。例如,如果将 stage1 和 stage2 文件复制到 hda5 的 /boot/grub 目录中,应输入 "root (hd0,4)"。现在,只差一步。



硬盘引导,续



接着,决定在哪里安装 GRUB -- 在硬盘的 MBR,或者如果与 GRUB 一起使用另一个“主”引导装入器,则安装在特定分区的引导记录中。如果安装到 MBR,则可以指定整个磁盘而不必指定分区,如下(对于 hda):



grub> setup (hd0)



如果要将 GRUB 安装到 /dev/hda5 的引导记录中,应输入:



grub> setup (hd0,4)



现在,已安装 GRUB。引导系统时,应该立即以 GRUB 的控制台方式结束(如果安装到 MBR)。现在,应创建引导菜单,这样就不必在每次引导系统时都输入那些命令。



引导菜单



要创建菜单,只需在 /boot/grub 中创建一个简单的文本文件 menu.lst。如果将它放在正确位置,它将在 root GRUB 驱动器的 stage1 和 stage2 文件的旁边。这里是一个样本 menu.lst 文件,可以将它作为一个您的菜单的基础:



default 0

timeout 30

color white/blue blue/green



title=Boot Linux

root (hd0,4)

kernel /boot/bzImage root=/dev/hda5



title=Boot Linux using initrd

root (hd0,5)

kernel /boot/bzImage root=/dev/loop0 init=/initdisk.gz

initrd /initdisk.gz



title=Windows NT

root (hd0,3)

chainloader +1



我将在以下的屏面中说明 menu.lst 格式。



理解引导菜单



引导菜单很容易理解。前三行设置缺省菜单项(项目号 0,第一个)、设置超时值(30 秒),并选择整个菜单的一些颜色。



接着的三行配置 "Boot Linux" 菜单项。要创建手工引导命令系列之外的菜单项,只要添加一行 "title=" 作为第一行,并从最后一行中除去 "boot" 命令(GRUB 会自动添加这个命令)。



接着的四行显示了如何使用 GRUB 来引导 initrd(初始 root 磁盘),如果您愿意的话。现在,讨论最后三行……



链式装入器



这里是示例 menu.lst 的最后三行……



title=Windows NT

root (hd0,3)

chainloader +1



这里,我添加了一项来引导 Windows NT。要完成此操作,GRUB 使用了“链式装入器”。链式装入器从分区 (hd0,3) 的引导记录中装入 NT 自己的引导装入器,然后引导它。这就是这种技术叫做链式装入的原因 -- 它创建了一个从引导装入器到另一个的链。这种链式装入技术可以用于引导任何版本的 DOS 或 Windows。

 

第六章 总结



GRUB 的弹性



GRUB 最好的优点之一就是其强健的设计 -- 在不断使用它时请别忘了这点。如果更新内核或更改它在磁盘上的位置,不必重新安装 GRUB。事实上,如有必要,只要更新 menu.lst 文件即可,一切将保持正常。



只有少数情况下,才需要将 GRUB 引导装入器重新安装到引导记录。首先,如果更改 GRUB root 分区的分区类型(例如,从 ext2 改成 ReiserFS),则需要重新安装。或者,如果更新 /boot/grub 中的 stage1 和 stage2 文件,由于它们来自更新版本的 GRUB,很有可能要重新安装引导装入器。其它情况下,可以不必理睬!



优秀的 GRUB 参考资料



我们在这里只是介绍了 GRUB 的一部分。例如,可以使用 GRUB 来执行网络引导,引导 BSD 文件系统,或更多操作。另外,GRUB 有许多配置和安全性命令也很有用。如需所有 GRUB 功能的完整描述,请阅读 GRUB 出色的 GNU 文档。只要在 bash 提示中输入 "info grub" 就可以阅读该文档。



希望您喜欢本教程,喜欢 GRUB (Grand Unified Boot Loader) 的强大功能和灵活性!





删除GRUB

起动 DOS ,



fdisk /mbr 清除 MBR 就行了



些命令我也看不懂,希望以后能看懂吧!

一、菜单命令

菜单命令只能用于grub配置文件的全局配置部分,不能用在grub命令行交互界面,菜单命令在配置文件中应放在其它命令之前。

1、default //设置默认启动的菜单项

2、fallback //设置启动某菜单项失败后反回的菜单项

3、hiddenmenu //隐藏菜单界面

4、timeout //设置菜单自动启动的延时时间

5、title //开始一个菜单项

二、常规命令

常规命令可以应该于配置文件和grub命令行交互界面,可使用的常规命令有

1、bootp //通过bootp初始化网络设备

2、color //设置菜单界面的颜色

3、device //指定设备文件作为驱动器

4、dhcp //通过DHCP初始化网络设备

5、hide //隐藏某分区

6、ifconfig //手工配置网络设备

7、pager //改变内部页程序的状态

8、partnew //新建一个主分区

9、parttype //改变分区的类型

10、password 为菜单界面设置口令

11、rarp //通过RARP初始化网络设置

12、serial //设置串口设备

13、setkey //设置键盘映射

14、splashimage //设置GRUB启动时的背景图片文件

15、termainal //选择终端类型

16、tftpserver //指定TFTP服务器

17、unhide //还原某隐藏分区

三、命令行和菜单项命令

命令行和菜单项命令可应该于GRUB配置文件的菜单项设置中,也可以用在GRUB命令交互界面。

1、bolcklist //显示某文件所在分区位置(block list notation)

2、boot //启动操作系统

3、cat //显示文件内容

4、chainloader //把启动控制权软交给另外的启动引导器

5、cmp //比较两个文件

6、configfile //加载已存在的GRUB配置文件

7、debug //设置为debug模式

8、displayapm //显示APM BIOS信息

9、displaymem //显示内存配置

10、embed //嵌入Stage 1.5文件

11、find //查找包括某文件的所有设备

12、fstest //测试文件系统

13、geometry //显示某驱动器的物理信息

14、halt //停止计算机运行(软件关机)

15、help //显示GRUB的命令帮助信息

16、impsprobe //查询对称多处理器(SMP)的信息

17、initrd //加载initrd文件

18、install //安装GRUB

19、ioprobe //查询某驱动器的输入输出(I/O)端口

20、kernel //引导操作系统内核

21、lock //锁定某GRUB导菜单项,使其输入密码后才可启动

22、makeactive //激活某主分区

23、map //虚拟映射某驱动器

24、md5crypt //使用MD5加密口令

25、module //加载模块

26、modulenounzip //加载模块不进行解压

27、pause //暂停并等待按键

28、quit //退出GRUB

29、reboot //重新启动计算机

30、read //读取内存中的内容

31、root //设置GRUB的root设备

32、rootnoverify //设备GRUB的root设备但不装载文件系统

33、savedefault //保存当前的启动菜单项为默认启动

34、setup //自动安装GRUB

35、testload //从文件系统中测试读取某文件

36、testvbe //测试VESA BIOS EXTENSION

37、uppermem //强制设置主机上位内存的大小

38、vbeprobe //查询VESA BIOS EXTENSION信息





:D :D :D


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2006-08-24 23:40 
头像

注册: 2005-05-19 18:38
帖子: 1991
地址: 湖南永州
送出感谢: 0 次
接收感谢: 1
其实就是一个 grub4dos , 主要由 grub.exe grldr 及 boot文件夹等组成

grub.exe 是在纯 DOS 下用的,

grldr 是在winxp 等下用的,由 c:/ntldr 调用,(c:/ntldr 是 MS 的引导器)

boot文件夹主要是放其它文件(如内核,字体,背景图等)与配置文件 menu.lst。

wingrub 是在 grub4dos 基础上加了win下的桌面程序,可方便的安装和配置 grub。

下载:
http://sourceforge.net/projects/grub4dos/

grub4dos里有个中文说明,可以看看


.


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2006-08-25 0:07 

注册: 2006-06-06 16:55
帖子: 69
送出感谢: 0 次
接收感谢: 0 次
grub是一个可以实现多系统引导的boot loader,(中文应该叫引导装载器?这个中文名称偶还真没留意过),负责装入和引导系统内核;为了好理解呢你可以想一下windows下的nt loader(就是引导进入windows操作系统启动的那个东东,呵呵,专业术语偶也不晓得),就好比说,你装了一个或几个操作系统,在机器通了电之后它怎么知道要去启动这个操作系统或这些操作系统中的哪一个啊,就靠这个loader来引导了;
BIOS加电自检后,就要从第一硬盘的最开始几个扇区里(这里肯定要有一个boot loader,确切的说这里应该是一个boot loader的一部分,如果装到软盘里每次用软盘启动机器另说哈),
grub会负责去找到内核(那个启动用的menu.lst其实是grub的一部分),这和你提到的boot文件夹有些关系了,也就是说你在做这个硬盘安装的时候可以把boot目录弄到任何地方,或者不要它

事实上grub不只是我们看到的开机后的一个启动菜单,还是一个命令环境,有一个特殊的交互式的供用户输入命令的控制台(简单起见,可以想像一下以前的DOS,只是这样的类比不等同),这又保证了即使启动菜单(如menu.lst)配置不正确仍然能通过手工输入正确引导系统;而硬盘安装方式中,都会提到在grub>下面输入boot什么的,就是用得这个命令环境哈

说了这么多,然后再说下面的grldr
至于grldr,就是grub for dos,所以才可以用那句c:\grldr="grub",c:\grldr很明显就是windows的调用写法,盘符路径加文件名,后面的“grub"你可以任意起名字;而这个c:\grldr="grub"是windows系统中NT Loader的格式,看看boot.ini的内容就明白了,而boot.ini是NT Loader的一部分;之后重启会就会进入grub>环境;vmlinuz就是内核了(vmlinuz是可引导的、压缩的内核),kernel (hd0,0)/vmlinuz就是告诉这个内核在第一个硬盘的第一个分区上(应该知道那个boot文件夹的事了吧),
initrd一般被用来临时引导硬件到实际内核vmlinuz能够接管并继续引导下去,因为内核vmlinuz中可能并没有某个硬件A的驱动,但是在装载A这个硬件之前,内核可能不能加载根文件系统,为了解决这个问题,就要用到initrd这个内核喽

***********************
罗里罗嗦了一大堆,不知道对楼主的问题是否用帮助,有些东西是以前看过希望没有记错的地方


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2006-08-25 0:49 

注册: 2006-06-06 16:55
帖子: 69
送出感谢: 0 次
接收感谢: 0 次
忘了说楼主的另一个问题,grub可以引导我们见到绝大数操作系统,包括suse,硬盘安装的时候grldr也可以,但要换成suse安装的linux和initrd(据说这一步都可以省略)

楼主的意思好像在说系统安装完之后GRUB可不可以引志suse?
答案当然是肯定的,可以;因为GRUB是boot loader,在找到你的系统并引导后,控制权就交给这些操作系统了,真正的启动过程是这些操作系统完成的,GRUB类似于一个指路人帮助找到并装载系统入口,之后就不归它管了


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2006-08-25 1:05 
头像

注册: 2006-07-08 9:21
帖子: 1917
地址: University of Science and Technology Beijing
送出感谢: 1
接收感谢: 0 次
哪个都不差


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2006-08-25 21:13 
头像

注册: 2006-07-02 22:13
帖子: 258
地址: 山东
送出感谢: 0 次
接收感谢: 0 次
谢谢大家的 介绍 我 也学习了


_________________
路漫漫其修远兮
吾将上下而求索

我是新手 老鸟多照顾 我要学习学习!!!


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译