以单用户模式启动 Linux 的方法

注:本文为 “Linux 启动单用户模式” 相关文章合辑。

未整理去重。


以单用户模式启动 linux 的三种方法

作者: Magesh Maruthamuthu
译者: LCTT Xiaobin.Liu
2020-05-03 23:01

单用户模式,也被称为维护模式,超级用户可以在此模式下恢复/修复系统问题。

通常情况下,这类问题在多用户环境中修复不了。系统可以启动但功能不能正常运行或者登录不了系统。

在基于 Red Hat(RHEL)7/8 的系统中,使用 runlevel1.targetrescue.target 来实现。

在此模式下,系统会挂载所有的本地文件系统,但不开启网络接口。

系统仅启动特定的几个服务和修复系统必要的尽可能少的功能。

当想运行文件系统一致性检查来修复损坏的文件系统,或忘记 root 密码后重置密码,或要修复系统上的一个挂载点问题时,这个方法会很有用。

可以用下面三种方法以单用户模式启动 CentOS/RHEL 7/8 系统。

  • 方法 1:通过向内核添加 rd.break 参数来以单用户模式启动 CentOS/RHEL 7/8 系统
  • 方法 2:通过用 init=/bin/bashinit=/bin/sh 替换内核中的 rhgb quiet 语句来以单用户模式启动 CentOS/RHEL 7/8 系统
  • 方法 3:通过用 rw init=/sysroot/bin/sh 参数替换内核中的 ro 语句以单用户模式启动 CentOS/RHEL 7/8 系统

方法 1

通过向内核添加 rd.break 参数来以单用户模式启动 CentOS/RHEL 7/8 系统。

重启系统,在 GRUB2 启动界面,按下 e 键来编辑选中的内核。需要选中第一行,第一个是最新的内核,然而如果想用旧的内核启动系统也可以选择其他的行。

img

根据 RHEL/CentOS 版本,找到 linux16linux 语句,按下键盘上的 End 键,跳到行末,像下面截图中展示的那样添加关键词 rd.break,按下 Ctrl+xF10 来进入单用户模式。

如果系统是 RHEL/CentOS 7,需要找 linux16,如果系统是 RHEL/CentOS 8,那么需要找 linux

img

这个修改会让 root 文件系统以 “只读(ro)” 模式挂载。可以用下面的命令来验证下。下面的输出也明确地告诉当前是在 “紧急模式Emergency Mode”。

# mount | grep root

img

为了修改 sysroot 文件系统,需要用读写模式(rw)重新挂载它。

# mount -o remount,rw /sysroot

运行下面的命令修改环境,这就是大家熟知的 “监禁目录” 或 “chroot 监狱”。

# chroot /sysroot

img

现在,单用户模式已经完全准备好了。当修复了问题要退出单用户模式时,执行下面的步骤。

CentOS/RHEL 7/8 默认使用 SELinux,因此创建下面的隐藏文件,这个文件会在下一次启动时重新标记所有文件。

# touch /.autorelabel

最后,用下面的命令重启系统。也可以输入两次 exit 命令来重启系统。

# reboot -f

方法 2

通过用 init=/bin/bashinit=/bin/sh 替换内核中的 rhgb quiet 语句来以单用户模式启动 CentOS/RHEL 7/8 系统。

重启系统,在 GRUB2 启动界面,按下 e 键来编辑选中的内核。

img

找到语句 rhgb quiet,用 init=/bin/bashinit=/bin/sh 替换它,然后按下 Ctrl+xF10 来进入单用户模式。

init=/bin/bash 的截图。

img

init=/bin/sh 的截图。

img

默认情况下,上面的操作会以只读(ro)模式挂载 / 分区,因此需要以读写(rw)模式重新挂载 / 文件系统,这样才能修改它。

# mount -o remount,rw /

img

现在可以执行任务了。当结束时,执行下面的命令来开启重启时的 SELinux 重新标记。

# touch /.autorelabel

最后,重启系统。

# exec /sbin/init 6

方法 3

通过用 rw init=/sysroot/bin/sh 参数替换内核中的 ro 单词,以单用户模式启动 CentOS/RHEL 7/8 系统。

为了中断自动启动的过程,重启系统并在 GRUB2 启动界面按下任意键。

现在会展示系统上所有可用的内核,选择最新的内核,按下 e 键来编辑选中的内核参数。

找到以 linuxlinux16 开头的语句,用 rw init=/sysroot/bin/sh 替换 ro。替换完后按下 Ctrl+xF10 来进入单用户模式。

