今天上了引导程序:GRUB 关于linux里面引导程序 grub

\u7535\u8111\u5f00\u673a\u51fa\u6765grub\u4ec0\u4e48\u610f\u601d\uff1f

\u7535\u8111\u5f00\u673a\u51fa\u73b0\u8fd9\u4e2a\u8bf4\u660e\u4f60\u7535\u8111\u5b89\u88c5\u6709\u591a\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u3002
\u4f60\u53ef\u4ee5\u9009\u62e9\u4f7f\u7528\uff0c\u4e5f\u53ef\u4ee5\u5220\u9664\u5176\u4ed6\u51e0\u4e2a\uff0c\u53ea\u7559\u4e0b\u4e00\u4e2a\u3002
GNU GRUB\uff08GRand Unified Bootloader\u7b80\u79f0\u201cGRUB\u201d\uff09\u662f\u4e00\u4e2a\u6765\u81eaGNU\u9879\u76ee\u7684\u591a\u64cd\u4f5c\u7cfb\u7edf\u542f\u52a8\u7a0b\u5e8f\u3002GRUB\u662f\u591a\u542f\u52a8\u89c4\u8303\u7684\u5b9e\u73b0\uff0c\u5b83\u5141\u8bb8\u7528\u6237\u53ef\u4ee5\u5728\u8ba1\u7b97\u673a\u5185\u540c\u65f6\u62e5\u6709\u591a\u4e2a\u64cd\u4f5c\u7cfb\u7edf\uff0c\u5e76\u5728\u8ba1\u7b97\u673a\u542f\u52a8\u65f6\u9009\u62e9\u5e0c\u671b\u8fd0\u884c\u7684\u64cd\u4f5c\u7cfb\u7edf\u3002GRUB\u53ef\u7528\u4e8e\u9009\u62e9\u64cd\u4f5c\u7cfb\u7edf\u5206\u533a\u4e0a\u7684\u4e0d\u540c\u5185\u6838\uff0c\u4e5f\u53ef\u7528\u4e8e\u5411\u8fd9\u4e9b\u5185\u6838\u4f20\u9012\u542f\u52a8\u53c2\u6570\u3002

