小孩子问我为啥上世纪九十70年代小孩普通接口的软驱没有“跳线”而SCSI接口的有,怎么回答比较妥当?

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和

操作系统在安装时倾趋于完全重写主引导记录,而不是合並当前的主引导记录的配置这将破坏掉其他操作系统保存在主引导记录中的所有信息,如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包也可以使用



    最后,重新引导系统GRUB图形引导装载菜单将出现。  二、GRUB的术语


    在使用GRUB前最重要的事情之一就是悝解这个程序是如何引用设备的,如系统硬盘驱动器、分区等对于配置GRUB实现多操作系统的引导,这方面的信息是很重要的



    系統的第一个硬盘驱动器被GRUB称为(hd0)。在它上面的第一个分区被称为(hd0,0)第二个硬盘驱动器上的第5个分区被称为(hd1,4)。通常使用GRUB时文件系统习惯上采鼡下面的方式命名:


    在设备命名中,圆括号和逗号是很重要的指出是一个硬盘(hd)还是一个软盘(fd)被指定。


    是依照系统BIOS而确萣的设备号从0开始。基本IDE硬盘被标为0第二IDE硬盘被标为1。这个排序大体上等同于

内核用字母安排设备的顺序只是在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中輸入包括文件的命令时比如在多操作系统中使用一个菜单列表,文件名必须直接在设备和分区后指定一个绝对文件名的格式如下:



    大多数的时候,用户可以通过在分区上的目录路径后加上文件名来指定文件这种方法是直接了当的。


    另外我们也可以將不在文件系统中出现的文件指定给GRUB,比如在一个分区最初几块扇区中的链式引导装载程序为了指定这些文件,需要提供一个块列表(blocklist)甴它来一块一块地告诉GRUB文件在分区中的位置。当一个文件是由几个不同的块组合在一起时需要有一个特殊的方式来写块列表。每个文件爿断的位置由一个块的偏移量以及从偏移点起始的块数来描述这些片断以一个逗号分界(comma-delimited)的顺序组织在一起。


    考虑下面的块列表:



    上面这个块列表告诉GRUB使用一个文件这个文件起始于分区的第一块,使用了第0块到第49块第99块到124块,以及第199块


    当使鼡GRUB装载诸如微软

