21、linux启动流程和救援模式

1.Linux启动流程

img

2.Linux运行级别

1.什么是运行级别,运行级别就是操作系统当前正在运行的功能级别

System V init运行级别systemd目标名称作用
0runlevel0.target, poweroff.target关机
1runlevel1.target, rescue.target单用户模式
2runlevel2.target, multi-user.target
3runlevel3.target, multi-user.target多用户的文本界面
4runlevel4.target, multi-user.target
5runlevel5.target, graphical.target多用户的图形界面
6runlevel6.target, reboot.target重启

2、如何调整系统启动的运行级别?systemd使用targets而不是runlevels。默认情况下,有两个主要目标:

multi-user.target:类似于运行级别3
graphical.target:类似于运行级别5

1.查看系统默认运行级别
[root@student   ~]#    systemctl   get-default
#2.要设置默认目标,请运行
[root@student   ~]#    systemctl   set-default TARGET.target

3.Linux systemd

1.systemd的由来

Linux一直以来都是采用init进程作为祖宗进程,但是init有两个缺点:
1.启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。
2.启动脚本复杂,初始化完成后系统会加载很多脚本,脚本都会处理各自的情况,这会让脚本多而复杂。
Centos5是启动速度最慢的,串行启动过程,无论进程相互之间有无互相依赖关系。
Centos6相对启动速度有所改进。有依赖的进程之间依次启动而其他与之没有依赖关系的则并行同步启动。
Centos7所有进程无论有无依赖关系则都是并行启动(当然很多时候进程没有真正启动而是只有一个信号或者说是标记而已,在真正利用的时候才会真正启动。)
img

2.什么是systemd

systemd即为system daemon守护进程,systemd主要解决上文的问题而诞生的,systemd的目标是,未系统的启动和管理提供一套完整的解决方案。

3.systemd的优势

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

4.systemd相关配置文件(了解)

/usr/lib/systemd/system/ #类似Centos6系统的启动脚本/etc/init.d/
/etc/systemd/system/ #类似Centos6系统的/etc/rc.d/rcN.d/
/etc/systemd/system/multi-user.target.wants/

5.systemd管理服务相关命令

systemd管理服务的启动、重启、停止、重载、查看状态等常用命令

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启动一个守护进程后,可以通过systemctl status查看此守护进程的状态

状态描述
loaded服务单元的配置文件已经被处理
active(running)服务持续运行
active(exited)服务成功完成一次的配置
active(waiting)服务已经运行但在等待某个事件
inactive服务没有在运行
enable服务设定为开机运行
disable服务设定为开机不运行
static服务开机不启动,但可以被其他服务调用启动

systemctl设置服务开机启动、不启动、查看各级别下服务启动状态等常用命令

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

Centos7系统,管理员可以使用systemctl命令来管理服务启动与停止

关机:
 systemctl poweroff 
重启
 systemctl reboot

systemctl的journactl日志

journalctl  -n  20  查看最后20行
journalctl  -f  动态的查看日志
journalctl  -p  err 查看日志的级别
journalctl  -u  crond   查看某个服务的单元的日志

4.Linux单用户模式

如何使用单用户模式进行变更系统密码?以centos7系统为例:
第一步:重启Linux系统主机并出现引导界面时,按下键盘上的e键进入内核编辑界面
img
第二步:在linux16这行的后面添加enforcing=0 init=/sbin/bash,然后按下ctrl+x组合键来运行修改过的内核程序
img
第三步:大约5秒后,进入系统的单用户模式,依次输入以下命令,等待系统重启操作完毕,然后就可以使用新密码来登录Linux系统了
img

5.Linux下救援模式

场景一:当系统坏了,无法登陆系统,但需要把里面的数据复制出来。

步骤一:先挂载光盘,然后选择光盘引导为第一位
img

步骤二:进入故障排除模式–>然后选择救援模式
img
img

步骤三:挂载真实系统后,发现数据都还在
img

场景二:修复MBR,主要出现安装双系统时,后安装的系统吧原来的MBR删除了,需要修复。

步骤一:破坏硬盘的前446字节,模拟MBR引导损坏,会发现重启无法启动系统
[root@m01 ~]# dd if=/dev/zero of=/dev/sda bs=1 count=446

img

步骤二:重启系统,然后按照之前的操作进入救援模式,然后分配一个shell终端,挂载真实的操作系统进行修复。

img

步骤三:修复MBR引导,然后重启连接服务器

1.使用grup修复
grub2-install   /dev/sda

2.然后退出
exit

3.最后重启进入系统
reboot

场景三:Centos7误删除grup文件如何进行修复

步骤一:模拟误删除故障

1.删除grup2 
[root@m01   ~]#    rm  -rf /boot/grub2

2.重启计算机
[root@m01   ~]#    reboot 

img

步骤二:重启系统,然后按照之前的操作进入救援模式,然后分配一个shell终端,挂载真实的操作系统进行修复。

img

步骤三:使用grup2-install、grup2-mkconfig恢复配置文件

img

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值