排除启动类故障----三大实验

目录

一、模拟破坏mbr和分区表然后修复

二、修复grub引导故障

三、遗忘root用户密码


一、模拟破坏mbr和分区表然后修复

1、mbr处于第一块磁盘的第一个物理扇区,总共512个字节,前446个字节是grub程序,后面64个字节是分区表

2、故障原因:

木马病毒等造成的破坏

不正常的分区操作,磁盘读写操作失误等

3、故障现象:

找不到引导程序,启动终端

无法加载操作系统,开机后黑屏

4、解决思路:

①添加一块新磁盘作为备份

②提前做好备份文件

③以安装光盘引导进入急救模式

④从备份文件中恢复

5、实验步骤

第一步先添加一块磁盘,然后对其进行分区、格式化、挂载

这里需要注意要创建一个测试文件夹

备份mbr扇区数据到其他磁盘

模拟破损的mbr引导扇区

 
dd if=/dev/zero of=/dev/sda bs=512 count=1
#从/dev/zero复制512字节文件代替磁盘sda的MBR数据可以用
hexdump -C -n 512 /dev/sda
#查看sda硬盘的前512字节,发现已经被破坏了

引导界面进入急救模式,回复mbr扇区数据

重启之后就无法正常进入系统,然后依次选择321选项

  • 当出现安装向导界面时,选择"Troubleshooting"选项,
  • 选择"Rescue a CentOS Linux system" 选项,进入急救模式
  • 选择“1”选择Continue并按Enter 键继续
  • 再次按Enter键后将进入带“sh-4.2#"提示符的Bash Shell环境

创建tests目录用于挂载/dev/sdb1,然后将之前备份的文件将数据回复到sda中

然后就可以正常启动了。

二、修复grub引导故障

1、故障原因:

①mbr中的grub引导程序(1-446)字节遭到破坏

②grub.cfg文件丢失,引导配置有误,文件位置/boot/grub2/grup.cfg

2、故障现象:

系统引导停滞,显示grub>提示符

3、解决思路:

①尝试手动输入引导命令修复

②进入急救模式,重写或者从备份中恢复grub.cfg

③急救模式向mbr扇区中重建grub程序

实验:

1、在页面中的grub >后面输入下列引导命令即可(在输入中不可复制,内核信息要在故障之前保存下来输入才可,此种方法耗费时间,笨拙繁琐,不建议使用)

2、进入急救模式,恢复grub引导程序

#创建新目录用以挂载备份磁盘,备份GRUB引导程序
mkdir /bak
mount /dev/sdb1 /bak/
dd if=/dev/sda of=/bak/grup.bak bs=446 count=1#模拟对MBR中的GRUB引导程序的破坏,但不破坏分区表dd if=/dev/zero of=/dev/sda bs=446 count=1#引导界面进入急救模式,从备份文件中恢复GRUB引导程序
sh-4.2# mkdir /data
sh-4.2# mount /dev/sdb1  /data/
sh-4.2# dd if=/data/grup.bak of=/dev/sda bs=446 count=1
sh-4.2# exit

3、引导界面进入急救模式,重建grub菜单配置文件

#删除配置文件,模拟GRUB故障
rm -rf /boot/grub2/grub.cfg    #重启
reboot

进入急救模式加载光盘镜像,切换到系统根目录

进入急救模式的办法

在页面加载时按esc键,进入boot menu,然后选择cd-rom drive 

然后跟实验一相同进入后依次选择321

重启后打开上一个界面然后选择hard drive即可

三、遗忘root用户密码

1、故障原因:

遗忘root用户的密码

2、故障现象:

无法进行需要root权限的管理操作

若没有其他可用账号,将无法登录操作系统

3、解决思路:

进入急救模式重新设置密码即可

实验:遗忘root用户密码并重新设置密码的过程

重启虚拟机在刷新前按esc进入急救模式

