#Linux中国#CentOSu002FRHEL 7u002F8 的三种方法 | Linux 中国,以单用户模式启动


#Linux中国#CentOSu002FRHEL 7u002F8 的三种方法 | Linux 中国,以单用户模式启动
文章图片
单用户模式 , 也被称为维护模式 , 超级用户可以在此模式下恢复/修复系统问题 。
来源:https://linux.cn/article-12181-1.html作者:MageshMaruthamuthu译者:Xiaobin.Liu单用户模式 , 也被称为维护模式 , 超级用户可以在此模式下恢复/修复系统问题 。
通常情况下 , 这类问题在多用户环境中修复不了 。 系统可以启动但功能不能正常运行或者你登录不了系统 。
在基于RedHat(RHEL)7/8的系统中 , 使用runlevel1.target或rescue.target来实现 。
在此模式下 , 系统会挂载所有的本地文件系统 , 但不开启网络接口 。
系统仅启动特定的几个服务和修复系统必要的尽可能少的功能 。
当你想运行文件系统一致性检查来修复损坏的文件系统 , 或忘记root密码后重置密码 , 或要修复系统上的一个挂载点问题时 , 这个方法会很有用 。
你可以用下面三种方法以单用户模式启动CentOS/RHEL7/8系统 。
方法1:通过向内核添加rd.break参数来以单用户模式启动CentOS/RHEL7/8系统方法2:通过用init=/bin/bash或init=/bin/sh替换内核中的rhgbquiet语句来以单用户模式启动CentOS/RHEL7/8系统方法3:通过用rwinit=/sysroot/bin/sh参数替换内核中的ro语句以单用户模式启动CentOS/RHEL7/8系统方法1通过向内核添加rd.break参数来以单用户模式启动CentOS/RHEL7/8系统 。
重启你的系统 , 在GRUB2启动界面 , 按下e键来编辑选中的内核 。 你需要选中第一行 , 第一个是最新的内核 , 然而如果你想用旧的内核启动系统你也可以选择其他的行 。
#Linux中国#CentOSu002FRHEL 7u002F8 的三种方法 | Linux 中国,以单用户模式启动
文章图片
根据你的RHEL/CentOS版本 , 找到linux16或linux语句 , 按下键盘上的End键 , 跳到行末 , 像下面截图中展示的那样添加关键词rd.break , 按下Ctrl+x或F10来进入单用户模式 。
如果你的系统是RHEL/CentOS7 , 你需要找linux16 , 如果你的系统是RHEL/CentOS8 , 那么你需要找linux 。
#Linux中国#CentOSu002FRHEL 7u002F8 的三种方法 | Linux 中国,以单用户模式启动
文章图片
这个修改会让你的root文件系统以“只读(ro)”模式挂载 。 你可以用下面的命令来验证下 。 下面的输出也明确地告诉你当前是在“紧急模式(EmergencyMode)” 。
#mount|greproot
#Linux中国#CentOSu002FRHEL 7u002F8 的三种方法 | Linux 中国,以单用户模式启动
文章图片
为了修改sysroot文件系统 , 你需要用读写模式(rw)重新挂载它 。
#mount-oremount,rw/sysroot运行下面的命令修改环境 , 这就是大家熟知的“监禁目录”或“chroot监狱” 。
#chroot/sysroot
#Linux中国#CentOSu002FRHEL 7u002F8 的三种方法 | Linux 中国,以单用户模式启动
文章图片
现在 , 单用户模式已经完全准备好了 。 当你修复了你的问题要退出单用户模式时 , 执行下面的步骤 。
CentOS/RHEL7/8默认使用SELinux , 因此创建下面的隐藏文件 , 这个文件会在下一次启动时重新标记所有文件 。
#touch/.autorelabel最后 , 用下面的命令重启系统 。 你也可以输入两次exit命令来重启你的系统 。
#reboot-f方法2通过用init=/bin/bash或init=/bin/sh替换内核中的rhgbquiet语句来以单用户模式启动CentOS/RHEL7/8系统 。
重启你的系统 , 在GRUB2启动界面 , 按下e键来编辑选中的内核 。
#Linux中国#CentOSu002FRHEL 7u002F8 的三种方法 | Linux 中国,以单用户模式启动
文章图片
找到语句rhgbquiet , 用init=/bin/bash或init=/bin/sh替换它 , 然后按下Ctrl+x或F10来进入单用户模式 。