操作系统的引导过程与服务控制

引导过程与服务控制

一、引导过程管理

1、引导过程

【1】开机硬件自检(BIOS)

基本的自检,检测出第一个能够开机引导系统的设备(光驱、硬盘、U盘),查找引导程序。

【2】MBR引导

引导设备放置在设备里面的第一个扇区(MBR、512字节),MBR里面会有GRUB引导程序,分区表,BIOS找到引导程序之后会启动使其运行起来。

【3】GRUB菜单

Linux中的启动运行程序,运行起来之后会读取grub配置文件grub.conf,里面有内核,设置等,让引导程序加载内核和镜像文件。

【4】加载内核(kernel)

在加载时把内核和镜像文件都加载到内存里面(这个是由kernel小程序完成的),完成之后有进行一次全面的硬件自检,所有的均加载完毕之后内核把init进程运行起来。

【5】systemd进程或init进程初始化

它们是所有进程的父进程,负责整个环境的初始化。是系统的第一个进程,内核加载/sbin/init程序运行init进程,PID(进程标记号)永远是1。完成就启动系统。
(1)init进程:init是centos6之前初始化进程,加载并运行/sbin/init程序,进程号是“1”。
(2)systemd进程:systemd是centos7之后初始化进程,加载并运行/usr/lib/systemd/system程序,进程号是“1”

2、Upstart启动方式

将初始化配置文件分散存放,响应不同的启动事件,以事件为基础的启动方式。
在这里插入图片描述

3、inittab文件的结构

【1】格式:id:runlevels:action:process

在这里插入图片描述

【2】runlevels—运行级别

在这里插入图片描述

4、排除启动类故障

注:急救模式工作原理
光盘的操作系统在内存中运行,硬盘中坏的操作系统挂载到内存中的/mnt/sysimage目录下,这个目录相当于硬盘中的根目录,这样就能修改破坏的操作系统。
shell#chroot /mnt/sysimage/

【1】修复MBR扇区故障
(1)故障原因

病毒、木马等造成的破坏;
不正确的分区操作、磁盘读写误操作;

(2)故障现象

找不到引导程序,启动中断;
无法加载操作系统,开机后黑屏;

(3)解决思路

应提前做好备份文件;
以安装光盘引导进入急救模式;
从备份文件中恢复;

(4)示例案列

1)挂载分区到某个文件下
在这里插入图片描述
2)备份MBR扇区数据(of=备份到路径尽可能到其他磁盘,bs表示读写单位,count表示读写数量)

[root@localhost ~]# dd if=/dev/sda of=/backup/sda.mbr.bak bs=512 count=1
[root@localhost ~]# ls /backup
sda.mbr.bak

注:dd命令比tar的备份更加强烈,tar包一般备份普通文件,透明的文件目录等,dd可以备份不透明的文件(扇区等),看不见的目录。
3)模拟MBR扇区故障(设备文件/dev/zero表示无限制产生0的程序文件)

[root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=512 count=1
[root@localhost ~]# init 6

4)重启之后没法找到系统,挂载光盘再次重启电脑在读条时候按键“ESC”选择光盘启动CD-ROE
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5)从备份文件中恢复MBR扇区(备份路径和备份到的路径互换)

shell#mkdir /mbr
shell#mount /dev/sdb1 /mbr
shell#ls /mbr
sda.mbr.bak
shell#dd if=/mbr/sda.bak of=/dev/sda
shell#reboot
【2】修复GRUB引导故障
(1)故障原因

1)MBR中的GRUB引导程序遭到破坏
2)grub.conf文件丢失,引导有误

(2)故障现象

系统引导停止,显示“grub>”提示符

(3)解决思路

进入急救模式,重建grub程序

(4)案例说明

【1】查看gurb配置文件路径

[root@localhost ~]# ls /boot/grub2
device.map   fonts   grub.cfg  grubenv  i386-pc locale 

【2】模拟破坏,删除配置文件

[root@localhost ~]# rm -rf /boot/grub2/grub.cfg 
[root@localhost ~]# reboot
就会出现重写grub菜单的界面
grub>

【3】挂载光盘再次重启电脑在读条时候按键“ESC”选择光盘启动CD-ROE
【4】troubeshooting
【5】rescue system
【6】选择1coutiue回车进入shell终端
1)使用安装光盘引导进入急救模式,若分区表并未被破坏,则急救模式将会找到硬盘中的Linux根分区,并将其挂载到光盘目录结构中的/mnt/sysimage文件夹中。

shell#chroot /mnt/sysimage/

2)进入“bash-4.1#”的shell环境以后,执行“grub2-install /dev/sda”命令可以重新加载sda分区

bash-4.1#grub2-install /dev/sda

3)重新构建grub.conf配置文件即可

bash#grub2-mkconfig -o /boot/grub2/grub.cfg
bash#exit
shell#reboot

注:分区表保存在MBR扇区的第447~510字节中,MBR共有512字节,前446字节是主引导记录,后64字节,每16字节为一组,共四组是硬盘分区表。

【3】忘记root密码故障
(1)故障原因

忘记root密码

(2)故障现象

无法进行需要root权限的管理操作
若没有其他可用账号,将无法登录系统

(3)解决思路

进入急救模式,重设密码。

(4)案例说明

使用命令chroot /mnt/sysimage进入急救模式,重新改密码就可以。
【1】挂载光盘再次重启电脑在读条时候按键“ESC”选择光盘启动CD-ROE
【2】troubeshooting
【3】rescue system
【4】选择1coutiue回车进入shell终端

shell#chroot /mnt/sysimage/
bash#passwd root
passwd:
passwd again:
bash#exit
shell#reboot

二、服务控制及优化启动过程

1、系统服务控制

【1】常用方式

Service 服务名称 控制类型(我要对这个服务做什么操作)
/etc/rc.d/init.d 服务名称 控制类型
Systemctl 控制类型 服务名称

【2】控制类型

Start:启动、stop:停止、restart:重启、reload:重新加载、status:查看服务状态

【3】示例postfix服务

在这里插入图片描述

【4】reload与restart区别

Reload:重载配置文件,服务不停止重新加载配置文件生效,叫平滑过渡。相当于刷新
Restart:相当于停掉这个网页,重新点进,要停掉服务。

2、Linux系统的运行级别

【1】查看运行级别:使用runlevel命令
【2】临时切换运行级别:使用init命令结合0-6运行级别参数,如init 3。

3、优化启动工具

系统服务选择开启还是关闭,应根据主机的实际功能需求来定。

【1】systemctl工具(常用)

语法:systemctl 控制类型 服务名称
服务的配置文件:/usr/lib/systemd/system/NAME.service
三个部分组成:
unit定义数据单元
service服务的配置
install定义是否开机自启
(1)启用或停用
disable永久停用,enable永久启用
(2)启动或停止
Start启动、stop停止、restart重启、reload重新加载、status查看服务状态
(3)查看服务启动状态
systemctl 【is-active|is-failed】 service
(4)屏蔽与取消屏蔽
systemctl 【mask|unmask】service
如,iptables(yum install iptables-services)和Firewalld互相冲突。

【1】ntsysv工具(*空格键,tab键OK)

(1)提供一个交互式、可视化窗口,可在字符界面运行,便于集中管理多个服务
(2)语法:ntsysv --level 级别(0–6)
在这里插入图片描述

【2】chkconfig工具

(1)不提供交互式可视化窗口,管理单个服务效率更好。
(2)语法:查看服务状态chkconfig --list (服务名称) 永久关闭:chkconfig --level 级别 服务名 on/off
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章