Linux内核的功能
进程管理
网络管理
iO设备管理
文件系统
selinux
驱动管理
Linux核心位置:ls /boot/vmlinux-6.4.0-150600.21-default.gz
Linux模块位置:ls /lib/modules/6.4.0-150600.21-default/kernel/
Linux的启动过程
第一步:POST(Power On and Self Test,加电自检)
CMOS芯片-- BIOS程序(Basic Input and Output System)
让系统进行自检
设置系统的启动项(Boot Sequence),指定从哪个设备来启动系统
指定了启动设备后,会从指定设备上找 MBR,主要是需要Bootloader
第二步:根据bootloader来加载磁盘上的内核文件(vmlinuz)
vmlinuz:内核
initramfs:临时文件系统,在内存中临时模拟一个文件系统
通过initramfs可以让内核获取基本的驱动程序,然后内核就开始重新挂载跟文件系统到真正的磁盘,在挂载过程是以只读的方式来挂载
第三步:在文件系统中找到并启动第一个程序(init)- systemd
systemd: 配置文件位置:ls /usr/lib/systemd/system ls /etc/systemd/system
init功能:完成系统的初始化
1、将根重新挂载为读写状态
2、将那些设置为自启动的程序启动起来
3、设置运行级别 init 0. init6 配置
4、打印登陆界面
5、验证用户 等
MBR
什么是bootloader
开机引导程序-Grub
grub程序分为三部分
第一部分:stage1,位于MBR中的Bootloader
第二部分:stage1.5,位于MBR之后的扇区中,作用帮助bootloader来识别磁盘文件系统
第三部分:stage2,位于磁盘文件系统上/boot/grub2/grub.cfg
grub功能
提供一个菜单,让用户选择要使用的内核
指引找到磁盘上的vmlinuz和initrd文件
转交其他loader(多系统)
提供一种保护机制(编辑菜单认证机制,但启动某个内核的时候做认证)
grub识别磁盘的方式
(hd#,#),前面表示的磁盘编号,后面表示分区编号,从0开始编号
(hd0,0),表示第一个磁盘的第一个分区
修复grub
第一阶段损坏
第二阶段损坏
# 重新安装
grub2-install --help