Linux系统的引导修复方案

Liunx的引导过程以及mbr引导记录的修复

liunx系统的引导过程
通电–>bios初始化–>grub2磁盘引导阶段–>grub2文件引导阶段–>指定boot所在分区–>启动内核,只读挂载/设备–>启动init程序进入初始化阶段–>启动systemd初始化进程–>读/etc/systemd/中的文件–>启动程序–>启动登陆环境
linux启动过程值的是从加电到看到shell提示的一段时间,linux启动过程具体划分为几个阶段依靠具体的系统实现的。一般来说,基于X86架构的系统可以分为3个阶段,一些嵌入式的系统有的分为两个阶段,有的分为3个阶段。
上电与加载引导过程
CPU在上电之后首先是自检过程,当这个过程完成后,CPU就会跳到一个固定的地址,从这个地址开始执行代码。
在普通PC中,BIOS系统是一个“加载第一个引导程序“的系统,上电后,第一行代码可以看作是一个启动环境,它完成两部分工作:基本硬件加电检测、本地设备的枚举与初始化,完成加电检测后,完成加电检测的代码会从内存中清除。BIOS系统运行时服务代码开始运行,这段代码检测CMOS的设置,查看用户配置从哪个设备启动,当BIOS代码运行时,服务代码找到用户配置的启动设备后,就从此设备中将第一个引导程序的代码拷贝到RAM中,BIOS代码任务完成。
在嵌入式系统有一块类似于闪存的/ROM ,CPU可以从/ROM 的地址开始执行代码,这个代码是一个启动环境,它提供了将liunx系统影像下载到闪存并继续执行的方法,执行一定级别的系统测试和硬件初始化。
这个过程的主要目的就是为了找到引导设备,并将引导设备的引导程序加载到RAM中来运行。
BIOS初始化
基本输入/输出系统(BIOS)是内置于标准X86/X86-64硬件的器件接口,将硬件置于已知状态并准备好系统以加载操作系统。
grub磁盘引导阶段
MBR的作用是为了记录/boot目录所在分区的位置,磁盘的0磁道1扇区的前446字节

系统恢复

硬盘引导阶段 mbr主引导记录的恢复
在什么情况下引导出现问题?
在双系统主机里,windows更新系统,会把linux的引导覆盖掉,插入U盘,进入挽救模式。

在做这个实验之前,需要把selinux关闭(disabled),如果开启selinux,主机每次开启时都会加载安全上下文,会特别慢。

vim /etc/sysconfig/selinux

在这里插入图片描述

模拟问题:
从无限供0输入设备中截取446个字节,覆盖掉/dev/vda的前446字节。覆盖后系统当前是不会出现任何问题的,但是重启后会出现问题。

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

/dev/zero是一个输入设备,该设备可以无穷尽的提供0,可用其来初始化文件。
在这里插入图片描述
恢复

virt-manager

从光盘启动
Force off–>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值