龙空技术网

「Linux」Linux系统启动流程

架构思考 41

前言:

如今同学们对“centos7查看开机自启”大约比较看重,大家都需要剖析一些“centos7查看开机自启”的相关文章。那么小编同时在网摘上汇集了一些有关“centos7查看开机自启””的相关知识,希望大家能喜欢,同学们一起来了解一下吧!

为什么要了解系统启动流程?

主动让软件开机自启

电脑不能正常启动,排查出错的环节

排查黑客植入木马程序,到底将木马放到了哪里

1 开机自检 (POST, Power On Self Test)

电脑通电之后,首先加载BIOS(basic input output system,基本输入输出系统)。而BIOS程序首先检查计算机能否满足运行的基本条件,这个叫做“硬件自检(Power On Self Test)”。

主要检查:主板,CPU,内存,磁盘,网卡,声卡,显卡,鼠标,键盘,显示器等

2 启动顺序

硬件自检完成后,BIOS把控制权转交给下一阶段的启动程序。这是,BIOS需要知道,“下一阶段的启动程序”具体存放在哪个设备里(磁盘,光盘,移动硬盘等)。也就是说,BIOS需要有一个外部存储设备的排序,排在前面的设备就是优先转交控制权的设备。这种排序叫做“启动顺序”(Boot Sequence)

3 主引导记录 MBR( master boot record)

主引导记录只有512个字节,位于0柱面,0磁道,1扇区,放不了太多东西。它的主要作用是,告诉计算机到硬盘的那一个位置去找操作系统

4 启动管理器 Grub

在这种情况下,计算机读取”主引导记录”前面446字节的机器码之后,不再把控制权转交给某一个分区,而是运行事先安装的”启动管理器”(boot loader),由用户选择启动哪一个操作系统。

Linux环境中,目前最流行的启动管理器是Grub

在centos7中的启动管理是grub2

[root@fruit boot]# ll总用量 112548-rw-r--r--. 1 root root   153591 10月 20 2020 config-3.10.0-1160.el7.x86_64drwxr-xr-x. 3 root root       17 5月  19 22:06 efidrwxr-xr-x. 2 root root       27 5月  19 22:08 grubdrwx------. 5 root root       97 5月  19 22:11 grub2-rw-------. 1 root root 62118628 5月  19 22:10 initramfs-0-rescue-dfc787c8ebab403c82f14b33d3c1b96c.img-rw-------. 1 root root 21714935 5月  19 22:11 initramfs-3.10.0-1160.el7.x86_64.img-rw-------. 1 root root 13773260 5月  19 22:13 initramfs-3.10.0-1160.el7.x86_64kdump.img-rw-r--r--. 1 root root   320648 10月 20 2020 symvers-3.10.0-1160.el7.x86_64.gz-rw-------. 1 root root  3616707 10月 20 2020 System.map-3.10.0-1160.el7.x86_64-rwxr-xr-x. 1 root root  6769256 5月  19 22:10 vmlinuz-0-rescue-dfc787c8ebab403c82f14b33d3c1b96c-rwxr-xr-x. 1 root root  6769256 10月 20 2020 vmlinuz-3.10.0-1160.el7.x86_64[root@fruit boot]# 

5 操作系统

控制权转交给操作系统后,操作系统的内核首先被载入内存。开始运行第一个程序systemd,执行默认target配置文件/etc/systemd/system/default.target

# 可以看出systemd启动用户进程, kthreadd 启动内核进程[root@fruit default.target.wants]# ps -efUID         PID   PPID  C STIME TTY          TIME CMDroot          1      0  0 09:31 ?        00:00:10 /usr/lib/systemd/systemd --switched-root --system --desroot          2      0  0 09:31 ?        00:00:00 [kthreadd]root          4      2  0 09:31 ?        00:00:00 [kworker/0:0H]root          6      2  0 09:31 ?        00:00:01 [ksoftirqd/0]root          7      2  0 09:31 ?        00:00:00 [migration/0]

centos7/8 里的第一个进程是systemd

centos6 的第一个进程是init

6 运行级别 runlevel

[root@localhost test]# runlevel # 查看当前的运行级别

N 3

N 代表最开始进入的模式, 如果是N表示没有进行模式切换

3 5 代表最开始进入运行级别3 , 后面切换到运行级别5

centos 6 中的叫法

 0  关机1  单用户模式2  多用户模式,不能使用 nfs3  完全多用户模式4  保留,没有使用5  图形界面6  重启

7 用户登录

登录shell

首先读取/etc/profile配置文件,加载/etc/profile.d/*.sh,再去用户的家目录,读取~/.bash_profile,然后去~/.bashrc,最后读取/etc/bashrc。进行初始环境变量

非登录shell

首先读取~/.bashrc文件,再读取/etc/bashrc

三、自己做好的程序怎么开机自启呢?

放入/etc/rc.local文件中

bash初始化的4个文件里

强烈建议整个服务器搭建Linux耍耍,还可以搭网站,我用的是3A的服务器

标签: #centos7查看开机自启