\u6269\u5c55\u8d44\u6599
\u7535\u8111\u7a0b\u5e8f
\u7b80\u5355\u8bf4\uff0c\u8ba1\u7b97\u673a\u7a0b\u5e8f\u5c31\u662f\u8ba1\u7b97\u673a\u6267\u884c\u6307\u4ee4\u7684\u4e00\u4e2a\u5e8f\u5217\u3002\u5b83\u65e2\u53ef\u4ee5\u53ea\u662f\u51e0\u6761\u6267\u884c\u67d0\u4e2a\u7b80\u5355\u4efb\u52a1\u7684\u6307\u4ee4\uff0c\u4e5f\u53ef\u80fd\u8981\u64cd\u4f5c\u5de8\u5927\u6570\u636e\u91cf\u7684\u590d\u6742\u6307\u4ee4\u961f\u5217\u3002\u8bb8\u591a\u8ba1\u7b97\u673a\u7a0b\u5e8f\u5305\u542b\u6709\u767e\u4e07\u8ba1\u7684\u6307\u4ee4\uff0c\u800c\u5176\u4e2d\u5f88\u591a\u6307\u4ee4\u53ef\u80fd\u88ab\u53cd\u590d\u6267\u884c\u3002
\u57282005\u5e74\uff0c\u4e00\u53f0\u5178\u578b\u7684\u4e2a\u4eba\u7535\u8111\u53ef\u4ee5\u6bcf\u79d2\u6267\u884c\u5927\u7ea630\u4ebf\u6761\u6307\u4ee4\u3002\u8ba1\u7b97\u673a\u901a\u5e38\u5e76\u4e0d\u4f1a\u6267\u884c\u4e00\u4e9b\u5f88\u590d\u6742\u7684\u6307\u4ee4\u6765\u83b7\u5f97\u989d\u5916\u7684\u673a\u80fd\uff0c\u66f4\u591a\u5730\u5b83\u4eec\u662f\u5728\u6309\u7167\u7a0b\u5e8f\u5458\u7684\u6392\u5217\u6765\u8fd0\u884c\u90a3\u4e9b\u8f83\u7b80\u5355\u4f46\u4e3a\u6570\u4f17\u591a\u7684\u77ed\u6307\u4ee4\u3002
\u4e00\u822c\u60c5\u51b5\u4e0b\uff0c\u7a0b\u5e8f\u5458\u4eec\u662f\u4e0d\u4f1a\u76f4\u63a5\u7528\u673a\u5668\u8bed\u8a00\u6765\u4e3a\u8ba1\u7b97\u673a\u5199\u5165\u6307\u4ee4\u7684\u3002\u90a3\u4e48\u505a\u7684\u7ed3\u679c\u53ea\u80fd\u662f\u8d39\u65f6\u8d39\u529b\u3001\u6548\u7387\u4f4e\u4e0b\u800c\u4e14\u6f0f\u6d1e\u767e\u51fa\u3002\u6240\u4ee5\uff0c\u7a0b\u5e8f\u5458\u4e00\u822c\u901a\u8fc7\u201c\u9ad8\u7ea7\u201d\u4e00\u4e9b\u7684\u8bed\u8a00\u6765\u5199\u7a0b\u5e8f\uff0c\u7136\u540e\u518d\u7531\u67d0\u4e9b\u7279\u522b\u7684\u8ba1\u7b97\u673a\u7a0b\u5e8f\uff0c\u5982\u89e3\u91ca\u5668\u6216\u7f16\u8bd1\u5668\u5c06\u4e4b\u7ffb\u8bd1\u6210\u673a\u5668\u8bed\u8a00\u3002
\u4e00\u4e9b\u7f16\u7a0b\u8bed\u8a00\u770b\u8d77\u6765\u5f88\u63a5\u8fd1\u673a\u5668\u8bed\u8a00\uff0c\u5982\u6c47\u7f16\u7a0b\u5e8f\uff0c\u88ab\u8ba4\u4e3a\u662f\u4f4e\u7ea7\u8bed\u8a00\u3002\u800c\u53e6\u4e00\u4e9b\u8bed\u8a00\uff0c\u5982\u5373\u5982\u62bd\u8c61\u539f\u5219\u7684Prolog\uff0c\u5219\u5b8c\u5168\u65e0\u89c6\u8ba1\u7b97\u673a\u5b9e\u9645\u8fd0\u884c\u7684\u64cd\u4f5c\u7ec6\u8282\uff0c\u53ef\u8c13\u662f\u9ad8\u7ea7\u8bed\u8a00\u3002
\u5bf9\u4e8e\u4e00\u9879\u7279\u5b9a\u4efb\u52a1\uff0c\u5e94\u8be5\u6839\u636e\u5176\u4e8b\u52a1\u7279\u70b9\uff0c\u7a0b\u5e8f\u5458\u6280\u80fd\uff0c\u53ef\u7528\u5de5\u5177\u548c\u5ba2\u6237\u9700\u6c42\u6765\u9009\u62e9\u76f8\u5e94\u7684\u8bed\u8a00\uff0c\u5176\u4e2d\u53c8\u4ee5\u5ba2\u6237\u9700\u6c42\u6700\u4e3a\u91cd\u8981\u3002
GNU GRUB \u548cGRUB\u662fGRand Unified Bootloader\u7684\u7f29\u5199\uff0c\u5b83\u662f\u4e00\u4e2a\u591a\u91cd\u64cd\u4f5c\u7cfb\u7edf\u542f\u52a8\u7ba1\u7406\u5668\u3002\u7528\u6765\u5f15\u5bfc\u4e0d\u540c\u7cfb\u7edf\uff0c\u5982windows\uff0clinux\u3002
\u5728X86\u67b6\u6784\u7684\u673a\u5668\u4e2d\uff0cLinux\u3001BSD \u6216\u5176\u5b83Unix\u7c7b\u7684\u64cd\u4f5c\u7cfb\u7edf\u4e2dGRUB\u3001LILO \u662f\u5927\u5bb6\u6700\u4e3a\u5e38\u7528\uff0c\u5e94\u8be5\u8bf4\u662f\u4e3b\u6d41\u3002
Windows\u4e5f\u6709\u7c7b\u4f3c\u7684\u5de5\u5177NTLOADER\uff1b\u6bd4\u5982\u6211\u4eec\u5728\u673a\u5668\u4e2d\u5b89\u88c5\u4e86Windows 98\u540e\uff0c\u6211\u4eec\u518d\u5b89\u88c5\u4e00\u4e2aWindows XP \uff0c\u5728\u673a\u5668\u542f\u52a8\u7684\u4f1a\u6709\u4e00\u4e2a\u83dc\u5355\u8ba9\u6211\u4eec\u9009\u62e9\u8fdb\u5165Windows 98 \u8fd8\u662f\u8fdb\u5165Windows XP\u3002NTLOADER\u5c31\u662f\u4e00\u4e2a\u591a\u7cfb\u7edf\u542f\u52a8\u5f15\u5bfc\u7ba1\u7406\u5668\uff0cNTLOADER \u540c\u6837\u4e5f\u80fd\u5f15\u5bfcLinux\uff0c\u53ea\u662f\u6781\u4e3a\u9ebb\u70e6\u7f62\u4e86\u3002
\u5728PowerPC \u67b6\u6784\u7684\u673a\u5668\u4e2d\uff0c\u5982\u679c\u5b89\u88c5\u4e86Linux\u7684Powerpc \u7248\u672c\uff0c\u5927\u591a\u662f\u7528yaboot \u591a\u91cd\u5f15\u5bfc\u7ba1\u7406\u5668\uff0c\u6bd4\u5982Apple\u673a\u7528\u7684\u662fIBM PowerPC\u5904\u7406\u5668\uff0c\u6240\u4ee5\u5728\u5982\u679c\u60f3\u5728Apple\u673a\u4e0a\uff0c\u5b89\u88c5Macos \u548cLinux Powerpc \u7248\u672c\uff0c\u5927\u591a\u662f\u7528yaboot\u6765\u5f15\u5bfc\u591a\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u3002
\u56e0\u4e3aX86\u67b6\u6784\u7684\u673a\u5668\u4ecd\u662f\u4e3b\u6d41\uff0c \u6240\u4ee5\u76ee\u524dGRUB\u548cLILO \u4ecd\u7136\u662f\u6211\u4eec\u6700\u5e38\u7528\u7684\u591a\u91cd\u64cd\u4f5c\u7cfb\u7edf\u5f15\u5bfc\u7ba1\u7406\u5668\u3002
\u53c2\u8003\u8d44\u6599\uff1a\u767e\u5ea6\u767e\u79d1-\u7535\u8111\u767e\u5ea6\u767e\u79d1-GRUB

