引导过程与服务控制

简介: 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






相关文章
|
编解码 IDE 算法
2023年电赛---运动目标控制与自动追踪系统(E题)发挥题思路
2023年电赛---运动目标控制与自动追踪系统(E题)发挥题思路
642 0
|
5月前
|
UED
软件开发常见流程,好的用户体验,智能引导助手,介绍软件相关操作,会画个键盘,对键盘的相关键进行标注,效果动态展示图怎样画????弄一个图标,相关介绍
软件开发常见流程,好的用户体验,智能引导助手,介绍软件相关操作,会画个键盘,对键盘的相关键进行标注,效果动态展示图怎样画????弄一个图标,相关介绍
|
2月前
|
机器学习/深度学习 编解码 人工智能
光遗传学:控制生物体功能的光控技术
【10月更文挑战第12天】光遗传学作为一项革命性的技术,正在生命科学领域掀起一场前所未有的变革。它利用光信号精确操控生物体内的细胞活性,为神经科学、疾病治疗乃至生物技术的研究开辟了全新的路径。随着技术的不断进步和创新,光遗传学技术有望在未来发挥更大的作用,为人类健康和生物技术的发展贡献更多的力量。让我们共同期待光遗传学技术带来的美好未来!
|
7月前
|
传感器
LabVIEW以编程方式启用IEPE激励
LabVIEW以编程方式启用IEPE激励
60 0
|
项目管理 语音技术
如何控制项目范围?
如何控制项目范围?
68 0
2023年电赛---运动目标控制与自动追踪系统(E题)OpenART mini的代码移植到OpenMV
2023年电赛---运动目标控制与自动追踪系统(E题)OpenART mini的代码移植到OpenMV
224 0
|
7月前
|
监控 测试技术
测试跟踪和控制
测试跟踪和控制
|
Linux Shell 调度
引导过程和服务控制
引导过程和服务控制
59 0
|
编解码 计算机视觉 Python
2023年电赛---运动目标控制与自动追踪系统(E题)关于网友的问题回复
2023年电赛---运动目标控制与自动追踪系统(E题)关于网友的问题回复
442 0
|
监控 算法
HIMA F8628X 处理控制关于动力系统在工程过程
HIMA F8628X 处理控制关于动力系统在工程过程
HIMA F8628X 处理控制关于动力系统在工程过程