首页 Linu操作系统GRUB引导程序配置方法

Linu操作系统GRUB引导程序配置方法

举报
开通vip

Linu操作系统GRUB引导程序配置方法Linux操作系统GRUB引导程序配置方法GRUB介绍计算机在启动的时候,首先由BIOS中的程序执行自检,自检通过后,就根据CMOS的配置找到第一个可启动磁盘的MBF中的BootLoader程序(一般在启动盘的第一个物理扇区,占416字节),并把控制权交给BootLoader,由BootLoader进一步完成操作系统内核的加载。当BootLoader找到内核之后,就把控制权交给操作系统内核,由内核继续完成系统的启动。可以看出,BootLoader是计算机启动中第二个要执行的程序,它是引导操作系统的关键程序。可以引导...

Linu操作系统GRUB引导程序配置方法
Linux操作系统GRUB引导程序配置 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 GRUB介绍计算机在启动的时候,首先由BIOS中的程序执行自检,自检通过后,就根据CMOS的配置找到第一个可启动磁盘的MBF中的BootLoader程序(一般在启动盘的第一个物理扇区,占416字节),并把控制权交给BootLoader,由BootLoader进一步完成操作系统内核的加载。当BootLoader找到内核之后,就把控制权交给操作系统内核,由内核继续完成系统的启动。可以看出,BootLoader是计算机启动中第二个要执行的程序,它是引导操作系统的关键程序。可以引导操作系统的BootLoader主要有LiLo、GRUB以及Windows下的MBR§序。其中,GRUB是目前使用最为广泛,并且非常优秀的一款启动引导程序。GRUB特性q提供了图形和文本两种操作接口q提供文本格式可手工修改的配置文件q支持动态加载需要的模块q可以移植到不同的平台上q支持国际化语言,如英文,中文,日文汉文等多字节语言q跨平台的安装,允许从另一个平台上安装GRUBq支持rescue模式,可用于系统无法引导的情况q支持多种可执行文件格式,支持各种a.out格式和ELF格式q多文件系统识别。如BSDFFSDOSFAT16FAT32和Linuxext2fsq支持压缩文件的解压缩。能够解压缩被gzip压缩的文件q能够使用BIOS所检测到的全部RAM空间q支持硬盘的LBA模式,能够访问8GB以外的全部硬盘空间q支持网络引导,可以通过TFTP协议从网络上得到操作系统映象文件并引导GRUB对设备的命名首先,GRUB寸设备的命名必须包含在小括号()内;其次,GRU环区分IDE硬盘和SCSI硬盘,统一使用hdx,其中x指定BIOS中硬盘的编号,并从0开始计数,而且IDE硬盘编号小于SCSI硬盘;第三,GRUB用fdx指定软盘设备,x是软盘驱动器号。下面是一些GRUB对设备命名的举例:q(fd0) 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示第1个软盘q(hd0,1)表示第1个硬盘的第2个分区q(hd0,0)/boot/vmlinuz表示第1个硬盘的第一个分区下的boot/目录下的vmlinuz文件。如果没有指定某个分区,则表示使用整个设备,否则只使用指定的分区q(hd0,2,a)专用于FreeBSD,FreeBSD有一个slice概念,把一个分区进一步分为几个slice,此处指明是第1块硬盘的第3个分区中的sliceaGRUB的执行 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 GRUB勺工作原理如图5.2所示。当系统加电后,固化在BIOS中的程序首先对系统硬件进行自检,自检通过后,就加载启动磁盘上的MBR并将控制权交给MBF中的程序(stage1),stage1执行,判断自己是否GRUB如果是且配置了stage1_5,则加载stage1_5,否则就转去加载启动扇区,接着,stage2被加载并执行,由stage2借助stage1_5驱动文件系统,并查找grub.conf,显示启动菜单供用户选择,然后根据用户的选择或默认配置加载操作系统内核,并将控制权交给操作系统内核,由内核完成操作系统的启动。从上面的叙述可以看出,GRU陟及到几个重要的文件:第一个就是stage1。它被安装在MBR扇区(0面0磁道的第1扇区),大小为512字节(446字节代码+64字节分区表+2字节标志55AA),它负责加载存放于0面0道第2扇区的start程序。第二个是stage1_5。stage1_5负责识别文件系统和加载stage2,所以stage1_5往往有多个,以支持不同文件系统的读取。在安装GRUB的时候,GRUB会根据当前/boot/分区类型,加载相应的stage1_5到0面0磁道的第3扇区。stage1_5是由start加载的。第三个是stage2。它负责显示启动菜单和提供用户交互接口,并根据用户选择或默认配置加载操作系统内核。同前两个文件不同,stage2是存放在磁盘上/boot/grub下。第四个是menu.lst(/boot/grub/grub.conf的链接)。grub.conf是一个基于脚本的文本文件,其中包含菜单显示的配置和各个操作系统的内核加载配置。GRUB艮据grub.conf显示启动菜单,提供同用户交互界面。GRUBlE是根据用户选择或默认配置和grub.conf的内核配置加载相应的内核程序,并把控制权交给内核程序,使得内核程序完成真正的操作系统的启动。其它重要文件,GRUB^了上面叙述的主要文件之外,还包括支持交互功能的一些磁盘程序。主要包括/sbin/下的grub、grub-install、grub-md5-crypt和grub-terminfo和/usr/bin/mbchk,以及/boot/grub下的设备映像文件(device.map)和菜单背景图像文件(splash.xpm.gz)。通过上面的 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 总结,可以很容易地看出,GRUB实际上包含两部分,一部分被安装在磁盘的特殊扇区,另外一部分则以文件的形式存在。要让GRUB启动操作系统,就必须首先把GRUB的stagel和stage1_5(根据文件系统自动选择是否安装)安装到磁盘的特殊扇区,另外,在磁盘的/boot/grub下存在有grub.conf、device.map等文件和支持交互的程序,而且这些程序必须在PATH环境变量指定的路径中。具备了这些知识,相信不管是安装、配置、备份或修复GRUB都不是件很难的是情。下面,就来逐个讲解这些知识。编译安装GRUB一般情况下,当完成Linux操作系统的安装后,系统中已经安装好了LILO或GRUB引导程序。由于系统出现故障或需要更换LILO为GRUB寸,需全新或重新安装GRUB如何安装和配置GRUB就是下面要介绍的内容。而有时候,GRUB出现了故障,但并不需要重新安装,从后面的内容中,读者也可以读到如何修复GRUB勺知识。下载安装包可以从ftp://alpha.gnu.org/gnu/grub/下载GRUB勺源码。具体安装方法请参考下面的内容,这里的安装过程都是在RHEL4中进行的。检查是否安装GRUB#rpm-qgrub如果显示grub-0.95-3.5或其它版本的GRUB勺信息,说明系统已经安装了,则执行如下命令首先将其卸载:#rpm-egrub编译源码安装a.)编译条件要编译GRUB勺源代码,系统必须具备以下条件:qGCC2.95或者以上版本q安装了GNUMakeqbinutils2.9.1.0.23或者个更高版本qTexinfo4.0或者更高版本qAutoconf2.5xqAutomake1.7或者更高版本b.)编译安装这里,假设下载的GRUBJM代码为grub-0.95.tar.gz,并放在~/(当前用户的主目录)下。通过编译源代码安装GRUB勺基本过程如下:#tar-zxvfgrub-0.95.tar.gz#解压源代码#cdgrub-0.95#转入grub目录#./configure#生成Makefile文件#makeinstall#编译代码并安装安装GRU31UMBRGRUB勺工作目录是在/boot/grub下,而makeinstall并没将其安装到/boot/grub。所以,安装完成后要执行如下一些操作:把/usr/local/share/grub/i386-pc/目录下的所有文件统统拷贝到/boot/grub/目录下#cp/usr/local/share/grub/i386-pc/*/boot/grub/在/boot/grub下创建grub.conf文件,并建立一个到grub.conf的软链接menu.lst#cd/boot/grub#touchgrub.conf#ln-sgrub.confmenu.lst注意!如果已经存在grub.conf,就最好不要再次创建,需要时直接修改即可。确认/usr/local/sbin和/usr/local/bin在PATH变量的值中,执行如下命令检查#env|grepPATH如果发现/usr/local/sbin和/usr/local/bin不在PATH变量中,可以通过如下命令修改:#exportPATH=$PATH/usr/local/sbin:/usr/local/bin安装GRUS1UMBRGRUB在启动中,被BIOS调用,只有放在MBR中才可以被调用,所以,GRUB要让BIOS调用,就必须安装在MBF中。实际上是将stagel安装到MBF中,也可能根据文件系统选择安装了stage1_5。下面,提供几个安装GRUB的例子:#grub-install/dev/hda//将GRU或装到第1块IDE硬盘的MBR#grub-install/dev/sda//将GRU或装到第1块SCSI硬盘的MBR#grub-install/dev/fd0//将GRU或装到软盘#grub-install/dev/hda1//引导系统时,往往选择这种方式,将GRUB安装到第1快硬盘的0扇区,当用其它引导程序以免覆盖其它引导程序。在GRUB勺命令行模式下安装GRUB关于GRU晞令行模式及其操作方法请参考3小节的内容。在系统显示启动菜单时候按下c键,或者系统启动后在命令行执行/usr/sbin/grub程序,都可以进入GRUB的命令行模式。命令行模式下安装GRUB的基本过程如下:q指定启动设备grub>root(hd0,0)#除了root后必须有空格,别的位置均不能有空格!此处(hdO,0)是指第1块硬盘的第1个分区。如果不能确定包含GRUB勺stagel文件的分区,可以通过find指令查找确定:grub>find/boot/grub/stage1#查找stage1GRUB将会查找文件/boot/grub/stage1并显示包含这个文件的设备名,这个设备就是上面要用到的设备。q安装GRUBgrub>setup(hd0)#除了setup后必须有空格,别的位置均不能有空格!这条命令将会在第1块硬盘的MBF安装GRUB如果不想在MBF安装GRUB而是希望将GRU或装在某分区的引导扇区的话,可以用下面的命令安装:grub>setup(hd0,0)#除了setup后必须有空格,别的位置均不能有空格!这将会在第1块硬盘的第1个分区的引导扇区安装GRUB。q退出GRUBgrub>quit重启机器,新安装的GRU生效GRUB的交互操作为了方便用户交互使用GRUBGRUB提供了交互模式,下面分别作一介绍:命令行模式登陆Linux系统后,在命令行中输入grub,便可以进入到命令行模式。如图4-3所示。进入命令行模式后GRU哙给出一个命令提示符"grub>”,此时就可以键入命令,按回车执行。此模式下允许类似于Bashshell的命令行编辑功能:<C-f>或<右箭头键>光标右移一个字符<C-b>或<左箭头键>光标左移一个字符<C-a><HOME>iy这一行的开头<C-e>或<END>到行尾<C-d>或<DEL>删除光标处的字符<C-h>或<BackSpace>删除光标左边的字符<C-k>删除光标右边的所有字符(包括光标处的字符)<C-u>删除光标左边的所有字符(包括光标处的字符)<C-y>恢复上次删除的字符串到光标位置<C-p>或<向上键>历史记录中的上一条命令<C-n>或<向下键>历史记录中的下一条命令启动时GRU命令行模式在命令行模式下键有补全命令的功能,如果你敲入了命令的前一部分,键入系统将列出所有可能以你给出的字符串开头的命令。如果你给出了命令,在命令参数的位置按下键,系统将给出这条命令的可能的参数列表。在计算机启动的时候,GRUBT先显示启动菜单,这是如果用户按键盘的“c”键,便进入如图4-4所示的命令行模式,它的操作和在Linux的命令行模式是一样的。菜单模式系统在启动时,如果找到/boot/grub/menu.lst,贝Ugrub显示grub并进入菜单模式,如图4-4所示。菜单模式下用户可以选择要启动的操作系统,或者修改配置。菜单的定义在menu.lst文件中,也可以从菜单模式按键进入命令行模式,并且可以按键从命令行模式返回菜单模式。菜单模式下按键将进入菜单编辑模式。菜单编辑模式菜单编辑模式用来对菜单项进行编辑改变,其界面和菜单模式的界面十分类似,不同的是菜单中显示的是对应某个菜单项的命令列表。如果在编辑模式下按下,则取消所有当前对菜单的编辑并回到菜单模式下。在编辑模式下选中一个命令行,就可以对这条指令进行修改,修改完毕后按下回车,GRUB各提示你确认并完成修改。如果你想在当前命令列表中增加一条命令,按在当前命令的下面增加一条指令,按在当前命令前处增加一条指令,按删除一条指令。在实际中,菜单模式用于选择要启动的操作系统,菜单编辑模式用于临时修改编辑启动菜单,这样的修改可疑通过命令写入MBR活指定的分区,但并不影响grub.conf。命令行模式也是一样,可以通过命令方式动态启动一个操作系统,同时也不影响grub.conf。所以,菜单编辑模式和命令行模式常常用来安装GRUB1UMBR或动态引导一个操作系统。而GRUB勺配置文件,则是系统启动时GRUB§序必须加载的配置文件,这个文件中有关于GRUB的各种配置。不需要用户每次启动都执行繁琐的命令了。GRUB配置文件grub.conf是GRUB勺配置文件,其结构比较简单,可以分为两部分,第一步分是全局配置,另外一部分就是每个操作系统的启动配置。其中可以有多个操作系统的菜单配置。下面就是一个具体的例子。#=================/boot/grub/grub.conf文件范例==================timeout30#等待用户选择菜单项的时间(以秒计),超时则引导默认的选项default0#默认选项,第一项fallback1#如果第一项出错,则启动下面的后备选项splashimage=(hd0,0)/grub/splash.xpm.gz#GRUB启动画面#以下是启动Linux的配置titleRedHatLinuxEnterpriseAS3forsyd168#启动项的菜单标题root(hd0,0)#指定根文件系统,第1块硬盘第1个扇区中的/boot。kernel/vmlinuz-2.4.18roroot=LABEL=/#内核在/boot中initrd/initrd-2.4.18-14.img#启动RAM盘在/boot下#以下是启动Windows的配置,如果只有Linux就不需要titleWindows2003Enterpriseforsyd168#Windows启动菜单标题rootnoverify(hd0,1)#该操作系统在hd0的第二分区,不mountchainloader+1#从第一个硬盘的第二个分区引导Windows上面的例子,只是简单说明了GRU沖启动Linux和Windows的配置方法。更多的启动配置请参考下面内容。引导多系统配置GRUBt持多操作系统引导。用GRUE引导后可以进入命令行模式或者菜单模式,可以通过灵活的命令行模式选择引导各个分区的操作系统,指定引导参数。GRUBt持三种引导方法,一种是直接引导操作系统内核,另一种是通过chainload进行间接引导,第三种就是通过网络引导操作系统。对于GRUB^够支持的Linux,FreeBSD,OpenBSDNetBSD,GUNMach等可以通过直接引导完成,但是对于GRU不支持的操作系统(如Windows),需要用第二种方法chainload来完成。下面就分别来看看这几种引导方法:直接引导配置过程通常如下:用root命令设置包含操作系统内核的根设备用kernel命令装载内核映象文件,如果这个内核引导的时有参数的话,可以直接将参数加在内核文件名的后面用module或modulenounzip装载内核模块boot开始引导chainload引导设置GRU啲根设备,用rootnoverify(hdx,y)指定开始引导,用chainloader+1指定,此处"+1”是指示GRUB读入分区的第一个扇区的引导记录。执行boot开始引导以上是一般的chainloader方式,对于DOS和WINDOWS可以简单地用两条指令进行引导:chainloader(hdx,y)+1,然后boot,其中x,y用来指明所在分区号。从网络引导:为了使GRU図E够支持从网络引导,需要在编译时打开网络支持选项(请参考源文件中的netboot/README.netboot)。另外,要在网络中设置两个服务:动态IP服务(BOOT、PDHCP或RARP和FTP服务。然后,分别针对不同的服务器BOOTPDHCP或RARP运行bootp,dhcp或rarp。如果一切设置无误的话GRUB就会给出IP,IPnetmask和TFTP服务器的IP和网关的IP地址。最后,从网上得到操作系统的映象文件。下面是一个例子:grub>bootpProbing...[NE*000]NE2000base...Address:192.168.110.23Netmask:255.255.255.0Server:192.168.110.14Gateway:192.168.110.1grub>root(nd)grub>kernel/tftproot/gnumach.gzroot=sd0s1
本文档为【Linu操作系统GRUB引导程序配置方法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_072127
暂无简介~
格式:doc
大小:21KB
软件:Word
页数:0
分类:
上传时间:2020-09-18
浏览量:0