\u56e0\u4e3a\u4f60\u91cd\u88c5\u4e86\u7cfb\u7edf\u7684\u65f6\u5019\uff0c\u5728\u88c5\u65b0\u7684\u7cfb\u7edf\u7684\u65f6\u5019\u4f1a\u91cd\u5199\u4f60\u7684MBR\uff08\u4e3b\u5f15\u5bfc\u6247\u533a\uff09\uff0c\u8fd9\u6837\u4ee5\u524d\u7684\u90a3\u4e2a\u5c31\u6ca1\u6709\u4e86\u3002
\u4f60\u53ef\u4ee5\u628a\u4f60\u7684linux\u5b89\u88c5\u76d8\u653e\u8fdb\u5149\u9a71\uff0c\u7136\u540e\u6309\u4e00\u4e0bF5,\u518d\u6253linux rescue\uff0c\u8fd9\u6837\u5c31\u8fdb\u5165\u4e86\u6551\u63f4\u6a21\u5f0f\uff0c\u7136\u540e\u6253\u8fd9\u6837\u51e0\u4e2a\u547d\u4ee4
chroot/mnt/sysinage\uff08\u6539\u53d8\u6839\u76ee\u5f55\uff09
grup-install/dev/hda(\u5b89\u88c5grub\u5230mbr\u4e0a\uff09
\u6ce8\u610f\uff1a\u4e0a\u8fb9\u7684\u7b2c\u4e8c\u6761\u547d\u4ee4\u7684hda\uff0c\u8fd9\u662f\u4f60\u7684\u7b2c\u4e00\u5757ide\u786c\u76d8\u76d8\uff0c\u5177\u4f53\u6211\u4e0d\u77e5\u9053\u4f60\u7684\u7cfb\u7edf\u90fd\u5b89\u5728\u54ea\u5757\u786c\u76d8\u4e0a\uff0c\u6240\u4ee5\u6211\u4e0d\u80fd\u786e\u5b9a\u662fhd\uff1f\u3002
hda\u8868\u793a\u7b2c\u4e00\u5757\u786c\u76d8
hdb\u8868\u793a\u7b2c\u4e8c\u5757\u786c\u76d8

从Red Hat Linux 7.2起,GRUB(GRand Unified Bootloader)取代LILO成为了默认的启动装载程序。相信 LILO对于大家来说都是很熟悉的。这次Red Hat Linux用GRUB代替LILO,可见GRUB大有过人之处。不过,
相对于LILO来说,大家对GRUB还是要陌生一些。本文将对GRUB的基本情况、术语、接口、命令以及配置 文件做个介绍,希望对大家有所帮助。
一、GRUB的概述
在Red Hat linux装载一个系统前,它必须由一个引导装载程序(boot loader,启动管理程序)中的特定指令告诉它去引导系统。这个程序一般是位于系统的主硬盘驱动器或是其他知道如何去开始linux内核的媒介驱动器上。
如果说一个x86系统只安装了Red Hat Linux而且只有一个版本的linux内核,那么通过引导装载程序开始Red Hat Linux的特定过程就不重要了。Red Hat Linux安装程序允许用户快速方便地配置引导装载程序存放在主硬盘驱动的主引导记录中来引导操作系统。
然而,为了能从多个linux内核或其他操作系统引导,那么就很有必要了解Red hat linux用于提供必要的引导选项的方法,以及理解引导的过程与如何去改变。
本文是讨论GRUB,它是Red Hat Linux用来在x86系统上装载操作系统的默认方法。同时,本文也将详细介绍用于控制引导过程的各种命令和配置选项。
GRUB的定义
GNU GRUB(GRand Unified Bootloader)是一个将引导装载程序安装到主引导记录的程序,主引导记录是位于一个硬盘开始的扇区。它允许位于主引导记录区中特定的指令来装载一个GRUB菜单或是GRUB的命令环境。这使得用户能够开始操作系统的选择,在内核引导时传递特定指令给内核,或是在内核引导前确定一些系统参数(如可用的RAM大小)。
x86的引导过程
当一个x86机器启动后,系统BIOS开始检测系统参数,如内存的大小、日期和时间、磁盘设备、以及这些磁盘设备用于引导的顺序等。通常情况下,BIOS都是被配置成首先检查软驱或光驱(或两者都检查),然后再尝试从硬盘引导。如果在这些可移动的设备中,没有找到可引导的介质,那么BIOS通常是转向第一块硬盘最初的几个扇区,寻找用于装载操作系统的指令。这些最初的扇区-主引导记录-开始装载一个预选择操作系统的过程,一个操作系统选项贩GRUB菜单,或是一个执行特定选项的GRUB命令行接口。
装载GRUB和操作系统的过程,包括以下几个操作步骤:
1、装载基本的引导装载程序,这通常是第一步。基本引导装载程序必须是位于主引导扇区中一个非常小的空间,少于512字节。因此,基本引导装载程序所做的唯一的事情就是装载第二引导装载程序。这主要是归结于在主引导扇区中没有足够的空间用于其他东西了。
2、装载第二引导装载程序,这通常称为第二步。这第二引导装载程序实际上是引出更高级的功能,以允许用户装载入一个特定的操作系统。在GRUB中,这步是让用户显示一个菜单或是输入命令。
3、装载在一个特定分区上的操作系统,如linux内核。一旦GRUB从它的命令行或是配置文件中,接到开始操作系统的正确指令,它就寻找必要的引导文件,然后把机器的控制权移交给操作系统。注意在一些文件系统以及文件系统的配置中,可能需要一个1.5步的文件,用来连接基本引导程序与第二引导程序之间的差异。
举个例子来说,如果第二步中的引导装载程序文件位于一个使用了第一步引导装载程序所不能访问的文件系统的分区中,那么就可能需要指示第一步引导装载程序,从1.5步文件中载入附加的指令来读取第二步引导装载程序的文件。更多相关的信息,请参考GRUB的信息页。
前面所提到的引导方法被称为直接装载。因为这种方法中使用的是直接装载操作系统的指令,没有用到任何在引导装载程序和操作系统主文件(如内核)之间的中间代码。然而,不同操作系统所采用的引导过程可能会与上面提到的有一些细微的不同。例如,微软的DOS和Windows操作系统在安装时,倾趋于完全重写主引导记录,而不是合并当前的主引导记录的配置。这将破坏掉其他操作系统保存在主引导记录中的所有信息,如Red Hat Linux。微软操作系统,还有一些其他的专有操作系统,都是使用一种称为链式装载的引导方法来启动的。在这种方法中,主引导记录仅仅是简单地指向操作系统所在分区的第一个扇区。
GRUB支持直接和链式装载的引导方法。GRUB能用于几乎所有操作系统,绝大多数流行的文件系统,以及几乎所有的系统BIOS所能识别的硬盘。
GRUB的特性
GRUB包含许多特性,这使得GRUB比其他可用的引导装载程序更加优越。下面列出一些比较重要的特性:
GRUB在x86机器上,提供一个真正基于命令行的,先于操作系统(pre-OS)的环境。它对于用确定的选项装载操作系统或收集系统信息方面,提供了最大程度的适应性。许多非x86的体系结构已经使用先于操作系统环?许多年了,它提供控制系统如何从一个命令行引导。当LILO或其他x86引导装载程序使用了一些命令特性的时候,GRUB已经包含了许多这方面的特性。
GRUB支持逻辑块寻址(LBA)方式。LBA将用于寻找驱动器上文件的地址转换工作置于驱动器的硬件中,它被用在许多IDE和所有的SCSI硬盘中。在使用LBA之前,硬盘驱动器遇到一个1024柱面的限制,即BIOS不能找到在1024柱面后的文件(比如一个引导装载程序或是内核文件)。只要系统BIOS能支持LBA模式(大多数都支持),那么LBA就允许GRUB超越1024柱面的限制,引导操作系统。
?GRUB的配置能在每次系统引导时被读取。这就避免了用户每次改变引导选项时都要重写一次主引导记录。大多数的引导装载程序都不能很老道地读取配置文件,并使用它们来设置引导选项。比如说,用户必需改变一个LILO的配置文件,然后运行一个命令将新的配置数据重写回系统的主引导记录。这种方法比GRUB所采用的方法更加危险,因为一个错误配置的主引导记录将让系统无法引导。在使用GRUB中,如果说配置文件被错误配置并且引导,那它也仅仅简单地转到一个默认的命令行,允许用户手工输入命令来运行操作系统。除开更新系统引导的第一步、第二步、或是菜单配置文件的位置,主引导记录是不会被触及到的,而这种情况是很少发生的。
注意:
当GRUB的配置文件发生改变时,没有必要重新启动GRUB。所有的改变都能被自动地检测到。如果GRUB被重新启动,那么用户将退回到命令行方式的GRUB外壳下。
安装GRUB
如果在Red Hat Linux的安装过程中,GRUB没有被安装,下面将说明如何安装它,并将它设为默认的引导装载程序。
注意:如果LILO已经被安装,并且是当前的系统引导装载程序,那并没有必要为了使用GRUB而删除它。GRUB一旦安装后,将做为系统默认的引导装载程序。
首先,获取最新可用的GRUB包。在Red Hat Linux安装光盘上的GRUB包也可以使用。
其次,在一个外壳提示下,运行命令/sbin/grub-install ,这里的是GRUB将要被安装的位置。比如说:/sbin/grub-install /dev/hda
最后,重新引导系统。GRUB图形引导装载菜单将出现。
二、GRUB的术语
在使用GRUB前,最重要的事情之一就是理解这个程序是如何引用设备的,如系统硬盘驱动器、分区等。对于配置GRUB实现多操作系统的引导,这方面的信息是很重要的。
设备名称
系统的第一个硬盘驱动器被GRUB称为(hd0)。在它上面的第一个分区被称为(hd0,0),第二个硬盘驱动器上的第5个分区被称为(hd1,4)。通常使用GRUB时,文件系统习惯上采用下面的方式命名:
(,)
在设备命名中,圆括号和逗号是很重要的。指出是一个硬盘(hd)还是一个软盘(fd)被指定。
是依照系统BIOS而确定的设备号,从0开始。基本IDE硬盘被标为0,第二IDE硬盘被标为1。这个排序大体上等同于linux内核用字母安排设备的顺序,只是在hda中的a变成了0,hdb中的b变为了1,依次类推。
注意:GRUB用于设备的命名系统是从0开始,而不是1。这常常是GRUB新手们常犯的最普遍的错误。
指在一块硬盘上一个分区的编号。类似于,分区的编号也是从0开始。虽然大多数的分区可以用数字指定,但是如果系统使用的是BSD分区,那么它们还是用字母来指定,如a或c。
GRUB在命名设备和分区时,使用下面的规则:
系统使用IDE硬盘或SCSI硬盘,都没有关系。所有的硬盘都是用hd开始。软盘用fd开头。
当指定整个硬盘,不考虑它的分区时,简单地将逗号和分区编号取消即可。当告诉GRUB配置一个特定硬盘的主引导扇区时,这一点很重要。比如,(hd0)指定第一个设备,(hd3)指定第四个设备。
?如果一个系统有多个驱动设备,知道由BIOS确定的驱动器顺序就很重要了。如果系统只有IDE或SCSI驱动器,那是相当简单的。但是如果有多个驱动器混合时,这就变得令人混乱了。
文件名称
当在GRUB中输入包括文件的命令时,比如在多操作系统中使用一个菜单列表,文件名必须直接在设备和分区后指定。一个绝对文件名的格式如下:
(,)/path/to/file
大多数的时候,用户可以通过在分区上的目录路径后加上文件名来指定文件。这种方法是直接了当的。
另外,我们也可以将不在文件系统中出现的文件指定给GRUB,比如在一个分区最初几块扇区中的链式引导装载程序。为了指定这些文件,需要提供一个块列表(blocklist),由它来一块一块地告诉GRUB文件在分区中的位置。当一个文件是由几个不同的块组合在一起时,需要有一个特殊的方式来写块列表。
每个文件片断的位置由一个块的偏移量以及从偏移点起始的块数来描述,这些片断以一个逗号分界(comma-delimited)的顺序组织在一起。
考虑下面的块列表:
0+50,100+25,200+1
上面这个块列表告诉GRUB使用一个文件,这个文件起始于分区的第一块,使用了第0块到第49块,第99块到124块,以及第199块。
当使用GRUB装载诸如微软Windows这样采用链式装载方式的操作系统时,知道如何写块列表是相当有用的。如果从第0块开始,那么可以省略块的偏移量。作为一个例子,当链式装载文件在第一硬盘的第一个分区时,可以使用下面的命名:
(hd0,0)+1
下面给出一个带类似块列表名称的chainloader命令。它是在设置正确的设备和分区作为根后,在GRUB命令行中给出的。
chainloader +1
GRUB的根文件系统
一些用户常困惑于GRUB中根文件系统(root filesystem)这一术语的用法。GRUB的根文件系统与Linux的根文件系统是没有关系的,这一点需要记住。
GRUB的根文件系统是用于一个特定设备的根分区。GRUB使用这个信息来挂入(mount)这个设备并从它上面载入文件。
在Red Hat Linux中,一旦GRUB载入它自己的包含Linux内核的根分区,那么kernel命令就可以将内核文件的位置作为一个选项来执行。一旦Linux内核引导,它就设定自己的根文件系统,此时的根文件系统就是大多数人用来与Linux联系的了。最初的GRUB根文件系统以及它的挂入都被去掉,它们仅存在于用来引导内核文件。
关于根和内核命令的更多信息,可以参考后面的命令部分。
三、GRUB的接口
GRUB主要有三个强大的接口,它们提供了不同级别的功能。每个接口都允许用户引导操作系统,甚至可以在处于GRUB环境下的接口之间移动。
菜单接口
如果GRUB是由Red Hat Linux的安装程序自动配置的,那么它默认的显示接口是菜单接口。在系统第一次启动后,一个操作系统或内核的菜单(事先已经用它们各自的引导命令配置好)将一个按名称排列的列表保存在这个接口中。使用箭头键选择一个非默认选项,然后按回车键来引导它。如果不是这样,一个记时器可能已经被设置,那么GRUB将启动装载那个默认的选项。
在菜单接口上,按[e]键,对高亮菜单项中的命令进行编辑。按[c]键载入一个命令行接口。
菜单项目编辑器接口
在引导装载菜单中按[e]键,就进入了菜单项目编辑器。用于项目的GRUB命令就显示在这里。在引导操作系统前,用户可以更改这些命令,添加(加在当前行后面,用[o]键;加在当前行前,用[0]),编辑(用[e]键),删除(用[d]键)。
在所有的改变都完成后,用[b]键来执行这些命令,并引导操作系统。[Esc]键来放弃这些修改,将重新入标准的菜单接口。[c]键用来载入命令行接口。
命令行接口
命令行是GRUB最基本的接口,但它也是被授予了最大控制能力的接口。在命令行接口中,输入任何相关的GRUB命令,再回车就可以执行了。这个接口的功能有点类似于shell的功能,比如[Tab]键完成,前后文提示,输入命令时的[Ctrl]键组合,如[Ctrl]-[a]移到行的开头,[Ctrl]-[e]移到行的结尾。另外,箭头键,[Home],[End],[Delete]键与bash shell中一样用法。
接口使用的顺序
当GRUB环境开始载入第二步引导装载程序时,它寻找自己的配置文件。当找到配置文件后,它使用这个配置文件建立一个要载入的操作系统的菜单列表, 然后显示引导菜单接口。
如果配置文件没有被找到,或者如果配置文件不能读取,那么GRUB将载入命令行接口,以允许用户手工输入必要的命令来启动操作系统。
如果配置文件不是正确的,那么GRUB将显示出错误,并请求输入。这点是很有帮助的,因为用户将能够看到问题发生在文件中的什么地方,并修复它。按下任意键,重新载入菜单接口,根据GRUB报告的错误,编辑菜单选项并纠正问题。如果这个修正失败了,那么错误将被报告,且GRUB将再次开始。
四、GRUB的命令
GRUB包含了许多不同的命令,它们可以在命令行接口中以交互的方式执行。其中的一些命令能接在命令名后面的选项,这些选项用空格隔开。
下面的列表给出了最有用的一些命令:
boot - 引导先前已经被指定并载入的操作系统或链式装载程序。
chainloader - 将指定的文件作为一个链式装载程序载入。为了获取在一个指定分区第一扇区内的文件,使用+1作为文件名。
displaymem - 显示当前内存的使用情况,这个信息是基于BIOS的。这个命令有助于确定系统在引导前有多少内存。
initrd - 使用户能够指定一个在引导时可用的初始RAM盘。当内核为了完全引导而需要某些模块时,这是必需的。
install p - 安装GRUB到系统的主引导记录。这个命令允许系统重启时出现GRUB接口。
警告:install命令将覆盖主引导扇区中的其他信息。如果命令被执行,那么除了GRUB信息之外的其他用于引导其他操作系统的信息都将丢失。在执行这条命令前,确定你对它有正确的了解。
这条命令可以用几种不同的方式进行配置。然而,它都要求指定。表示一个设备,分区和文件,在那里可以找到第一个引导装载程序的映象,比如(hd0,0)/grub/stage1。另外,也指定了第一步引导装载程序应该被安装的硬盘,如(hd0)。
选项告诉第一步引导装载程序第二步引导装载程序位于什么地方,例如(hd0,0)/grub/stage2。p选项告诉install命令菜单配置文件被指定在部分,比如说(hd0,0)/grub/grub.conf。
kernel - 当使用直接载入方式引导操作系统时,kernel命令指定内核从GRUB的根文件系统中载入。
options选项是跟在kernel命令后面,在内核载入时传给内核。
在Red Hat Linux中,一个kernel命令的例子看起来象下面的形式:
kernel /vmlinuz root=/dev/hda5
上面这行表明了vmlinuz文件是从GRUB的根文件系统载入的,如(hd0,0)。同时,一个选项也被传给了内核。它指出当Linux内核载入时,内核的根文件系统应该是位于hda5,第一个IDE硬盘的第五个分区。如果有必要的话,多个选项可以被放在这个选项后面。
root - 将GRUB的根分区设置成特定的设备和分区,比如说(hd0,0)。并挂入这个分区,这样文件可以被读取。
rootnoverify - 做root命令同样的事情,只是不挂入分区。
除上面所述外,还有更多的命令可用。输入info grub,得到一个所有命令的完全列表。
五、GRUB的菜单配置文件
配置文件在GRUB菜单接口中,创建用于引导操作系统的列表。配置文件可以允许用户选择执行事先设置好的一组命令。这些命令既包括前面给出的命令,也包括一些只用于配置文件的命令。
配置文件的专用命令
下面这些命令只用于GRUB的菜单配置文件:
color - 设定在菜单中使用的颜色,一种是作为前景色,一种作为背景色。可以简单地使用颜色名称,如red/black。比如:
color red/black green/blue
default - 默认项目的标题名称。如果菜单接口超时,那它将被载入。
fallback - 当这个命令被使用时,如果第一次尝试失败,那么这个项目的标题名称将被试用。
hiddenmenu - 这个命令被使用时,它不显示GRUB菜单接口,在超时时间过期后载入默认项。用户通过按[Esc]键,可以看到标准的GRUB菜单。
password - 这个命令被使用时,它可以防止不知道口令的用户编辑菜单的项目。
作为附加选项,可以在后面指定一个后备的菜单配置文件。因此,如果口令被知道,GRUB将重新启动第二步的引导装载程序,并使用这个后备的配置文件来建立菜单。如果这个后备文件不在命令中指出,那么知道口令的用户能够编辑当前的配置文件。
timeout - 这个命令设定了在GRUB载入由default命令指定的项目前的时间间隔,以秒为单位。
splashimage - 它指定在GRUB引导时所使用的屏幕图像的位置。
title - 设定用来装载一个操作系统的一组特定命令的标题。
字符#用来在菜单配置文件放置注释。
配置文件的结构
设置GRUB菜单接口全局参数的命令被放在文件的顶部,接下来的是用于各个操作系统引导的不同项目。
一个非常基本的用于引导Red Hat Linux或Microsoft Windows 2000的GRUB菜单配置文件可能如下所示:
default=linux
timeout=10
color=green/black light-gray/blue
# section to load linux
title linux
root (hd0,1)
kernel /vmlinuz root=/dev/hda5
boot
# section to load Windows 2000
title windows
rootnoverify (hd0,0)
chainloader +1
这个文件告诉GRUB建立一个以Red Hat Linux为默认操作系统的菜单,设定10秒后自动引导。这里给出了2个部分,每个部分对应于一个操作系统项目,每个部分都包含了指向操作系统硬盘分区表的命令。
在下面的附加资料中,将列出如何使用GRUB引导多种操作系统的参考资料。
六、GRUB的附加资料
这个部分只是对GRUB以及它的许多选项作一个介绍。如果想要更多的了解GRUB是如何工作的、如何在其他任务中配置它来引导非Linux操作系统,可以参考下面列出的一些资料。
安装文档
/usr/share/doc/grub-0.90 - /usr/share/doc/grub-0.90是GRUB文档在系统上的目录。
在一个shell提示下,输入man grub命令可以查看GRUB的手册,它包括一个装载GRUB shell时所使用的选项的列表。
在一个shell提示下,使用info grub命令可以得到GRUB的info页,它包括一个指南,一个用户参考手册,一个程序员参考手册,以及一个关于GRUB和它自己用法的FAQ文档。
有用的一些站点
http://www.gnu.org/software/grub - GNU GRUB 项目的主页。这个站点包含了GRUB发展状态的信息以及一个FAQ。
http://www.uruk.org/orig-grub - 在这个项目被脱管到自由软件基金会进一步发展前的最初的GRUB文档。
http://www.redhat.com/mirrors/LDP/H...-with-GRUB.html - 研究GRUB各种不同的用法,包括引导非Linux操作系统。
http://www.linuxgazette.com/issue64/kohli.html - 一篇介绍性的文章,讨论在一个系统上GRUB配置,包括GRUB命令行选项的概述

英文的http://www.linuxsir.org/main/doc/grub/grubmanual/index.html

我自己的
http://hi.baidu.com/xiaozhu3630/blog/item/ea852ff3858bde57352accfd.html
你对着看看menu.lst文件就知道啦,各行它有注释的,比较不难懂~

  • 鐢佃剳寮鏈烘椂鍑虹幇grub鎬庝箞鍔?
    绛旓細鐢佃剳涓寮鏈哄氨鏄剧ずgrub锛岀郴缁熻繘涓嶅幓锛屽彲浠ラ氳繃淇鍚姩寮曞鎴栬呴噸瑁呯郴缁熸潵瑙e喅銆1. 浜嗚Вgrub锛歡rub鏄竴涓鎿嶄綔绯荤粺鍚姩绋嬪簭锛屽畠鍏佽鐢ㄦ埛浠庡涓搷浣滅郴缁熶腑杩涜閫夋嫨銆傚鏋滀綘鐨勭數鑴戜竴寮鏈哄氨鏄剧ずgrub锛岄偅涔堝彲鑳芥槸鍥犱负grub鐨勯厤缃枃浠跺嚭鐜颁簡闂锛屾垨鑰呯‖鐩樹笂鐨勫惎鍔寮曞绋嬪簭宸茬粡鎹熷潖銆2. 淇鍚姩寮曞锛氫慨澶嶅惎鍔ㄥ紩瀵兼槸...
  • 鐢佃剳寮鏈哄嚭鐜grub鎬庝箞瑙e喅
    绛旓細鍙涓夎鍛戒护鑳戒粠grub姝e父杩涘叆绯荤粺銆 Find-set-root/bootmgr (enter)閾惧紡瑁呰浇鏈/bootmgr(鍥炶溅)鍚姩(鍥炶溅)鐒惰岋紝杩欏苟娌℃湁瀹屽叏瑙e喅銆傚鏋滃彧鍒拌繖閲岋紝姣忔寮鏈洪兘瑕佹墦涓婇潰涓夎浠g爜锛屾湁鐐归夯鐑︺傞噸鏂板垱寤虹‖鐩樹富寮曞璁板綍(MBR)鎮ㄩ渶瑕佷竴涓甫鏈塪iskgenius鍒嗗尯宸ュ叿鐨勫惎鍔–D鎴朥SB闂瓨椹卞姩鍣ㄣ1.浠庡惎鍔╱鐩樿繘鍏iskgenius鍒...
  • 浠婂ぉ涓婁簡寮曞绋嬪簭:GRUB
    绛旓細GNU GRUB(GRand Unified Bootloader)鏄竴涓皢寮曞瑁呰浇绋嬪簭瀹夎鍒颁富寮曞璁板綍鐨勭▼搴,涓诲紩瀵艰褰曟槸浣嶄簬涓涓‖鐩樺紑濮嬬殑鎵囧尯銆傚畠鍏佽浣嶄簬涓诲紩瀵艰褰曞尯涓壒瀹氱殑鎸囦护鏉ヨ杞戒竴涓狦RUB鑿滃崟鎴栨槸GRUB鐨勫懡浠ょ幆澧冦傝繖浣垮緱鐢ㄦ埛鑳藉寮濮嬫搷浣滅郴缁熺殑閫夋嫨,鍦ㄥ唴鏍稿紩瀵兼椂浼犻掔壒瀹氭寚浠ょ粰鍐呮牳,鎴栨槸鍦ㄥ唴鏍稿紩瀵煎墠纭畾涓浜涚郴缁熷弬鏁(濡傚彲鐢ㄧ殑RAM澶у皬)...
  • 寮鏈哄悗鎻愮ずGRUB,鏃犳硶杩涘叆绯荤粺,鎬庝箞瑙e喅?
    绛旓細1銆丆MD锛岃繘鍏ュ懡浠ょ獥鍙e悗锛屽啀杈撳叆锛歠disk/mbr鍥炶溅鍗冲彲銆傛柟娉曚簩锛氫娇鐢ㄤ笓鐢ㄥ伐鍏蜂慨澶嶃備娇鐢ㄥ惎鍔║鐩樻垨鍏夌洏鍚姩鐢佃剳锛岃繘鍏E绯荤粺锛涜繍琛孌ISKGENIUS宸ュ叿锛岄噸寤轰富寮曞璁板綍锛涢噸瑁呯郴缁燂細浠ヤ笂鎿嶄綔鏃犳晥锛屽垯闇瑕侀噸瑁呯郴缁熴2銆侀氳繃U鐩樺惎鍔/鍏夌洏鍚姩锛屾潵淇涓诲紩瀵兼潵瑙e喅閫氳繃U鐩樺惎鍔/鍏夌洏鍚姩锛岄噸鏂板仛涓涓郴缁熷紑鏈烘寜F5閿紝杩涘叆...
  • 寮鏈哄嚭鐜grub鎬庝箞鍔
    绛旓細寮鏈烘樉绀簂ogo鐣岄潰鍙嶅鎸塅12锛屽嚭鐜伴夋嫨鍚姩璁惧鑿滃崟锛屽洜涓簎鐩樻槸鑱旀兂鐨勶紝鎵浠ラ夌3涓寜閫夐」鎸変笅鍥炶溅閿7銆佸ソ浜嗭紝杩涗簡寰甈E宸ュ叿绠憋紝濡備笅鍥撅紝鍙屽嚮鎵撳紑windows寮曞淇銆8銆佸弻鍑绘墦寮windows寮曞淇鍚庯紝鎸夐敭鐩楥閿紝鍦ㄦ寜閿洏1鑷姩淇銆傛樉绀猴細涓寮曞绋嬪簭鍐欏叆-Yes锛屽3妤煎浘锛寀鐩樻嫧鍑烘潵锛岄噸鍚數鑴戣繘鍏ョ郴缁熴
  • 鐢佃剳瑁呬簡WIN7绯荤粺涔嬪悗鍑虹幇GRUB瀛楁牱,鎬庝箞鍔?
    绛旓細鎴栬呮墜鍔ㄧ敤宸ュ叿杞欢閲嶆柊鍐欏叆寮曞鏂囦欢銆傛彁绀猴細"grub>"鏄疓NU GRUB锛屼竴涓閲嶆搷浣滅郴缁熷惎鍔ㄥ櫒锛屽綋鍑虹幇姝ゆ彁绀烘椂锛屽嵆鍦ㄥ懡浠よ鎿嶄綔鐣岄潰涓嬶紝鑰屾棤寮曞姝g‘鐨勮澶囨垨鑰呭懡浠ゃ傞氬父鏄洜涓烘病鏈夋墽琛屽畬鎿嶄綔锛屾垨鑰呭啓鍏浜嗗紩瀵肩▼搴鑰屾湭鎵惧埌寮曞璁惧閫犳垚鐨勩傛墍浠ワ紝鍩烘湰淇瀵筗IN7鐨勬甯稿紩瀵兼枃浠跺氨瑙e喅浜嗚繖涓棶棰樸
  • 鐢佃剳寮鏈哄嚭鐜grub
    绛旓細鍙涓夎鍛戒护鑳戒粠grub姝e父杩涘叆绯荤粺銆 Find-set-root/bootmgr (enter)閾惧紡瑁呰浇鏈/bootmgr(鍥炶溅)鍚姩(鍥炶溅)鐒惰岋紝杩欏苟娌℃湁瀹屽叏瑙e喅銆傚鏋滃彧鍒拌繖閲岋紝姣忔寮鏈洪兘瑕佹墦涓婇潰涓夎浠g爜锛屾湁鐐归夯鐑︺傞噸鏂板垱寤虹‖鐩樹富寮曞璁板綍(MBR)鎮ㄩ渶瑕佷竴涓甫鏈塪iskgenius鍒嗗尯宸ュ叿鐨勫惎鍔–D鎴朥SB闂瓨椹卞姩鍣ㄣ1.浠庡惎鍔╱鐩樿繘鍏iskgenius...
  • 鐢佃剳寮鏈grub鎬庝箞瑙e喅?
    绛旓細01 鍙涓夎鍛戒护灏卞彲浠ヤ粠grub姝e父杩涘叆绯荤粺锛歠ind --set-root /bootmgr(鍥炶溅)chainloader /bootmgr(鍥炶溅)boot(鍥炶溅)涓嶈繃杩欒繕娌″畬鍏ㄨВ鍐筹紝濡傛灉鍙埌杩欓噷鐨勮瘽锛屼互鍚庢瘡娆″紑鏈洪兘寰楁暡涓婇潰閭d笁琛屼唬鐮侊紝鏈夌偣楹荤儲銆傛搷浣滄柟娉2 01 win7涓婨asyBCD寮曞纭洏瀹夎ubuntu鎻愬埌浜嗕竴涓伐鍏稥asyBCD锛岃繖涓伐鍏峰湪win7涓壒鍒ソ鐢ㄣ
  • 鐢佃剳寮鏈烘樉绀grub鎬庝箞瑙e喅?
    绛旓細鐢佃剳寮鏈哄嚭鐜grub鏄數鑴戠殑寮曞鍑虹幇鏁呴殰浜嗭紝闇瑕佸噯澶囦竴涓猆鐩樺惎鍔ㄧ洏锛岀數鑴戝叧鏈烘彃涓妘鐩樺惎鍔ㄧ數鑴戯紝閲嶅缓涓诲紩瀵艰褰曘1銆佺數鑴戝紑鏈哄嚭鐜癵rub锛岄鍏堥渶瑕佸湪鍑虹幇grub澶勮緭鍏ヤ互涓嬩唬鐮侊紝find --set-root /bootmgr(鍥炶溅)锛宑hainloader /bootmgr(鍥炶溅)锛宐oot(鍥炶溅)鍙互杩涘叆绯荤粺銆2銆侀渶瑕佸噯澶囦竴涓猆鐩樺惎鍔ㄧ洏锛岀數鑴戝叧鏈烘彃涓妘鐩...
  • 扩展阅读:一键grub引导修复工具 ... 开机卡在grub界面 ... 一键恢复grub ... grub rescue win10 ... 电脑开机grub怎么跳过 ... u盘引导进不去一直在grub ... grub最简单恢复方法 ... 开机显示gnugrubv2.06 ... gun grub 重启 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网