CentOS7单用户模式,救援模式操作记录

CentOS7单用户模式,救援模式操作记录

1. 单用户模式

单用户模式进入不需要密码,无网络连接,拥有root权限,禁止远程登陆。一般用于用于系统维护,例如忘记root密码后可以通过进入单用户模式进行重置。

开机启动,在出现内核选项时按"键盘e键"进行编辑,找到linux16行并在行尾添加内核参数 rd.break,修改完成后按下ctrl+x进入单用户模式

# 重新挂载文件系统
mount –o remount,rw /sysroot
# 切换根 
chroot /sysroot
# 修改密码 
passwd root
# 启用了selinux的情况下,创建下面的隐藏文件;如果禁用了selinux,可以忽略。
touch /.autorelabel 
# 重启系统
reboot

也可以在内核选项中,添加init=/bin/sh,可以直接配置读写,将ro改为rw,这样进入后就不需要进行mount操作了,如下:

在这里插入图片描述

进入后不需要挂载文件系统,不需要切换根,可以直接进行操作,比如修改密码等。

2. 救援模式

救援模式是从其他介质启动,这个介质可以是安装系统的光盘或U盘,相当于将系统盘作为了一个外挂的磁盘,所以当系统无法恢复时可以用来备份重要文件。一般用于单用户模式都无法进入时,除了可以修改用户密码,可以用于修复grub、修复boot分区损坏、修复文件系统等。

在光盘引导项里选择第三项:Troubleshooting(故障排除)

在这里插入图片描述

选择Rescue a System:

在这里插入图片描述

选择第一个:Continue(继续操作)输入1回车:

在这里插入图片描述

到了这一步启动的是镜像光盘里的系统,而原来系统里的文件被挂载到了/mnt/sysimage里。

在这里插入图片描述

系统输出了一条提示:如果你想让你的系统的根成为救援系统的根,就运行命令:chroot /mnt/sysimage

这条命令会更改root目录,执行后根目录就会变更到/mnt/sysimage下,这个时候的操作就和在正常系统里操作一样了。

2.1 更改root密码

第一种方法:

直接更改文件的方法,可以不用切换根:

vi /mnt/sysimage/etc/passwd
# 更改文件
root:x:0:0:root:/root:/bin/bash
##将root后面的x去掉,像下面这样:
root::0:0:root:/root:/bin/bash
# 重启
reboot

第二种方法:

获取系统root权限直接更改密码,这种方法有点像单用户模式了

chroot /mnt/sysimage     #切换为原系统的root权限#
passwd      #更改root密码#exit        #退出原系统root权限#
reboot      #重启#

2.2 修复grub

操作如下步骤操作,模拟grub故障并修复:

  1. cd /boot/
  2. rm -rf grub* #手动删除grub下的所有文件 ,模拟grub故障。
  3. 重启以光盘启动引导系统,进入Rescue界面
  4. chroot /mnt/sysimage
  5. ls /boot
  6. mkdir /boot/grub2
  7. grub2-mkconfig -o /boot/grub2/grub.cfg
  8. grub2-install /dev/sda
  9. exit
  10. reboot
  11. 重启从硬盘启动

2.3 修复/boot目录

