linux引导过程及故障模拟与恢复——MBR扇区故障+GRUB菜单修复+root密码找回

一、引导过程

  • 开机自检(BIOS)
    自检基本的硬盘,找到第一块能够引引导的设备

  • MBR引导
    找到硬盘MBR引导分区,读取GRUB信息(grub.conf在哪里?)

  • GRUB菜单
    读取grub.conf信息,里面包含内核信息 ( 在/boot里)、等待时间等

  • 加载内核(kernel)
    加载内核和镜像文件

  • init进程初始化
    加载初始化进程1 PID1
    init 0 关机
    init 6 重启

二、系统初始化进程

■ init进程

  • 由Linux内核加载运行/sbin/init程序
  • init进程是系统中第一个进程
  • init进程的PID(进程标记)号永远为1

■ Systemd

  • Systemd是Linux操作系统的一种init软件
  • CentOS7中采用全新的Systemd启动方式,取代传统的SysVinit
  • CentOS7中运行的第一个init进程是/lib/systemd/systemd

三、修复MBR扇区故障

故障原因

  • 病毒、木马等造成的破坏
  • 不正确的区分操作、磁盘读写误操作

故障现象

  • 找不到引导程序,启动中断
  • 无法加载操作系统,开机后黑屏

解决思路

  • 应提前作好备份文件
  • 以安装光盘引导进入急救模式
  • 从备份文件中恢复

3.1MBR扇区故障模拟

加一块硬盘做实验,重启后进系统查看信息

fdisk -l    ##看看是否
fdisk -l ##看是否有sdb

mkfs -t ext4 /dev/sdb   ###格式化sdb

mount /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

此时,只要重启电脑,就会发现
operating system not found

3.2MBR扇区修复

  • 光盘引导,进入急救模式,提示操作
  • 从备份文件中恢复MBR扇区
  1. 装入光盘,把已连接勾上,然后重启虚拟机按F2,把CD-ROM放上面,然后在光盘引导界面选择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 进入系统测试是否正常。

四、GRUB菜单修复

4.1模拟centos 7.4故障模拟

cd /boot/grub2    ###进入grub2目录
mv grub.cfg grub.cfg.bak   ###先给grub配置文件做个备份,然后把原文件的配置内容清空

init 6重启虚拟机
出现故障,如下

grub>

4.2修复

光盘引导,进入急救模式,提示操作
从备份文件中恢复MBR散区

1.装入光盘,在光盘引导界面选择troubleshooting:

2、进入troubleshooting菜单 选择Rescue a centos system

3、进入引导可以按回车,或者等待
按1 在按会车进入sh-4.2#

4、进入救援模式后切根环境

chroot /mnt/sysimage/  

chroot /mnt/sysimage/

5、修复grub.cfg配置文件

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

6、查看是否修复

cd /boot/grub2/
ls

7、重启
exit
reboot ###一直按F2,启动项切回HardDrive否则还是进光盘模式

五、忘记root密码

1.装入光盘,同之前一样操作,在光盘引导界面选择troubleshooting:

2、进入troubleshooting菜单 选择Rescue a centos system

3、进入引导可以按回车,或者等待
按1 在按会车进入sh-4.2#

4、进入救援模式后切根

chroot /mnt/sysimage/  

5、修改密码

passwd root

输入密码:123456 ###第一次
输入密码:Abc123 123456
6、重启
exit
reboot ###记住修改启动项,否认还是进光盘模式

7、验证,主要看新密码是否能成功登陆
登录:root
密码:123456

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值