欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一分钟掌握Linux系统grub.conf配置核心知识 博客分类: Linux Linux运维运维学习系统运维Linux云计算 

程序员文章站 2024-03-18 18:50:46
...

一分钟掌握Linux系统grub.conf配置核心知识

引导加载程序(Boot loader)是在计算机在加载操作系统内核之前运行的一段小程序。通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境加载到一个适合的状态,以便为最终调用操作系统内核做好准备。通常,引导加载的程序依赖于硬件实现,早期的Linux系统常见的引导加载程序有2种,即Grub和Lilo,现如今Grub已经成为了主流(类似Windows下的boot.ini引导文件)。

引导加载程序读取grub.conf文件的配置信息,然后根据对应配置信息来启动不同的操作系统, 管理员可以从三个路径查看grub.conf的配置信息,具体如下所示:

[root@oldboy boot]# cat /etc/grub.conf

#<==也可读取/boot/grub/menu.lst(软链接)或/boot/grub/grub.conf(真实文件)。

...省略多行注释信息,其实这里的注释已经解释的蛮清楚了,只是90%的初学者看不见这里...

default=0

#<==默认情况下如何加载系统,0表示加载菜单中对应的第一个名字,多系统时可以调节默认加载项。

timeout=5

#<==表示多少秒之后开始加载默认的系统,给管理员提前选择的时间。

splashimage=(hd0,0)/grub/splash.xpm.gz  

#<==启动时显示的背景图标,在(hd0,0)代表/boot分区。

hiddenmenu  

#<==系统启动时,会隐藏启动菜单信息,按默认设置启动系统,除非用户按键干预。

password [–md5|–encrypted ] STRING   

#<==当编辑grub菜单时需要输入密码认证,Linux基础优化之一,默认没有。

title CentOS 6 (2.6.32-696.el6.x86_64)  

#<==要启动的系统对应的项目名称,可按需修改。

root (hd0,0)  

#<==引导内核文件和内核所需驱动文件所在的分区,(hd0,0)代表/boot分区。

#<==其中hd0表示计算机的第一块磁盘,(hd0,0)中逗号后面的0表示第一个分区,即(hd0,0)表示第一块磁盘的第一个分区,即/dev/sda1(分区通常最先独立分出的/boot分区,对应的设备名就是sda1)。

kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=UUID=491eabe5-e6c0-4457-9bdb-b37cc6751308 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet  

#<==整行表示加载内核,即读取boot分区上的内核文件及一堆可选内核参数。

#<==/vmlinuz-2.6.32-696.el6.x86_64为内核文件。root=UUID=后面一串数字表示根对应的设备信息(/dev/sda3),其他介绍的作用不大,忽略即可。

initrd /initramfs-2.6.32-696.el6.x86_64.img  #<==内核启动所需的驱动文件的所在地,存在于boot区。

提示:这个grub.conf的知识其实在企业Linux运维中用途不是很大,讲解grub的目的是,希望读者能了解Linux系统的整个启动流程做铺垫,RHCE认证课程会有修复grub.conf的考题,其实没什么大用,因为在IT网站运维工作中,极少在线处理问题,出问题也是直接切换服务了,之后在慢慢研究修复还是重装都可以。

内容来源《跟老男孩学习Linux运维核心基础实战》,预计于2018年7月出版敬请期待。