Linux操作系统引导过程

系统的启动流程:

简单的来说,当你按下电源按键后计算机硬件会读取BIOS或UEFI BIOS来加载硬件信息及进行硬件系统的自我测试,之后系统会主动去读第一个可启动的设备(BIOS设定),此时就可以读入启动引导程序了,启动引导程序可以指定使用哪个内核文件来启动,并实际加载内核到内存当中解压缩与执行。此时内核就能够开始在内存中活动,并检测所有硬件信息与加载适当的驱动程序来使整台主机开始运行,等到内核检测硬件与加载驱动程序完毕后,操作系统就启动好了。
用图形概括为
在这里插入图片描述

详细流程:

1.加载BIOS的硬件信息与进行自我检测,根据BIOS设置来取得第一个可启动的设备

2.读取并执行第一个启动设备内MBR的启动引导程序(可以是grub2,也可以是spfdisk)

3.根据启动引导程序的设置加载内核kernel,kernel会开始检测硬件与加载驱动程序

4.在硬件驱动成功后,kernel会主动调用systemd程序,并以default.target流程启动
其中:
systemd执行sysinit.target初始化系统及basic.target准备操作系统
systemd启动multi-user.target下的本机与服务器服务
systemd执行multi-user.target下的/etc/rc.d/rc.local文件
systemd执行multi-user.target下的getty.target及登录服务
systemd执行graphical需要的服务

Systemd单元类型

在这里插入图片描述

在init进程中,运行级别所对应的Systemd目标

在这里插入图片描述
说明:在这其中,init2,init3,init4都代表的是字符界面,以init3最为常用

在Linux启动过程中可能遇到的故障
一、MBR扇区故障

1、故障原因:
(1)病毒、木马等造成的破坏;
(2)不正确的分区操作、磁盘读写等误操作

2、故障现象:
(1)找不到引导程序,启动中断;
(2)无法加载操作系统,开机后黑屏

3、解决思路:
(1)应提前做好备份文件;
(2)以安装光盘引导进入急救模式;
(3)从备份文件中恢复

操作步骤模拟MBR扇区实验
加一块硬盘做实验
进系统查看磁盘
fdisk –l ##看是否有sdb
mkfs.ext4 /dev/sdb ##格式化sdb
mount /dev/sdb /opt 挂载到/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

重启看是否有问题
光盘引导,进去急救模式,提示操作
从备份文件中回复MBR扇区
步骤如下:
1、装入光盘,在光盘引导界面选择troubleshooting
2、进入troubleshooting菜单,选择Rescue a centos system
3、进入引导可以按回车,或者等待
按“1“,再按回车进入sh-4.2#
4、急救模式下sdb的挂载
mkdir /sdd
mount /dev/sdb /sdd
cd /sdd ##查询该备份文件是否存在
5、dd if=/sdd/mbr.bak of=/dev/sda count=1 bs=512
6、重启reboot 进入系统测试是否正常

二、GRUB引导故障

1、故障原因:
(1)MBR中的GRUB引导程序遭到破坏;
(2)grub.conf 文件丢失,引导配置有误

2、故障现象:
系统引导停滞,显示“grub>”提示符;

3、解决思路:
(1)尝试手动输入引导命令;
(2)进入急救模式,重写或者从备份中恢复grub.conf;
(3)向MBR扇区中重建grub程序

模拟grub故障命令:
cd /boot/grub2 ##进入grub
rm –rf grub.cfg ##删除grub.cfg,模拟故障
init 6 ##重启

出现故障,显示如下信息:
“grub>”

修复如下:
1、进入引导急救模式,加载系统镜像
chroot /mnt/sysimage/
2、重新建立加载sda分区
grub2 –install /dev/sda
3、重新构建grub菜单配置文件
grub2 –mkconofig –o /boot/grub2/grub.cfg
4、退出bash环境
exit
5、重启检验
reboot

三、忘记root密码

在生产生活中,经常会遇到忘记系统用户密码,导致无法登陆账号的情况,在遇到这种情况的时候翻,反复试验密码又会导致不必要的麻烦,此时就需要进入系统中去更改密码,重新登陆。

引导进入急救模式

sh-4.2# chroot /mnt/sysimage ##加载系统镜像
bash-4.2# passwd root
new: ##设置新密码
retry:##校验新密码
退出bash环境:exit
重启:reboot

这些只是Linux系统中可能遇到的一些基础的故障,后面遇到一些更高级的故障会补充上来。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值