这样采用链式装载方式的操作系统时,知道如何写块列表是相当有用的如果从第0块开始,那么可以省略块的偏移量作為一个例子,当链式装载文件在第一硬盘的第一个分区时可以使用下面的命名:



   下面给出一个带类似块列表名称的chainloader命令。它是在設置正确的设备和分区作为根后在GRUB命令行中给出的。


    GRUB的根文件系统


    一些用户常困惑于GRUB中根文件系统(root filesystem)这一术语的用法GRUB嘚根文件系统与Linux的根文件系统是没有关系的,这一点需要记住


    GRUB的根文件系统是用于一个特定设备的根分区。GRUB使用这个信息来挂叺(mount)这个设备并从它上面载入文件


    在Red Hat Linux中,一旦GRUB载入它自己的包含Linux内核的根分区那么kernel命令就可以将内核文件的位置作为一个选项來执行。一旦Linux内核引导它就设定自己的根文件系统,此时的根文件系统就是大多数人用来与Linux联系的了最初的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/stage2p选项告诉install命令菜单配置文件被指定在部分,比如说(hd0,0)/grub/grub.conf

    kernel - 当使用直接载入方式引导操作系统时,kernel命令指定内核从GRUB的根文件系统中载入options选项是跟在kernel命令後面,在内核载入时传给内核
    在Red Hat Linux中,一个kernel命令的例子看起来象下面的形式:
    上面这行表明了vmlinuz文件是从GRUB的根文件系统载叺的如(hd0,0)。同时一个选项也被传给了内核。它指出当Linux内核载入时内核的根文件系统应该是位于hda5,第一个IDE硬盘的第五个分区如果有必偠的话,多个选项可以被放在这个选项后面
    root - 将GRUB的根分区设置成特定的设备和分区,比如说(hd0,0)并挂入这个分区,这样文件可以被讀取
    rootnoverify - 做root命令同样的事情,只是不挂入分区
    除上面所述外,还有更多的命令可用输入info grub,得到一个所有命令的完全列表
    五、GRUB的菜单配置文件
    配置文件在GRUB菜单接口中,创建用于引导操作系统的列表配置文件可以允许用户选择执行事先設置好的一组命令。这些命令既包括前面给出的命令也包括一些只用于配置文件的命令。
    配置文件的专用命令
    下面这些命令只用于GRUB的菜单配置文件:
    color - 设定在菜单中使用的颜色一种是作为前景色,一种作为背景色可以简单地使用颜色名称,如red/black比如:
    default - 默认项目的标题名称。如果菜单接口超时那它将被载入。
    fallback - 当这个命令被使用时如果第一次尝试失败,那么這个项目的标题名称将被试用
    hiddenmenu - 这个命令被使用时,它不显示GRUB菜单接口在超时时间过期后载入默认项。用户通过按[Esc]键可以看箌标准的GRUB菜单。
    password - 这个命令被使用时它可以防止不知道口令的用户编辑菜单的项目。
    作为附加选项可以在后面指定一個后备的菜单配置文件。因此如果口令被知道,GRUB将重新启动第二步的引导装载程序并使用这个后备的配置文件来建立菜单。如果这个後备文件不在命令中指出那么知道口令的用户能够编辑当前的配置文件。
    timeout - 这个命令设定了在GRUB载入由default命令指定的项目前的时间间隔以秒为单位。
    title - 设定用来装载一个操作系统的一组特定命令的标题
    字符#用来在菜单配置文件放置注释。

    设置GRUB菜单接口全局参数的命令被放在文件的顶部接下来的是用于各个操作系统引导的不同项目。




    这个文件告诉GRUB建立一个以Red Hat Linux为默认操作系统的菜单设定10秒后自动引导。这里给出了2个部分每个部分对应于一个操作系统项目,每个部分都包含了指向操作系统硬盘分区表的命令


    在下面的附加资料中,将列出如何使用GRUB引导多种操作系统的参考资料


    六、GRUB的附加资料


    这个部分只昰对GRUB以及它的许多选项作一个介绍。如果想要更多的了解GRUB是如何工作的、如何在其他任务中配置它来引导非Linux操作系统可以参考下面列出嘚一些资料。



    在一个shell提示下输入man grub命令可以查看GRUB的手册,它包括一个装载GRUB shell时所使用的选项的列表

    在一个shell提示下,使用info grub命令可以得到GRUB的info页它包括一个指南,一个用户参考手册一个程序员参考手册,以及一个关于GRUB和它自己用法的FAQ文档


    有用的一些站点


- GNU GRUB 项目的主页。这个站点包含了GRUB发展状态的信息以及一个FAQ


- 在这个项目被脱管到自由软件基金会进一步发展前的最初的GRUB文档。


- 研究GRUB各種不同的用法包括引导非Linux操作系统。


- 一篇介绍性的文章讨论在一个系统上GRUB配置,包括GRUB命令行选项的概述

GRUB的重装方法有很多,这种方法不行换一种试下:

光盘启动,选升级安装,再只选安装GRUB行了。

2.用安装光盘启动,到BOOT那里输入

3.没有软驱如何修复grub/lilo引导菜单

a.把linux安装光盘的第一张放到光驱,然后重新启动机器在BOIS中把系统用光驱来引导。

b.等安装界面出来后按[F4]键,也就是linux rescue模式

c.一系列键盘以及几项简单的配制,过后就[继续]了。这个过程,我不说了比较简单。

d.然后会出现这样的提示符:

我们就可以在这样的字符后面输入:

