centos开机启动流程

  • Post author:
  • Post category:其他


为什么了解开机启动流程?

排查服务器启动不了的故障,了解原因(trouble shooting)

开机->post开机自检->BIOS对硬件进行检测->boot启动顺序检查->硬盘->MBR->grub2引导程序->文件系统驱动->内核文件vmlinuz/intramfs->systemd进程->启动对应的运行级别的服务->登录->检查用户信息是否正确->运行家目录下的环境变量文件。

开机自检是主板上的BOIS(基本输入输出系统)程序会自动检测硬件。

boot引导顺序,第一启动顺序是可以调整的(在哪里启动可以在CD/等)

硬盘里面0磁道0柱面1扇区有个MBR(本质就为一个扇区)存放了linux的启动程序grub2

(PS:一个盘片可以分为很多磁道,磁道上面有63个扇区一个扇区是512字节)

grub2会去读取boot分区将一些程序加载进内存,例如vmlinuz(是linux的内核程序)initramfs(是为vmlinuz服务的程序提供一些在运行过程中需要的命令以及配置环境)

接下来内核启动systemd进程,systemd是放在intiramfs里的一个程序去启动对应运行的级别

linux系统:

单用户模式、多用户模式、完全多用户模式、图形界面

一般是3(字符界面),5(图形界面)–(常用)

命令:runlevel 查看当前的运行级别  N 3;–》N代表最开始进入的模式

init 0 关机

init 6重启 === reboot

init 5图形界面

init 3字符界面

systemctl get-default 查看默认级别

检查用户信息是涉及的文件 /etc/passwd     /etc/shadow

运行用户家目录的环境变量初始化文件:~/.bashrc    ~/bash_profile   /etc/bashrc   /etc/profile

将自己编写的程序设置为开机自启动的方式:

1. 变成服务放在system里面

2. 放在rc.local里面

3. 放在四个登录相关的脚本里

在 /usr/lib/systemd里面的system里面有很多服务是连接文件

当这些启动完了之后 还会启动/rtc/rc.loacl 这个脚本会在其他服务启动之后在执行

用yum命令安装的文件都是如此所以可以用systemctl命令启动



版权声明:本文为qq_45675231原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。