运行下面的命令把环境切换为 “chroot 监狱”。

# chroot /sysroot

如果需要,做出必要的修改。修改完后,执行下面的命令来开启重启时的 SELinux 重新标记。

# touch /.autorelabel

最后,重启系统。

# reboot -f

解决centos7修改root密码报错以及无法进入单用户模式

莫闲219 于 2022-03-23 14:00:38 发布

linux 找回 root 密码操作:

1、启动系统,在开机界面按 “e” 进入编辑界面。

2、找到 “Linux16” 开头的内容,在行的最后输入:init=/bin/sh

3、之后按 ctrl+x 进入单用户模式。

4、接着输入 mount -o remount,rw /

5、在新的一行输入 passwd,按回车后输入密码,确认输入密码。

如果现实 passwd… 的样式,则修改成功。

6、接着输入:touch /.autorelabel,回车

7、之后输入 exec /sbin/init,等待一段时间,系统自动重启,新密码生成。

切记如果出现 SMBus Host Controller not enabled! 之后 ,也不要进行任何操作,等待片刻,等系统完成修改之后无法对编辑界面进行操作,重启虚拟机即可。如果中途退出虚拟机,会导致 root 的新老密码都无法登陆,且无法在开机界面进入单用户模式,如图

img

此时需要 linux16 中的 rd.lvm.lv 前加入 rw,在行末尾输入 init=/bin/sh 即可进入单用户模式。

img


via:

  • Three Methods Boot CentOS/RHEL 7/8 Systems in Single User Mode
    https://www.2daygeek.com/boot-centos-7-8-rhel-7-8-single-user-mode/

    作者:Magesh Maruthamuthu 选题:lujun9972 译者:lxbwolf 校对:wxy
    本文由 LCTT 原创编译,Linux中国 . 荣誉推出

  • 解决centos7修改root密码报错以及无法进入单用户模式_centos7重置root密码后无法登陆-CSDN博客]
    https://blog.csdn.net/qq_56568435/article/details/123684391

  • RedHat&CentOS救援模式/单用户模式 - 知乎
    https://zhuanlan.zhihu.com/p/398478111

  • centos 7 重设密码总是失败_centos7重置密码一直不成功怎么办-CSDN博客
    https://wwzzhh.blog.csdn.net/article/details/124092746

  • 解决CentOS7.x管理员用户root无法登陆问题_centos7 root无法登录-CSDN博客
    https://daxia.blog.csdn.net/article/details/132141925

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

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

相关文章

【C++】size_t全面解析与深入拓展

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯一、什么是size_t?为什么需要size_t? 💯二、size_t的特性与用途1. size_t是无符号类型示例: 2. size_t的跨平台适应性示例对…

YOLOv9改进,YOLOv9检测头融合RFAConv卷积,适合目标检测、分割任务

摘要 空间注意力已广泛应用于提升卷积神经网络(CNN)的性能,但它存在一定的局限性。作者提出了一个新的视角,认为空间注意力机制本质上解决了卷积核参数共享的问题。然而,空间注意力生成的注意力图信息对于大尺寸卷积核来说是不足够的。因此,提出了一种新型的注意力机制—…

Mysql触发器(学习自用)

一、介绍 二、触发器语法 注意:拿取新的数据时用new,旧数据用old。

即现软著工具 - 让软著申请更高效

在软件著作权申请的过程中,开发者常常会遇到代码整理、统计和生成证明文件等繁琐且复杂的任务。为了解决这些问题,提高申请效率和成功率,给大家介绍一款工具:即现软著工具。 即现软著工具,能够快速整理软著申请的程序鉴…

Java Web开发高级——单元测试与集成测试

测试是软件开发的重要环节,确保代码质量和功能的正确性。在Spring Boot项目中,单元测试和集成测试是常用的两种测试类型: 单元测试:测试单个模块(如类或方法)是否按预期工作。集成测试:测试多个…

路径规划之启发式算法之二十八:候鸟优化算法(Migrating Birds Optimization, MBO)

候鸟优化算法(Migrating Birds Optimization, MBO)是一种基于群体智能的元启发式优化算法,其灵感来源于候鸟迁徙时的“V”字形飞行队列。这种队列结构能够有效减少能量消耗,同时提高飞行效率。MBO算法通过模拟候鸟的迁徙行为,利用群体间的协作和信息共享来优化问题的解。 …

Observability:最大化可观察性 AI 助手体验的 5 大提示(prompts)