进入之后重复之前的操作321的顺序进入页面

然后开机自启就🆗了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/597355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 进程(九) 进程等待

子进程退出,父进程如果不管不顾,就可能造成‘僵尸进程’的问题,进而造成内存泄漏,所以父进程回收子进程是必然要做的。 另外,进程一旦变成僵尸状态,那就刀枪不入,“杀人不眨眼”的kill …

googlecode.log4jdbc慢sql日志,格式化sql

前言 无论使用原生JDBC、mybatis还是hibernate,使用log4j等日志框架可以看到生成的SQL,但是占位符和参数总是分开打印的,不便于分析,显示如下的效果: googlecode Log4jdbc 是一个开源 SQL 日志组件,它使用代理模式实…

day06、SQL语言之概述

SQl 语言之概述 6.1 SQL语言概述6.2 SQL语言之DDL定义数据库6.3 SQL语言之DML操纵数据库 6.1 SQL语言概述 6.2 SQL语言之DDL定义数据库 6.3 SQL语言之DML操纵数据库

BLE Mesh蓝牙组网技术详细解析之Foundation Model Layer基础模型层(七)

目录 一、什么是BLE Mesh Foundation Model Layer基础模型层? 二、模型 2.1 配置模型 2.2 健康模型 三、状态 3.1 Composition Data 四、资料获取 一、什么是BLE Mesh Foundation Model Layer基础模型层? BLE Mesh Foundation model Layer是蓝牙…

redis服务迁移数据工具--RDM

一、背景: 在日常的运维工作经常遇见各种数据迁移工作,例如mysql数据库迁移、redis数据库迁移、minio数据迁移等等工作。这里介绍一下redis数据库的迁移过程。 二、迁移思路: redis服务/集群的数据迁移思路是需要新建一个配置、密码一样的re…

【Leetcode】2487. 从链表中移除节点

文章目录 题目思路代码 题目 2487. 从链表中移除节点 思路 1、递归移除节点: 如果头节点为空,直接返回空。递归调用函数处理下一个节点 head->next。在递归返回后,判断当前节点的值是否小于之前记录的最大值 maxVal。如果小于 maxVal…

洛谷p1829(莫比乌斯反演)

思路&#xff1a; 代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; const double eps 1e-8; const int N 1e710; const long long mod 20101009…

【鸿蒙】安装DevEco Studio运行HarmonyOS第一个APP(小白必看)

文章目录 前言一、DevEco Studio是什么&#xff1f;二、DevEco Studio安装运行1. 下载DevEco Studio2. 安装DevEco Studio3. 启动DevEco Studio4. 运行APP5. 修改代码 三、DevEco Studio调试注意事项总结 前言 鸿蒙OS是华为公司开发的一款基于微内核、耗时10年、4000多名研发人…

MySQL检索距离当前最近的7个小时内,靠近每个时间点数据信息

MySQL检索距离当前最近的7个小时内&#xff0c;靠近每个时间点数据信息 如果你想在最近7个小时内找到每个时间点最接近的数据&#xff0c;即使某些时间点没有数据&#xff0c;你可以使用子查询和窗口函数。以下是一个示例查询&#xff1a; sqlCopy codeSELECTt.time_point,CO…

集群渲染是?渲染农场是?两者与云渲染关联是什么

在数字化浪潮不断推进的当下&#xff0c;渲染技术在多个行业中发挥着至关重要的作用&#xff0c;尤其体现在电影制作、建筑可视化以及电子游戏开发等领域。在众多渲染技术中&#xff0c;集群渲染、渲染农场以及云渲染特别受到业界的重视。本文旨在阐述这些概念的含义以及它们之…

基于SpringBoot的在线考试系统源码和论文

网络的广泛应用给生活带来了十分的便利。所以把在线考试管理与现在网络相结合&#xff0c;利用java技术建设在线考试系统&#xff0c;实现在线考试的信息化管理。则对于进一步提高在线考试管理发展&#xff0c;丰富在线考试管理经验能起到不少的促进作用。 在线考试系统能够通…