操作如下步骤操作,模拟/boot故障并修复:

  1. rm -rf /boot/*
  2. reboot
  3. 重启以光盘启动引导系统,进入Rescue界面
  4. chroot /mnt/sysimage
  5. mount /dev/sr0 /mnt
  6. rpm -ivh /mnt/Packages/kernel-3.10.0-693.e17.x86_64.rpm.rpm --force
  7. ls /boot
  8. grub2-install /dev/sda
  9. grub2-mkconfig -o /boot/grub2/grub.cfg
  10. exit
  11. reboot
  12. 重启从硬盘启动

2.4 文件系统修复

有时候将虚拟机从VMware迁移到KVM平台时,会遇到虚拟机启动自动进入emergency mode,提示使用journalctl可以查看到文件系统相关错误。同时使用mount -a挂载分区会提示失败,此时就需要修复文件系统错误。可以在当前进入的shell界面下操作,也可以借助iso进入rescue模式进行文件系统修复。

一般步骤如下:

  1. 通过挂载和卸载文件系统重新显示日志:
mount file-system
umount file-system

如果挂载失败,并带有结构需要清理的错误,则日志已损坏,且无法重播。

  1. 检查文件系统:
#xfs检查
xfs_repair -n block-device
# ext*检查
e2fsck -n block-device
  1. 修复文件系统:

修复文件系统(xfs):

# 如果挂载成功,则不需要额外的选项:
xfs_repair block-device
# 如果挂载失败,带有 Structure needs cleaning 错误,日志会破坏且无法重复显示。使用 -L 选项(强制日志归零)来清除日志:
xfs_repair -L block-device

说明:-L是修复xfs文件系统的最后手段,慎重选择,它会清空日志,会丢失用户数据和文件。

备注:在执行xfs_repair操作前,最好使用xfs_metadump工具保存元数据,一旦修复失败,最起码可以恢复到修复之前的状态。

修复文件系统(ext*):

e2fsck -p block-device

也可以尝试fsck命令,适用于多种文件系统类型。

参考:

https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/8/html/managing_file_systems/checking-and-repairing-a-file-system__managing-file-systems

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

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

相关文章

数据结构 实验 1

题目一:用线性表实现文具店的货品管理问题 问题描述:在文具店的日常经营过程中,存在对各种文具的管理问题。当库存文具不足或缺货时,需要进货。日常销售时需要出库。当盘点货物时,需要查询货物信息。请根据这些要求编…

使用低代码系统的意义与价值主要体现在哪里?

使用低代码系统的意义与价值主要体现在以下几个方面,这些观点基于驰骋低代码设计者的专业洞察和行业经验: 快速原型创建: 低代码平台通过提供图形化界面和预构建的模块,极大地加速了系统原型的创建过程。这意味着企业能够更快地验…

60 关于 SegmentFault 的一些场景 (1)

前言 呵呵 此问题主要是来自于 帖子 月经结贴 -- 《Segmentation Fault in Linux》 这里主要也是 结合了作者的相关 case, 来做的一些 调试分享 当然 很多的情况还是 蛮有意思 本文主要问题如下 1. 访问可执行文件中的 只读数据 2. 访问不存在的虚拟地址 3. 访问内核地址…

嵌入式笔试面试刷题(day16)

文章目录 前言一、PWM波形的占空比计算公式是什么?二、ADC和DAC在嵌入式系统中的应用场景有哪些?三、watchdog定时器的作用及其在系统中的使用是什么?四、JTAG接口在嵌入式开发中的作用是什么?五、实时操作系统(RTOS)的任务调度策…

嵌入式工程师人生提质的十大成长型思维分享

大家好,作为一名嵌入式开发者,很多时候,需要考虑个人未来的发展,人生旅途复杂多变,时常面临各种各样的挑战。如何在这个复杂多变的社会中稳步向前,不断成长,成为每个人都应该思考的问题。实际上,思维方式的差异决定我们应对挑战的能力与成长的速度。 第一:寻找自我坐…

HNCTF2022 REVERSE

[HNCTF 2022 WEEK2]esy_flower 简单花指令 Nop掉 然后整段u c p然后就反汇编 可能反编译的不太对&#xff0c;&#xff0c;看了别人的wp就是ida反编译的有问题 #include<stdio.h> #include<string.h> int main() {int i,j;char ch[]"c~scvdzKCEoDEZ[^roDICU…

NumPy应用(二)

numpy高效的处理数据&#xff0c;提供数组的支持&#xff0c; python 默认没有数组。 pandas 、 scipy 、 matplotlib 都依赖 numpy 。 pandas主要用于数据挖掘&#xff0c;探索&#xff0c;分析 maiplotlib用于作图&#xff0c;可视化 scipy进行数值计算&#xff0c;如&…

微软远程连接工具:Microsoft Remote Desktop for Mac 中文版

Microsoft Remote Desktop 是一款由微软开发的远程桌面连接软件&#xff0c;它允许用户从远程地点连接到远程计算机或虚拟机&#xff0c;并在远程计算机上使用桌面应用程序和文件。 下载地址&#xff1a;https://www.macz.com/mac/5458.html?idOTI2NjQ5Jl8mMjcuMTg2LjEyNi4yMz…

C++进阶之AVL树+模拟实现

目录 目录 一、AVL树的基本概念 1.1 基本概念 二、AVL树的模拟实现 2.1 AVL树节点的定义 2.2 插入操作 2.3 旋转操作 2.4 具体实现 一、AVL树的基本概念 1.1 基本概念 二叉搜索树虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序二叉搜索树将退化为单支树&…

山东大学软件学院项目实训-创新实训-基于大模型的旅游平台(二十四)- 微服务(4)

目录 8. http客户端Feign 8.1 feign远程调用 8.2 feign自定义配置 8.3 feign性能优化 8.4 feign最佳实践 8. http客户端Feign 8.1 feign远程调用 RestTemplate存在的问题 &#xff1a; 代码可读性差 参数复杂URL难以维护 Feign是声明式的http客户端 使用步骤 &#xf…

飞书API(11):阿里云MaxCompute分区表入库

一、引入 前面入库阿里云 MaxCompute 的数据都是读取之后直接写入&#xff0c;保留数据最新的状态&#xff0c;如果我要保留历史的状态&#xff0c;怎么办呢&#xff1f;MaxCompute 表有一个分区功能&#xff0c;可以自行定义分区。我们可以使用 MaxCompute 表的分区功能&…

Python | A + B问题||

既然是持续性的输入&#xff0c;说明在循环做输入n这个操作&#xff0c;那我们就需要使用到上一节中使用的while while True:try:# 将输入的 N 转换成整数N int(input())except:break 列表 for循环&#xff1a;可遍历列表、字符串、内置的range()函数 for item in list:# …

生产问题临时解决方案

临时解决方案的目标是迅速恢复系统的可用性&#xff0c;确保服务不中断&#xff0c;同时为深入分析和解决根本问题争取时间。以下是一些常见的临时解决方案&#xff1a; 1. 重启服务 重启应用服务器&#xff1a;很多时候&#xff0c;重启可以释放资源&#xff0c;缓解瞬时压力…

Express 框架

1. Express 框架的功能 Express 框架提供了丰富的功能和工具&#xff0c;使开发者能够更轻松地构建 Web 应用程序。以下是 Express 框架的一些主要功能&#xff1a; 路由功能&#xff1a;Express 框架提供了简单易用的路由功能&#xff0c;可以根据不同的 URL 请求来执行不同…

远程自动锁定平面

目录 Ubuntu 系统上 方法一&#xff1a;使用 SSH 重新连接 方法二&#xff1a;解锁当前会话 方法三&#xff1a;通过 SSH 解锁会话 方法四&#xff1a;禁用自动锁屏&#xff08;如果合适&#xff09; windows系统 方法三&#xff1a;修改组策略设置 Ubuntu 系统上 远程…

重生之我要精通JAVA--第七周笔记

文章目录 IO流字符流字符流原理解析flush和close方法 文件拷贝代码文件加密解密修改文件中的数据 缓冲流字节缓冲流字符缓冲流例题 转换流序列化流序列化流/对象操作输出流 反序列化流序列化流/反序列化流的细节汇总打印流字节打印流字符打印流 解压缩流压缩流Commons-io常见方…

网络空间安全数学基础·环

4.1 环与子环 &#xff08;理解&#xff09; 4.2 整环、除环、域 &#xff08;熟练&#xff09; 4.3 环的同态、理想 &#xff08;掌握&#xff09; 4.1 环与子环 定义&#xff1a;设R是一非空集合&#xff0c;在R上定义了加法和乘法两种代数运算&#xff0c; 分别记为ab和a…

122.买卖股票的最佳时机Ⅱ

思考 把题目抽象 1 2 3 4 5 1 2 3 4 5 低买高卖&#xff0c;如果递增可以先不卖&#xff0c;但是一旦递减&#xff0c;比如第五天和第六天&#xff0c;降低了&#xff0c;应该在第五天卖&#xff0c;第六天买 注意特殊情况&#xff0c;如果 1 2 3 4 5 这个没有1中的改变&…

java收徒、java面试辅导、java辅导、java就业辅导

&#x1f497;博主介绍&#xff1a;✌全网粉丝1W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;还…

MMPose-RTMO推理详解及部署实现(下)

目录 前言一、RTMO推理(Python)1. RTMO预测2. RTMO预处理3. RTMO后处理4. RTMO推理 二、RTMO推理(C)1. ONNX导出2. RTMO预处理3. RTMO后处理4. RTMO推理 三、RTMO部署1. 源码下载2. 环境配置2.1 配置CMakeLists.txt2.2 配置Makefile 3. ONNX导出4. engine生成5. 源码修改6. 运行…