作者:来自 Elastic Zoia_AUBRY 在过去三年担任客户工程师期间,我遇到了数百名客户,他们最常问的问题之一是:“我的数据在 Elastic 中;我该如何利用它获得最大优势?”。 如果这适用于你,那么本…

C# 委托和事件思维导图

思维导图 下载链接腾讯云盘 https://share.weiyun.com/fxBH9ESl

2024.ailx10的年终总结

已经工作7年啦,今年网络安全行业愈发寒冷,几乎所有友商都在做安全GPT,说实话,AI确实颠覆了传统的网络安全运营,以前需要安服处置告警,以后可能就不需要了,大家日子都不好过,越是简单…

机器学习(5):支持向量机

1 介绍 支持向量机(Support Vector Machine,简称 SVM)是一种监督学习算法,主要用于分类和回归问题。SVM 的核心思想是找到一个最优的超平面,将不同类别的数据分开。这个超平面不仅要能够正确分类数据,还要使…

AI需要的基础数学知识

AI(人工智能)涉及多个数学领域,以下是主要的基础数学知识: 1. 线性代数 矩阵与向量:用于表示数据和模型参数。矩阵乘法:用于神经网络的前向传播。特征值与特征向量:用于降维和主成分分析&…

flutter跨端UI框架简介

flutter跨端UI框架简介 简介 Flutter是由Google开发的开源应用开发框架,主要用于构建高性能、跨平台的移动、Web和桌面应用程序。Flutter使用Dart语言,提供了一套丰富的Widgets,使开发者能够快速创建美观的用户界面。其最大特点是热重载功能…

找不到mfc140u,具体原因分析

mfc140u.dll 是 Microsoft Foundation Classes (MFC) 库的一部分,通常与使用 MFC 构建的应用程序一起分发。当应用程序尝试运行但找不到 mfc140u.dll 时,可能的原因包括但不限于以下几点: 1.文件缺失: •可能是在安装或更新过程中…

StarRocks 3.4 发布--AI 场景新支点,Lakehouse 能力再升级

自 StarRocks 3.0 起,社区明确了以 Lakehouse 为核心的发展方向。Lakehouse 的价值在于融合数据湖与数据仓库的优势,能有效应对大数据量增长带来的存储成本压力,做到 single source of truth 的同时继续拥有极速的查询性能,同时也…

[答疑]这个消息名是写发送数据还是接收数据

睡鱼(61***11) 16:08:29 睡鱼(61***11) 16:08:58 他们说这个图有问题 UML菜鸟(1***22) 16:10:55 有点暗 睡鱼(61***11) 16:27:50 顺序图里面的箭头代表消息还是职责 睡鱼(61***11) 16:28:08 比如 a往b发送数据 睡鱼(61***11) 16:28:36 这个消息名是写发送数据还是接收数据 睡…

WPS按双字段拆分工作表到独立工作簿-Excel易用宝

我们老板真是事多,他说要把这个工作表以月份和支付方式的维度,以这两个字段进行拆分工作表,而且拆分出来的表格要保存一个新的工作簿。 啥事都交给我,他还以为我有三头六臂呢,还好我有易用宝,可以轻松拆分…

Linux——信号量和(环形队列消费者模型)

Linux——线程条件变量(同步)-CSDN博客 文章目录 目录 文章目录 前言 一、信号量是什么? 二、信号量 1、主要类型 2、操作 3、应用场景 三、信号量函数 1、sem_init 函数 2、sem_wait 函数 3、sem_post 函数 4、sem_destroy 函数 ​​​​​​…

Github 2025-01-20 开源项目周报 Top15

根据Github Trendings的统计,本周(2025-01-20统计)共有15个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目10Rust项目2TypeScript项目1C++项目1Jupyter Notebook项目1Go项目1Tabby: 自托管的AI编码助手 创建周期:310 天开发语言:Rust协议类…

【分布式架构设计理论1】架构设计的演进过程

文章目录 一. 分布式架构要解决的问题二. 架构设计的演进过程1. 应用与数据一体2. 应用与数据分离3. 添加缓存:突破数据库(IO)瓶颈4. 服务器集群处理并发5. 数据库读写分离:释放读性能5.1. 问题分析5.2. 解决方案:读写…

【数据分享】1929-2024年全球站点的逐年最低气温数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、湿度等指标!说到气象数据,最详细的气象数据是具体到气象监测站点的数据! 有关气象指标的监测站点数据,之前我们分享过1929-2024年全球气象站点…