图
19.1.2
、开机管理程序的选单功能与控制权转½功能示意图
如上图所示,我的
MBR
使用
Linux
的
grub2
这个开机管理程序,并且里面假设已经有了三个选单,
第一个选单可以直½指向
Linux
的核心文件并且直½加载核心来开机;第二个选单可以½开机管理
程控权½给
Windows
来管理,此时
Windows
的
loader
会½管开机流程,这个时候他就能够启动
windows
了。第三个选单则是使用
Linux
在
boot sector
内的开机管理程序,此时就会跳出另一个
grub2
的选单啦!了½了吗?
.
选单一:
MBR(grub2) --> kernel file --> booting
.
选单二:
MBR(grub2) --> boot sector(Windows loader) --> Windows kernel --> booting
.
选单三:
MBR(grub2) --> boot sector(grub2) --> kernel file --> booting
而最终
boot loader
的功能就是『
加载
kernel
文件
』啦!
.
加载核心侦测硬件与
initramfs
的功能
当我们½由
boot loader
的管理而开始读取核心文件后,½下来,
Linux
就会½核心½压缩到主存储
器当中,
并且利用核心的功能,开始测试与驱动各个周边装置,包括储存装置、
CPU
、网络卡、声
卡等等。
此时
Linux
核心会以自己的功能重新侦测一次硬件,而不一定会使用
BIOS
侦测到的硬件
信息喔!也就是说,核心此时才开始½管
BIOS
后的工作了
。
那么核心文件在哪里啊?一般来说,
他会被放置到
/boot
里面,并且取名为
/boot/vmlinuz
才对!
[root@study ~]#
ls
--
format=single
-
column
-
F /boot
config
-
3.10.0
-
229.el7.x86_64
<==
此版本核心被
编译时选择
的功能与模
块
配置文件
grub/
<==
旧
版
grub1
,不需要理
会这
目
录
了!
grub2/
<==
就是
开
机管理程序
grub2
相
关数
据目
录
initramfs
-
0
-
rescue
-
309eb890d3d95ec7a.img
<==
底下几
个为虚拟
文件系
统档
!
这
一
个
是用
来
救援的!
initramfs
-
3.10.0
-
229.el7.x86_64.img
<==
正常
开
机
会
用到的
虚拟
文件系
统
initramfs
-
3.10.0
-
229.el7.x86_64kdump.img
<==
核心出
问题时会
用到的
虚拟
文件系
统
System.map
-
3.10.0
-
229.el7.x86_64
<==
核心功能放置到
内
存地址的
对应
表
vmlinuz
-
0
-
rescue
-
309eb890d09543d95ec7a*
<==
救援用的核心
文件
vmlinuz
-
3.10.0
-
229.el7.x86_64*
<==
就是核心
文件
啦!最重要者!
从上表中的特殊字体,我们也可以知道
CentOs 7.x
的
Linux
核心为
3.10.0-229.el7.x86_64
这个版本!
为了硬件开发商与其他核心功能开发者的便利,
因此
Linux
核心是可以透过动态加载核心模块的
(
就请想成驱动程序即可
)
,这些核心模块就放置在
/lib/modules/
目录内。
由于模块放置到磁盘根目