Linux 入门总结(十三) —— Linux 启动管理
CentOS 启动管理
系统运行级别
1、运行级别
2、运行级别命令1
2
3
4
5# 查看当前运行级别
runlevel
# 改变运行级别
init 运行级别
3、系统默认运行级别1
2
3
4
5
6
7
8
9
10# 设置系统开机后直接进入哪个运行级别
vim /etc/inittab
写入如下内容:(注意最后的冒号不能少)
id:3:initdefault:
# CentOS7 设置系统默认运行级别
# To view current default target, run:
systemctl get-default
# To set a default target, run:
systemctl set-default TARGET.target
系统启动过程
1、Linux 启动流程图
当按下开机键以后,主板上的 BIOS 芯片就会进行自检,自检完成后它会加载 MBR(即主引导记录,它里面保存着启动引导程序。在 Linux 中启动引导程序是 grub ,grub 保存在 MBR 中,grub 是系统启动主要的引导程序) 。紧接着判断式单系统还是多系统,单系统直接启动,多系统让用户选择要启动哪个系统,最终都会加载需要启动的操作系统的内核(这里的内核是一个压缩的内核),然后启动就会往下一步走。内核解压并进行自检,如果是 Linux,Linux 一般信任的是 Linux 内核自检,会把内核的自检过程记录在 dmesg。内核加载之后,就需要由内核去加载驱动(注意:只要内核安装完成,所有的驱动都装在内核当中,内核会根据硬件自动判断需要哪个驱动并进行加载,这点不同于 Windows。注意,内核中只保留了常见的驱动,把不常见的驱动作为函数模块,即把驱动写成一个程序,保存在硬盘里,一般放在 /lib 目录下,当需要的时候内核直接去该目录下去读取,这样保证了内核不会太大)。
2、注意:boot 这个分区不是由内核直接加载的,而是由启动引导程序事前就已经读取出来的,即启动引导程序默认是可以识别 boot 分区的。initramfs 内存文件系统,其作用是可以通过启动引导程序加载到内存中,然后加载启动过程中所需的内核模块,比如 USB、SATA、SCSI 硬盘的驱动和 LVM、RAID 文件系统的驱动。可以在 /boot 目录下看到该文件。
3、打开 initramfs 文件操作步骤1
2
3
4# 查看文件类型
file initramfs*.img
# 提取文件
cpio -ivcdu < initramfs*.img