开机启动流程--25

开机启动流程:
centos 6 (理解)


Xnip2020-04-09_20-41-56.jpg
      开机启动,先是bios自检
   1.内核的引导   加载grup菜单,加载/boot的内核文件
   2.运行init(进程最高级)要是没有这进程的话,系统中任何的进程都没法启动
         它首先会去读取配置文件/etc/inittab ,加载运行级别,我们默认是3,命令行级别。   
3.系统的初始化
         其实就是运行一些脚本(就是一些命令堆积起来的文件),而这些脚本文件都是在/etc/init.d里
4. 建立终端。
          出开启6个终端。而这个是我们必须坐在接通的电脑显示器前才行,远程是看不到的。

[root@fanxiaolei ~]# tty
/dev/tty1 真实的物理机才能看到的,是一个终端
[root@fanxiaolei ~]# tty
/dev/pts/0 远程看到的,只是一个端口。
5. 用户登录系统。
@1.命令行登录 (必须要面对到具体的物理机,看到它的界面)
@2.ssh登录 (你是看不到系统的整个重启过程的)
@3.图形界面登录


image.png
   centos 7 
image.png

使用命令pstree -sp 查看树状一样的进程。


image.png

内核的加载。通过uname -a 可以查看加载的内核是什么?


image.png

6和7的对比:


Xnip2020-04-09_20-47-06.jpg

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

运行级别?其实就是运行的环境。
centos 6

/etc/inittab
0 6 关机 重启
2 4 没有使用
3 5 字符 图形
1 单用户

 1.临时
    runlevel    查看当前级别   
        init Number     切换级别
     2.永久  /etc/inittab
     id:5:initdefault #开机启动什么级别

思考: /etc/inittab 修改为 0 或者 6 会出现什么问题?
开机 要么就关机 要么就重启
原因:是因为我们修改错了配置文件,其实可以通过 单用户模式解决。
单用户模式,是防止你的系统配置错了,可以进入单用户进行修改
救援模式:是你的系统直接损坏,文件丢失。内核都直接启动不起来时。

     解决方法:因为问题就是出在加载运行级别,那么等系统启动到运行级别的位置,强行的让它改变,加载其他的运行级别。
image.png

只不过单用户模式,必须去到服务器旁边,接上显示器,才能操作,远程不行。

centos 7

System V init运行级别 systemd目标名称 作用
0 runlevel0.target, poweroff.target 关机
1 runlevel1.target, rescue.target 单用户模式
2 runlevel2.target, multi-user.target
3 runlevel3.target, multi-user.target 多用户的文本界面
4 runlevel4.target, multi-user.target
5 runlevel5.target, graphical.target 多用户的图形界面
6 runlevel6.target, reboot.target 重启
但是这些都是软连接。
0 关机
1 单用户 (破解密码)
2 没使用
3 命令行模式 | 字符 <--生产必用
4 没有使用
5 图形界面
6 重启

0 6 关机 重启 2 4 没有使用 3 5 字符 图形 1 单用户

[root@fanxiaolei ~]#vim /etc/inittab (默认的启动级别是3 5)

multi-user.target: analogous to runlevel 3

graphical.target: analogous to runlevel 5

[root@fanxiaolei ~]#runlevel
N 3
N 上一次的级别是什么 N表示上一次没有的意思
3 当前正在使用的级别

#########################永久的操作,一次成型,
查看当前的运行级别
[fanxiaolei ~]# systemctl get-default.
multi-user.target
设置默认的运行级别
[fanxiaolei ~]systemctl set-default graphical.target
再次修改
[fanxiaolei ~]systemctl set-default multi-user.target
###############################

systemd
为system daemon守护进程.
优势:
1、最新系统都采用systemd管理(RedHat7,CentOS7,Ubuntu15等)
2、Centos7支持开机并行启动服务,显著提高开机启动效率。
3、Centos7关机只关闭正在运行的服务,而Centos6全部都关闭一次。
4、Centos7服务的启动与停止不在使用脚本进行管理,也就是/etc/init.d下不在有脚本。
5、Centos7使用systemd解决原有模式缺陷,比如原有service不会关闭程序产生的子进程。

