引导过程与服务控制

简介: 1、Linux操作系统引导过程2、服务控制及切换运行级别3、优化启动过程4、排障启动类故障

1、Linux操作系统引导过程:

b1.png


简单地意思就是:

          开机自检通过,把控制权交给第一个引导系统的设备,一般交给硬盘

   运行放在MBR扇区里的GRUB引导程序

   GRUB引导程序通过读取配置文件 /boot/grub2/grub.cfg  ,来获取内核和镜像文件系统的设置和路径

   内核接过控制权,把内核和镜像文件系统加载到内存里

   加载硬件驱动程序,内核把init进程加载到内存中运行

 

 

接下来说说系统初始化进程:

  • init进程)是由Linux内核加载运行 /sbin/init程序,init进程是系统中第一个进程,是所有进程的父进程(头子),进程标记号永远是1
  • systemd)是Linux操作系统的一种init软件,centos7中采用全新的Systemd启动方式,取代传统的SysVinit。CentOS7中运行的第一个init进程是/lib/systemd/systemd

 

传统sysvinit依赖于串行执行 Shell 脚本启动服务,导致效率低下,系统启动速度较慢
systemd能够将更多的服务进程并行启动,并且具有提供按需启动服务的能力,使得启动更少进程,从而提高系统启动速度。

 

 

systemd单元类型:

image.png


2、系统服务控制:

a)系统服务控制:systemctl 控制类型 服务名称

b)控制类型:

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


b2.png

Linux系统运行级别:

a)查看运行级别:

runlevel命令

systemct工具

systemct get-default    查看系统默认运行级别

runlevel只能查看切换运行级别与当前运行级别

systemct能查看默认的运行级别


b3.png


b)临时切换运行级别:

  • init命令
  • systemctl工具

init的命令参数是运行级别所对应的数字

systemctl的命令参数是具体的target

多种方法的运行切换:

init 0    systemctl isolate poweroff.target    poweroff    

init 1    systemctl isolate rescue.target

init 3    systemctl isolate multi-user.target

init 5    systemctl isolate graphical.target

init 6    systemctl isolate reboot.target        reboot

 

 

c)设置永久运行级别:

创建软连接方法: ln -sf /lib/ systemd/ system/multi-user.target /etc/ systemd/ system/default.target

直接修改: systemctl set-default multi-user.target

 

运行级别所对应的systemd目标:


image.png


3、优化启动过程:有两个工具

a)ntsysv工具:

提供一个交互式、可视化窗口

可以在字符终端运行

便于集中管理多个服务

用于控制服务是否开机自启动

b)systemctl / chkconfig 工具

不提供交互式、可视化窗口

管理单个服务效率更高

 

ntsysv系统服务管理工具:

ntsysv

ntsysv --level 级别列表

空格键表示选中再次空格取消

↑ ↓ 键切换服务选项

tab 键切换光标


b4.png


systemctl is-enabled 服务名称: 查看系统服务是否启动

systemctl enable 服务名称:        开启开机自启动

systemctl disable 服务名称:       关闭开机自启动

 

 

 

 

4、排除启动类故障:

修复MBR扇区故障

MBR位于第一块硬盘(/dev/sda)的第一个物理扇区处,总共512字节

a)备份MBR扇区数据到其它磁盘(/dev/sdb1)

mkdir /backup

mount /dev/sdb1 /backup

dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1

 

b)模拟破坏MBR引导扇区

dd if=/dev/zero of=/dev/sda bs=512 count=1

 

c)引导界面进入急救模式,从备份文件中恢复MBR扇区数据 ,先加载好光盘镜像,重启操作系统,当出现安装向导界面时,选择"Troubleshooting”选项,再选择"Rescue a Centos Linux system"选项,进入急救模式,选择“1”选择Continue并按Enter键继续 ,再次按Enter键后将进入带“sh-4.2#”提示符的Bash She11环境

sh-4.2#  mkdir /backupdir                                  

sh-4.2#  mount /dev/sdb1 /backupdir                     挂载带有备份文件的分区

sh-4.2#  dd if=/backupdir/mbr.bak of=/dev/sda     恢复备份数据

sh-4.2#  exit                                                              执行exit命令退出临时Shell环境,系统将会自动重启

 

 

修复GRUB 引导故障:

由于手动输入引导命令繁琐易出错就不多说了。

方法1:进入急救模式,恢复GRUB引导程序

MBR位于第一块硬盘(/dev/sda)的第一个物理扇区处,总共512字节,前446字节是主引导记录,分区表保存在MBR扇区中的第447-510字

中。

mkdir /bak

mount /dev/sdb1 /bak

dd if=/dev/sda of=/bak/grub.bak bs=446 count=1

 

