码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 一篇文章教会你Linux中的“启动类故障修复”和root密码修改


    内容预知

     1.修复MBR扇区的故障

     1.1实验前的准备

    1.2   实验操作过程 

     1.2.3 破坏/dev/sda 中的扇区,模拟扇区被破坏

     1.2.4 重启检查是否能够正常运行

     1.2.5 开始修复,以截图展示修复过程

     2.修复GRUB引导故障

    实验一:提前备份文件,恢复MBR扇区中的grub引导程序

    实验二: 进入急救模式,重写或者安装中恢复grub

     3.root密码忘记的修改方式

    实验一:光盘启动,进行修改 

     实验二:单用户模式进入,修改root密码

     总结


     1.修复MBR扇区的故障

    故障可能出现的原因:

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

    故障会出现的现象:

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

    解决思路:

    • 提前添加一块新硬盘;
    • 提前做好备份文件(将MBR扇区备份到另一块硬盘上);
    • 以安装光盘引导进入急救模式;
    • 从备份文件中恢复

     1.1实验前的准备

    准备一块新硬盘,并进创建空文件夹挂载。 

    1. mkdir /ambr
    2. mkfs.xfs /dev/sdb
    3. mount /dev/sdb /ambr

    1.2   实验操作过程 

    1.2.1查看 /dev/sda 中的mbr  并备份到 新盘/dev/sdb 中 

    hexdump  -C  -n 512 /dev/sda

    [root@localhost ~]#dd if=/dev/sda    of=/ambr/mbr.bak   bs=512  count=1
    

     1.2.2查看 新盘/dev/sdb 中 备份的扇区

     

     1.2.3 破坏/dev/sda 中的扇区,模拟扇区被破坏

     1.2.4 重启检查是否能够正常运行

     

     1.2.5 开始修复,以截图展示修复过程

     1.

     2.

     3.

     4.

    1. mkdir /backup
    2. mount /dev/sdb /backup
    3. dd if=/backup/mbr.bak of=/dev/sda bs=512 count=1

     5.重启

     

     2.修复GRUB引导故障

    故障原因:

    • MBR中的GRUB引导程序遭到破坏
    • grub.cfg 文件丢失、引导配置有误

    故障现象:

    • 系统引导停滞,显示“grup>” 提示符

    解决思路:

    • 尝试手动输入引导命令(笨拙繁琐,不建议使用)
    • 提前备份文件,恢复MBR扇区中的grub引导程序
    • 进入急救模式,安装grub文件

    实验一:提前备份文件,恢复MBR扇区中的grub引导程序

    该操作与上一个实验修复mbr 完全一致,只是修复grub需要了解,grub是mbr的前446字节的引导程序,所以再用dd if  命令是将bs 赋值为446字节即可。介于操作完全相同,不再显示具体过程,参照mbr修复实验即可

    实验二: 进入急救模式,重写或者安装中恢复grub

    破坏后grub后发现重启已经死机,此时再次重启


     调整为光盘启动

     

     

     

     在根环境重新安装grub引导程序

    1. chroot /mnt/sysimage 进入根环境
    2. grub2-install /dev/sda 安装grub引导程序到/dev/sda
    3. exit 退出根环境

     #重新构建GRUB菜单的配置文件

    #根环境下        grub2-mkconfig -o /boot/grub2/grub.cfg

     

     

     修复成功:

     

     3.root密码忘记的修改方式

    故障原因:

    • 遗忘root用户的密码

    故障现象:

    • 无法进行需要root权限的管理操作;
    • 若没有其他可用账号,将无法登陆操作系统。

    修改密码的方法(如果是真实环境,得在服务器上操作):

    1.光盘启动,进入急救模式,借助根环境修改 

    2.单用户模式进入,修改root密码

    实验一:光盘启动,进行修改 

     重新启动,选择光盘启动:

     
     在根环境下进行密码修改

    1. chroot /mnt/sysimage //进入急救模式后,切换到光驱系统的根环境
    2. ​
    3. passwd //修改密码

    验证:

     输入新密码,可以正常登录了


     实验二:单用户模式进入,修改root密码

     

     
     进入系统环境,修改密码 (注意:如果SELinux是启用的,才需要执行下面操作,如果没有启动,不需要执行  touch /.autorelabe)

    1. mount –o remount,rw /sysroot
    2.  chroot /sysroot
    3.  passwd root
    4.  ​
    5.  #如果SELinux是启用的,才需要执行下面操作,如果没有启动,不需要执行
    6.  touch /.autorelabel
    7.  exit
    8.  reboot

     总结

     1.本文主要讲述了mbr分区的修复,grub引导程序的修复,以及找回修改root密码。

    2.mbr分区和grub引导程序这样关系到服务器是否能够正常运行的重要程序,建议备份

  • 相关阅读:
    pyhon项目中,使用pip安装第三方插件之后,明明使用pip list可以查到,但是在项目中import时仍然找不到怎么办?
    【Linux】动静态库
    css基本样式之字体样式
    【服务器搭建】教程三:怎样购买域名并怎样进行域名解析 来啦
    LeetCode 332. Reconstruct Itinerary【欧拉回路,通路,DFS】困难
    《大数据之路:阿里巴巴大数据实践》-第1篇 数据技术篇 -第5章 实时技术
    互联网Java工程师面试题·Spring篇·第七弹
    记录在搭建Jenkins时,所遇到的坑,以及解决方案
    “节省内存、提升性能:享元模式的神奇之处“
    数据的4个等级
  • 原文地址:https://blog.csdn.net/qq_62462797/article/details/126182268
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号