osg-材质 (osg::Material)

1.材质类 材质类 (osg::Material)继承自osg::StateAttribute 类。osg::Material 封装了 OpenGL的 glMaterial()和glColorMaterial()指令的函数功能&#xff0c;其继承关系图如图5-27 所示。 图 5-27 osg::Material 的继承关系图 在场景中设置节点的材质属性&#xff0c;首先要…

DBSCAN聚类算法

DBSCAN读作&#xff1a;DB Scan&#xff0c;是英语基于密度的噪声应用空间聚类&#xff08;Density-Based Spatial Clustering of Applications with Noise&#xff09;的简写。在理解K-means聚类算法之后再来理解DBSCAN就容易多了。 DBSCAN的步骤如下&#xff1a; 随机从一个…

年终特辑 | 2023卓翼飞思答卷,诚邀您共同翻阅...

朝夕轮转 , 岁序更替&#xff0c;站在岁末&#xff0c;回首2023 &#xff0c;汇成的每一帧都有迹可循 &#xff1b;卓翼飞思实验室产品升级、技术创新、服务卓越、勇毅前行以抢拼实干兑现硕果&#xff01;无论您是亲历者&#xff0c;还是见证者&#xff0c;我们在此诚邀您共同翻…

高效工具汇总,让学习和办公飞起来

目录 1、寻找论文&#xff0c;效率很高2、学习各类编程的地方 1、寻找论文&#xff0c;效率很高 AMiner&#xff0c;由清华大学计算机科学与技术系的唐杰教授团队开发的一个显著的学术搜索和挖掘系统。系统提供了一整套功能以协助学术研究&#xff0c;包括研究人员档案、专家搜…

element-ui Tree 树形控件 过滤保留子级并获取过滤后的数据 多选改单选

本示例基于vue2 element-ui element-ui 的官网demo是只保留到过滤值一级的&#xff0c;并不会保留其子级 目标 1、Tree 树形控件 保留过滤值的子级 2、在第一次过滤数据的基础上进行第二次过滤 3、Tree 树形控件 多选改为单选&#xff0c;且只有最末端子级可以选择 不足…

Django 8 通用视图基础

1. 什么是通用视图 1. 在terminal 输入 django-admin startapp the_12回车 2. tutorial\settings.py 注册 INSTALLED_APPS [django.contrib.admin,django.contrib.auth,django.contrib.contenttypes,django.contrib.sessions,django.contrib.messages,django.contrib.sta…

链接器--动态链接器--延迟绑定与动态链接器是什么?学习笔记二

内容在下面链接&#xff08;通过新建标签页打开&#xff09;&#xff1a; 链接器--动态链接器--延迟绑定与动态链接器是什么&#xff1f;学习笔记二一个例子来看延迟加载https://mp.weixin.qq.com/s?__bizMzkyNzYzMjMzNA&mid2247483713&idx1&snee90a5a7d59872287…

C++知识切片①:运算符重载之前置递增和后置递增

文章目录 前置递增的实现1.先写好main函数及头文件2.自定义MyInteger类3.重定义cout4.在类内实现前置递增 后置递增的实现完整代码 在进行运算符重载之前&#xff0c;不妨先看看常规的前置递增和后置递增的区别&#xff1a; 前置递增如a所示&#xff0c;a是先进行递增计算&…

人工智能大模型:定义、发展和应用

⭐简单说两句⭐ ✨ 正在努力的小新~ &#x1f496; 超级爱分享&#xff0c;分享各种有趣干货&#xff01; &#x1f469;‍&#x1f4bb; 提供&#xff1a;模拟面试 | 简历诊断 | 独家简历模板 &#x1f308; 感谢关注&#xff0c;关注了你就是我的超级粉丝啦&#xff01; &…