相关配置:
/usr/lib/systemd/system/ #类似Centos6系统的启动脚本,/etc/init.d/
/etc/systemd/system/ #类似Centos6系统的/etc/rc.d/rcN.d/

/etc/systemd/system/multi-user.target.wants/
centos7在读取运行级别时,假设我们使用的是multi-user,那么则会加载该目录下的所有服务资源

这一块,可以通过systemctl进行添加和删除:

systemctl enable ServiceName(服务的名字)#加入开机自启
systemctl disable ServiceName #关闭开机自启
例如:systemctl enable nginx (就是把nginx加入到开机自启)

   问题:我现在正在运行Nginx程序,和我去设定Nginx程序开机启动和关闭,是否影响该Nginx程序的正常运行?
         不会影响的,所设定的开机自启和关闭都是等下一次开机的时候,才会进行生效,因为在重新一个开机时,才会在一次去加载开机自启里的文件。

#############针对当前正在运行的程序
systemctl命令 作用
systemctl start crond.service 启动服务
systemctl stop crond.service 停止服务
systemctl restart crond.service 重启服务
systemctl reload crond.service 重新加载配置
systemctl status crond.servre 查看服务运行状态
systemctl is-active sshd.service 查看服务是否在运行中
systemctl mask crond.servre 禁止服务运行
systemctl unmask crond.servre 取消禁止服务运行

当我们使用systemctl启动一个守护进程后,可以通过sysytemctl status查看此守护进程的状态

状态 描述
loaded 服务单元的配置文件已经被处理
active(running) 服务持续运行
active(exited) 服务成功完成一次的配置
active(waiting) 服务已经运行但在等待某个事件
inactive 服务没有在运行

enabled 服务设定为开机运行
disabled 服务设定为开机不运行
static 服务开机不启动,但可以被其他服务调用启动

systemctl 设置服务开机启动、不启动、查看各级别下服务启动状态等常用命令
systemctl命令(7系统) 作用
systemctl enable crond.service 开机自动启动
systemctl disable crond.service 开机不自动启动
systemctl list-unit-files 查看各个级别下服务的启动与禁用
systemctl is-enabled crond.service 查看特定服务是否为开机自启动
systemctl daemon-reload 创建新服务文件需要重载变更

单用户模式:
1.忘记ROOT密码。


image.png
image.png
image.png

然后输入密码就可以登录。

2.修改错配置文件,造成系统无法启动成功。

救援模式:

  1. 需要使用光盘,先添加一个光盘。然后启动到固件。
    Xnip2020-04-09_23-09-01.jpg

    ⚠️:一定要把光盘移动到最上边,作为第一引导。

2.进入到新加载的页面,选择救援模式


Xnip2020-04-09_22-50-31.jpg

3.继续选择救援系统


Xnip2020-04-09_22-53-19.jpg

4.进入到挂载界面,实际系统已经挂载到/mnt/sysimage。
Xnip2020-04-09_22-55-53.jpg

5.按回车给到你一个窗口,然后切换到真实的系统,然后执行任务。


Xnip2020-04-09_23-13-58.jpg

6.然后exit退出窗口,reboot重启系统。在重新进入到救援模式。然后加载正常的磁盘,然后救援完成。
1.当系统坏了,无法登陆系统,但需要把里面的数据复制出来,怎么办?(作业)
/dev/sda /dev/sdb   /dev/sdc
系统      数据盘     进入救援模式后,将sdc格式化并挂载,将sdb数据拷贝至sdc,然后取出sdc盘

2.修复MBR,主要出现在安装双系统时,后安装的系统把原来系统的MBR删除了,需要修复。
  使用grub修复
     grub2-install /dev/sda

3.Centos7误删除grub文件如何进行修复。
image.png

方法都是一样的,都是挂光盘,然后进入救援模式,然后修复。

你可能感兴趣的:(开机启动流程--25)