linux系统的引导过程是怎么走的,出现故障该如何修复?
本文目录
一.Linux操作系统引导过程
1.1 引导过程
- 主要分为以下方面:
1开机自检(BIOS)
自检基本的硬盘,找到第一块能够引引导的设备
2.MBR引导
找到硬盘MBR引导分区,读取GRUB信息
3GRUB菜单
读取grub.conf信息,里面包含内核信息,等待时间等
4加载内核(kernel)
加载内核和镜像文件
5.init进程初始化
加载初始化进程1 PID1
1.2 系统初始化进程
- init进程由Linux内核加载运行 /sbin*init程序是系统第一个进程 PID(进程标记)号永远是1。
软件选用:Systemd
软件概述:
- systemd是Linux操作系统的一种init软件
- CentOS7中采用全新的Systemd启动方式,取代传统的sysVinit
- CentOS7中运行的第一个init进程是/lib/systemd/systemd
1.2.1 systemd单元类型
2.运行级别所对应的systemd目标
二.排除启动类故障
2.1 修复MBR扇区故障
产生的原因:
- 病毒,木马等造成的破坏
- 不正确的分区操作,磁盘读写误操作
故障的现象:
- 找不到引导程序,启动中断
- 无法加载操作系统,开机后黑屏
解决思路:
- 应提前作好备份文件
- 以安装光盘引导进入急救模式
- 从备份文件中恢复
2.2 实验操作
模拟MBR扇区实验
- 加一块硬盘做实验
- 进系统查看磁盘
- fdisk -l ##看是否有sdb
版本:centos7.0以上
加一块硬盘做实验
进系统查看磁盘
fdisk -l ##看是否有sdb
mkfs -t xfs /dev/sdb ## 格式化sdb
mmount /dev/sdb /opt ##挂载
1.备份MBR扇区数据
dd if=/dev/sda of=/opt/mbr.bak bs=512 count=1
2.模拟MBR扇区故障
dd if=/dev/zero of=/dev/sda bs=512 count=1
3.重启后观察系统是否有问题出现
operating system not found
(出现故障,MBR挂了)
如图:
解决MBR故障的步骤如下:
1.装入光盘,在光盘的引导界面选择troubleshooting
2.进入troubleshooting菜单选择Rescue a centos system
3.进入引导可以按回车,或者等待
按1再按回车进入sh-4.2
4.mount /dev/sdb/mnt ##将备份sdb备份的文件挂到mnt下,然后进去看看
是否有mbr.bak
5.dd if=/mnt/mbr.bak of=/dev/sda count=1 bs=512
6.重启reboot进入系统测试是否正常
2.3.grub引导故障
GRUB 故障的解决方案
1.装入光盘,在光盘引导界面选择troubleshooting:
2.进入troubleshootiing菜单 选择Rescue a centos system
3.进入引导可以按回车,或者等待
按1 再按回车进入sh-4.2 #
4.进入救援模式后切根
chroot /mnt/sysimage/
5.使用grub2-install 命修复grub #### 修复不好使用下面第7项命令进行修复
grub2-install /dev/sda
6.查看是否修复
cd /boot/grub2/
7.修复grub.cfg 配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
8.查看是否修复
cd /boot/grub2
ls
9.重启
exit
reboot ####主要改启动项,否则还是进光盘模式
2.4.遗忘root用户密码
解决遗忘root密码的方案
1.装入光盘,在光盘引导界面选择troubleshooting:
2.进入troubleshooting菜单选择Rescue a centos system
3.进入引导后可以按回车,或者等待
按1再按回车进入sh-4.2#
4.进入救援模式后切根
chroot /mnt/sysimage
5.修改密码;
passwd root
输入密码:123 ##第一次
输入密码:123 ##第二次
6.重启
exit
reboot ######主要改启动项,否则还是进入光盘模式
三.系统服务控制
语法:systemctl 控制类型 服务名称
3.1 控制类型
start:启动
stop:停止
restart:重新启动
reload:重新加载
status :查看服务状态
systemctl is-enabled ##服务名称
查看系统服务的启动状态
systemctl enable/disable ##服务名称
设置系统服务的启动状态