Linux引导过程和服务

2024-01-07 19:13:59

一、Linux操作系统引导过程

1.引导过程

bios 加电自检——mbr——grub——加载内核——启动进程

? ? ? ? 加电后BIOS程序回自检硬件,硬件无故障后,会根据第一次启动项去找内核,一般来说第一启动项是硬盘,找到硬盘后,会根据mbr指引找到完整的grub程序,再根据grub的配置文件找到内核文件具体位置,然后将内核文件加载到内存中运行内存加载好会启动第一个程序。

BIOS:检测硬件是否正常,然后根据BIOS中的启动项设置,去找内核文件

mbr:应为grub太大第一个扇区存不下所有的grub程序,所以分为两部分指引硬件找到内核文件

grub:根据grub配置文件中记录的位置,找到内核文件

加载内存:把内核运行在内存中

启动进程:启动第一个祖宗进程centos 6:init? ?centos 7:systend

区别

init :串行启动后续的程序一个一个按顺序启动

systemd: 是并行启动程序全部一起启动

二、服务排除启动类故障

2.1? systemd服务

systemd 是系统级的程序 代为管理系统上的服务程序

systemd 保姆级?

yum以及rpm安装的软件可以直接使用systemctl去启动关闭,重启开机自启等功能编译安装,不可直接使用systemctl 命令去管理程序,需手写一个配置文件

2.2? Linux设置运行级别

格式:init? ?数字? ?runlevel? 当前等级

Linux操作系统有运行级别

0:关机
1:单用户模式(root自动登录), single, 维护模式
2:多用户模式,启动网络功能,但不会启动NFS;维护模式
3:多用户模式,正常模式;文本界面
4:预留级别;可同3级别
5:多用户模式,正常模式;图形界面
6:重启

2.3? 修复mbr分区

? ? ? ? MBR位于第一块硬盘(/dev/sda)的第一个物理扇区处,总共512字节,前446个字节是GRUB程序,后面64个字节是分区表。

故障原因

病毒、木马的等造成的破坏;

不正确的分区操作、磁盘读写误操作等。

故障现象

找不到引导程序,启动中断;

无法加载操作系统,开机后黑屏

①备份mbr引导扇区到其他磁盘

②模拟破坏mbr引导扇区

③引导镜像急救模式进行mbr扇区恢复

练习1:模拟破坏mbr和分区表然后修复

第一步:新加一块硬盘,将文件备份到新盘

第二步:备份mbr分区表

第三步:模拟破坏

然后进入急救模式:选项3、2、1?

再重启,就好了

ip a a 192.168.100.100 dev ens33
配置IP地址
scp 192.168.100.100:/mbr.bak .
dd if=./mbr.bak of=/dev/sda bs=512 count=1


mkdir /bak
mount /dev/sdb1 /bak
dd if=/bak/mbr.bak of=/dev/sda


#备份MBR分区表
dd if=/dev/sda of=/data/dpt.img bs=1 count=64 skip=446
scp /data/dpt.img 10.0.0.102:
#破坏MBR分区表
[root@centos8 ~]#dd if=/dev/zero of=/dev/sda bs=1 count=64 seek=446
#无法启动
[root@centos8 ~]#reboot
#用光盘启动,进入rescue mode,选第3项skip to shell
#配置网络
#ifconfig ens33 10.0.0.8/24
#ip a a 10.0.0.8/24 dev ens33
#scp 10.0.0.102:/root/dpt.img ./
#恢复MBR分区表
#dd if=dpt.img of=/dev/sda bs=1 seek=446
#reboot

2.4? 修复grub分区

故障原因

MBR中的GRUB引导程序(1-446字节)遭到破坏

grub.cfg文件丢失,引导配置有误,文件位置/boot/grub2/grup.cfg

故障现象

系统引导停滞,显示grub >提示符

第一步: 模拟破坏grub.cfg 配置文件

mv? /boot/grub2/grub.cfg/opt

第二步:重启今日急救模式 3、2、1

第三步:先切换根,从光盘的根切换到自己系统的根

chroot? /mnt/sysimage?

第四步:重新安装grub 2 程序在sda磁盘里

grub2 -install? ?/dev/sda

第五步:重新生成配置文件

grub2? -mkconfig? -o? /boot/grub/grub.cfg

exit

reboot

2.5 破解密码

有光驱·

chroot? /mnt/sysimage? ? ? ? ? ? ? 切换根目录

passwd? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 修改密码

无光驱

进入系统再选择? 内核界面选择带一个选项按e

将光标移动到 Linux 开头行的最后,添加rd.break

ctrl +x? ?运行

进入单用户

重新挂载mount? -o? remount.rw /sysroot? 添加读写权限

chroot? /sysroot? 切换到真正的根

passwd? ? ? 修改密码

touch /.autorelabel? ? ? ? ?如果你开启了selinux要重新打上标记

三、服务控制及切换运行级别

3.1 系统服务控制

Systemctl

格式:

Systemctl? ?控制类型? ?服务名称

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

chkconfig? --add? 服务名称

chkconfig? --level? 35? 服务程序? on? 开机自启

chkconfig? --level? 35? 服务程序? off? 关闭开机启动

文章来源:https://blog.csdn.net/mikechen1/article/details/135373787
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。