模拟对MRB中的GRUB引导程序的破坏,但并不破坏分区表

dd if=/dev/zero of=/dev/sda bs=446 count=1

 

方法2:进入急救模式,恢复GRUB引导程序

MBR位于第一块硬盘(/dev/sda)的第一个物理扇区处,总共512字节,前446字节是主引导记录,分区表保存在MBR扇区中的第447-510字节

中。

mkdir /bak

mount /dev/sdb1 /bak

dd if=/dev/sda of=/bak/grub.bak bs=446 count=1

 

dd if=/dev/zero of=/dev/sda bs=446 count=1             模拟对MRB中的GRUB引导程序的破坏,但并不破坏分区表

 

引导界面进入急救模式,从备份文件中恢复GRUB引导程序

sh-4.2# mkdir /backupdir

sh-4.2# mount/dev/sdb1 /backupdir

sh-4.2# dd if=/backupdir/grub.bak of=/dev/sda

sh-4.2# exit

 

方法3:引导界面进入急救模式,重建GRUB菜单配置文件

rm -rf /boot/grub2/grub.cfg

 

sh-4.2# chroot /mnt/sysimage                进入急救模式,加载光盘镜像,切换到系统根环境

bash-4.2# grub2-install /dev/sda           重新将GRUB引导程序安装到第一块硬盘(/dev/sda)的MRB扇区,如果有多个分区可省略

 

bash-4.2# grub2-mkconfig -o /boot/grub2/grub.cfg              重新构建GRUB菜单的配置文件

 

bash-4.2#          exit                                                                  退出chroot环境,并重启

sh-4.2#              reboot                                                             退出chroot环境,并重启

 

 

遗忘root用户密码:

 

第一步:进入光盘模式CD-ROM Drive


b5.png


第二步进入排障模式:Troubleshooting


b6.png


第三步进入急救模式:Rescue a Centos system


b7.png


第四步经过漫长的等待后要你输入继续,选择1 然后确认:


b8.png



第五步输入新密码退出并重启:


b.png






相关文章
|
2月前
|
存储 监控 Go
【机组】单元模块实验的综合调试与驻机键盘和液晶显示器的使用方式
【机组】单元模块实验的综合调试与驻机键盘和液晶显示器的使用方式
65 0
|
5月前
|
异构计算
【FPGA】基本实验步骤演示 | Verilog编码 | 运行合成 | 设备/引脚分配 | 综合/实施 | 设备配置 | 以最简单的逻辑非为例
【FPGA】基本实验步骤演示 | Verilog编码 | 运行合成 | 设备/引脚分配 | 综合/实施 | 设备配置 | 以最简单的逻辑非为例
49 0
|
1月前
|
存储 开发工具 数据库
认识HIS系统 HIS系统的主要功能解释说明
HIS系统即医院信息系统(全称为Hospital information System) ,是指利用计算机软硬件技术和网络通信技术等现代化手段,对医院及其所属各部门的人流、物流、财流进行综合管理,对在医疗活动各阶段产生的数据进行采集、存储、处理、提取、传输、汇总,加工形成各种信息,从而为医院的整体运行提供全面的自动化管理及各种服务的信息系统。
62 5
|
7月前
|
项目管理 语音技术
如何控制项目范围?
如何控制项目范围?
34 0
|
8月前
2023年电赛---运动目标控制与自动追踪系统(E题)OpenART mini的代码移植到OpenMV
2023年电赛---运动目标控制与自动追踪系统(E题)OpenART mini的代码移植到OpenMV
98 0
|
7月前
|
Linux Shell 调度
引导过程和服务控制
引导过程和服务控制
32 0
|
8月前
|
存储 监控 算法
转:在屏幕监控软件中二进制算法起到了哪些重要作用
"二进制算法"这个东西其实并不是多高深的概念,就是个挺宽泛的说法罢了。在不同的情况下,人家都会拿出各种花样的二进制算法来搞事情,实现各种各样的功能。有些算法可能涉及到挺多计算机科学和信息处理的技术,接下来就和大家谈谈二进制算法在屏幕监控软件软件中可能会起到哪些重要作用——
56 0
中央空调系统运行原理以及相关设备介绍
中央空调系统运行原理以及相关设备介绍
|
12月前
|
Linux
Linux驱动开发 数据的传输和辅助信息的作用
Linux驱动开发 数据的传输和辅助信息的作用
129 0
|
安全 Linux Shell
引导过程与服务控制(超详细的排障图解)(上)
1、Linux操作系统引导过程 1.1 引导过程总览 linux引导过程一般包括以下几个阶段: 开机自检 、 MBR 引导 、GRUB 菜单 、加载Linux内核 、 init 进程初始化
142 0