GRUB启动全程细节窥探

上传人:M****1 文档编号:476474775 上传时间:2023-10-16 格式:DOC 页数:5 大小:42.50KB
返回 下载 相关 举报
GRUB启动全程细节窥探_第1页
第1页 / 共5页
GRUB启动全程细节窥探_第2页
第2页 / 共5页
GRUB启动全程细节窥探_第3页
第3页 / 共5页
GRUB启动全程细节窥探_第4页
第4页 / 共5页
GRUB启动全程细节窥探_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《GRUB启动全程细节窥探》由会员分享,可在线阅读,更多相关《GRUB启动全程细节窥探(5页珍藏版)》请在金锄头文库上搜索。

1、GRU启动全程细节窥探理解Linux的启动过程,对于解决Linux系统启动问题还是非常有帮助的,知道Linux系统在每个阶段做了哪些事,将会帮助你更快的找到问题出处,并解决这些问题。提示:在进行重要文件编辑之前,最好是先对文件进行备份。首先,我们来看机器启动的第一步-自检(Power-OnSelfTest)tekinnovativebusinesssolutionsPressFIEtoselectbootdevice.在启动过程中的第一步,就是自检,自检是由电脑的BIOS(基本输入输出系统)完成的,是对机器系统组件进行检查,不同的计算机架构可能有不同的检查方式,但它们是最终目的都是相同的。在自

2、检过程中,如果发生错误,警报就会产生,机器就会产生一系列有规则的“滴”的声音,来标识特定的错误;如果自检通过,则BIOS就会读取硬盘上的主引导记录,然后载入在内存中找到的引导程序。主引导记录(MBR:MASTERBOOTRECORD512BYTES主引导记录(MBR)是通过BIOS读取启动驱动器的第一个512字节到内存(这里假设我们使用X86架构)在这512字节中,前面446字节一般包含一个底层启动代码,由它指向硬盘中的引导程序,后面64个字节包含了这个硬盘的分区表(由4个16字节组成),最后剩下的2个字节是MagicNumber,它是用来进行错误检测。引导程序(BootLoader)引导程序

3、的目的是用来载入操作系统,在Linux系统中,有许多引导程序可以使用,但在Linux中最主要的引导程序是LILO和GRUBWindows也有自己的引导程序,叫NTLDR(NewTechnologyLoader),你可能曾经也在windows启动的时候看到,这样子的信息”NTLDRismissing”;这就是windows引导程序出错后显示的提示信息。GRUBGMUGRUBversion0.971639KLowerZuppeirinimury)relS)UseileTqtiJIktystoselectuiliichentryishiylil.PressentertoboottheseLected

4、USj寸toeditthecommandsbeforebootingjtornotlifythekerne1argumentsbeforebootingfor1c1foracommand-Iine.,REDHATENTERPRISELINUX5在当今Linux发行版本中最为流行的引导程序就是GRUB(GRandUnifiedBootloader),GRUB是一个写入到主引导记录和硬盘上的启动分区(/boot)中,并且用于加载操作系统的程序。GRUB!基于模块化设计,由不同的工作阶段组成。其中GRUB勺启动阶段分为Stage1和Stage1_5和Stage2这三部分组成。Stage1stage1

5、代码被写入到主引导记录的512字节中去,但由于MBR大小方面的限制;GRUBstage1通常指向GRUB勺下一阶段stage1_5或stage2,GRUB是否需要载入stage1_5这取决于当前文件系统的类型。可以查看GRUBstage1,只要在系统的/boot/grub目录下运行以下命令:rootlocalhostgrub#filestagelstagel:x86bootsector,codeoffset0x48Stage1_5Stage1_5是位于Stage1和Stage2之间的中间阶段如果你查看过/boot/grub目录,你应该会看到各种不同文件系统类型名称的stage1_5文件,这些文

6、件会让stage1_5阶段准确的识别文件系统类型以下是保存在/boot/grub目录下的stage1_5文件:e2fs_stage1_5fat_stage1_5ffs_stage1_5iso9660_stage1_5jfs_stage1_5minix_stage1_5reiserfs_stage1_5ufs2_stage1_5vstafs_stage1_5xfs_stage1_5Stage2这是grub的主要阶段,它通常在/boot分区中的/boot/grub/stage2位置,它读取/boot/grub/grub.conf文件中的配置信息来确认如何加载内核,它拥有交互界面,允许你通过它来解决

7、启动问题,重新或修改GRUB如何让系统工作,stage2给用户显示出一个图形启动菜单,如果没有使用相关的按键进行操作,如e,i键等,那么在规定时间内,没有进行选择,GRU哦会从默认菜单项启动。/boot/grub/grub.conf该文件指定特定内核和initrd文件所有模块,并载入到你的Linux系统中去。以下是RedHat中典型的grub.conf文件# #grub.confgeneratedbyanacondaNotethatyoudonothavetorerungrubaftermakingchangestothisfileNOTICE:Youhavea/bootpartition.T

8、hismeansthatallkernelandinitrdpathsarerelativeto/boot/,eg.以下是经常出现的启动错误界面:GNUGRUBversion0.97(640Klower/3072Kuppermemory)MinimalBASH-likelineeditingissupported.Forthefirstword,TABlistspossiblecommandcompletions.Anywhereelse,TABliststhepossiblecompletionsofadevice/filename.grub什么都没有,只有GRUB勺提示符,我们该怎么办?通

9、过GRU時的TAB键来手动启动,以下是操作步骤:grubroot(hd0,0)Filesystemtypeisext2fs,partitiontype0X83grubkernel/-grubkernel/vmlinuz-2.6.18-8.el5roroot=LABEL=/Linux-bzlmage,setup=0x1e00,size=0x1ad054grubinitrd/grubinitrd/initrd-2.6.18-8.el5.imgLinux-initrd0xfe8a000,0x15547cbytesgrubboot其中,root(hd0,0)专指第一块硬盘中的第一个分区;在kernel行中,你可以输入”/”,1可以查看显示内核列表,在输入所要启动内核名称的几个关键字符之后,按键让GRUB自动帮你补全;另外”roroot=LABEL=/”选项,来自我对RedHat系统使用的经验,你可能会有所不同;所以你需要在你的grub.conf文件中检查这些内容。boot,回车,在initrd行,也可以使用同样的操作,显示相关内容列表。最后,输入Linux系统就可以启动。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号