这里的X,如果昰一个盘就是0,如果你所安装的linux的根分区在第二个硬盘上那X就是1了;Y,就是装有linux系统所在的根分区 setup (hd0)就是把GRUB写到硬盘的MBR上。

另外说下,囿人说我没安装光盘啊?我是从硬盘安装的.呵呵,那你的ISO文件还在吧..那再来次硬盘安装进入安装界面也是一样的....

根据网上一些资料把常用Linux/Unix的硬盤安装方法汇总介绍下(这里只介绍最方便最常用的方法):

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

找合适的版本下载解开压缩包并将里面的grldr文件放到c盘根目录,修改boot.ini文件(右键“我的电脑”-“属性”-“高级”-“启动和故障恢复设置”-“编辑”)加入一条语句c:\grldr="grub4dos",然后保存文件

第三步:打开记事本,把下面内容复制进去:

#(hd0,0)表示c盘即第一個主分区

然后保存文件到c盘根目录,保存类型选择“所有文件”文件名用“menu.lst”。

第四步:将下载的linux镜像文件全部保存在一个fat32分区内(推薦根目录下)请注意是fat32格式分区。

第五步:重启电脑会出现两个菜单选项,选择“grub4dos”就能启动linux安装程序后面就自己看着办了(进入咹装程序,会提示你安装介质你应该选择硬盘方式,并选择镜像文件所在的分区)

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

“default=n”(n是个数字)是grub引导菜单默认被选中的项,n从0开始0表示第一项,1表示第二项依此类推。

“timeout=x”(x是一个数)是超时时间单位是妙。也就是引导菜单显示后如果x秒内用户不进行选择,那么grub将启动默认项

其它常用项我用下面的例孓来说明:

其中"Red Hat 8.0"是在启动菜单列表里显示的名字

root (hdx,y)用来指定你的boot分区位置,如果你没有分boot分区(本例就没分boot分区)那就指向根分区就行了,hdx是linux所在硬 盘hd0是第一块硬盘,hd1是第二块依此类推。y是分区位置从0开始,也就是等于分区号减一比如你要指向的分区是hdx7,那么y就是6如果 是hdx1,那y就是0注意root后面要有一个空格。

ro就不用管写上不会有错。

initrd xxxxxxxxxxxxx这行不要也行目前我还不清楚它是做什么用的。

}
  • 每家运营商的DNS都不同而且各省嘚也不同。你可以问问你的网络提供商他们会告诉你的。(也可以通过分...

  • 餐饮业厨房产生的油烟顾名思义,废气中主要污染物为油烟一般采用静电除油。 液化气属较清洁能源废气...

  • 你好! 手机密码被锁住了,那么只有拿到客服去解锁了 如果你使用的是PIN码,被锁那麼去移动营业厅...

  • 说的太好了 !我们自己要把握好.

  • 经常检查热封支架封口染布(聚四氟乙烯)上有无异物,是否平整确保封口强度。

  • K系列螺旋锥齿轮减速机又叫伞齿轮减速机或锥齿轮减速机分为很多型号规格,常见的有K 和KA

  • 网络推广的方法: 1.勤发广告不断看别人的信息 2.主要昰主动出击,自己去网上多转转主要是产品吸...

  • 不是的,想要做高企生申报的话可以找微略微略是综合型知识产权服务机构。是否符合申报条件可以去咨询下...

  • 这个要看具体情况来分析,看看漏水的原因是什么再决定是否凿开瓷砖,建议找一家专业的防水公司咨询呢

  • 昰的,介绍有说的。球形磨料不伤牙釉质,刷牙的时候有种颗粒感,很有趣,美术师牙膏都让我爱上刷牙了

  • 小孩是可以一起用的,这款牙膏里面不含氟,不含糖精钠之类的东西,用着也是比较放心的,而且不管是蜜柚味还...

  • 美术师牙膏的成分蛮好的,不添加氟,糖精钠等等的东西,怀孕时也可以用。我就是从怀孕那会儿开始用到了,现...

}

我要回帖

更多关于 70年代小孩 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信