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

编程入门 行业动态 更新时间:2024-10-27 06:23:39

文章目录

  • 一、引导过程
  • 二、系统初始化进程
  • 三、修复MBR扇区故障
    • 3.1MBR扇区故障模拟
    • 3.2MBR扇区修复
  • 四、GRUB菜单修复
    • 4.1模拟centos 7.4故障模拟
    • 4.2修复
  • 五、忘记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

更多推荐

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

本文发布于:2023-06-13 06:50:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1350504.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:故障   扇区   菜单   过程   密码

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!