当前位置: 首页 > 科技观察

在单用户模式下启动CentOS-RHEL7-8的三种方法

时间:2023-03-14 19:00:26 科技观察

单用户模式,也称为维护模式,超级用户可以在其中恢复/修复系统问题。通常,此类问题无法在多用户环境中解决。系统启动但运行不正常或无法登录系统。在基于RedHat(RHEL)7/8的系统上,为此使用runlevel1.target或rescue.target。在这种模式下,系统挂载所有本地文件系统,但不打开网络接口。系统只启动一些特定的服务和尽可能少的功能来修复系统。当您想要运行文件系统一致性检查以修复损坏的文件系统,或重置忘记的root密码,或修复系统上的挂载点问题时,这很有用。您可以通过以下三种方式以单用户模式启动CentOS/RHEL7/8系统。方法一:在内核中加入rd.break参数,以单用户模式启动CentOS/RHEL7/8系统方法二:将内核中的rhgbquiet语句替换为init=/bin/bash或init=/bin/sh以单用户模式启动CentOS/RHEL7/8系统方法三:通过将内核中的ro语句替换为rwinit=/sysroot/bin/sh参数以单用户模式启动CentOS/RHEL7/8系统-用户模式方法1通过发送内核添加rd.break参数以单用户模式启动CentOS/RHEL7/8系统。重新启动系统,在GRUB2启动屏幕上,按e键编辑所选内核。您需要选择第一行,第一行是最新的内核,但是如果您想使用较旧的内核引导系统,您也可以选择其他行。根据你的RHEL/CentOS版本,找到linux16或者linux语句,按键盘上的End键,跳到行尾,添加关键字rd.break如下图,按Ctrl+x或者F10进入单用户模式。如果你的系统是RHEL/CentOS7,你需要找到linux16,如果你的系统是RHEL/CentOS8,那么你需要找到linux。此更改将使您的根文件系统以“只读(ro)”模式挂载。您可以使用以下命令验证它。下面的输出也清楚地告诉你,你目前处于“紧急模式”。#挂载|greproot为了修改sysroot文件系统,您需要以读写模式(rw)重新挂载它。#mount-oremount,rw/sysroot运行以下命令修改环境,称为“jaildirectory”或“chrootjail”。#chroot/sysroot现在,单用户模式已准备就绪。解决退出单用户模式的问题后,请执行以下步骤。CentOS/RHEL7/8默认使用SELinux,所以创建下面的隐藏文件,下次启动时会标记所有文件。#touch/.autorelabel最后,使用以下命令重新启动系统。您也可以输入exit命令两次以重新启动系统。#reboot-f方法二以单用户模式启动CentOS/RHEL7/8系统,将内核中的rhgbquiet语句替换为init=/bin/bash或init=/bin/sh。重新启动系统,在GRUB2启动屏幕上,按e键编辑所选内核。找到语句rhgbquiet,替换为init=/bin/bash或init=/bin/sh,按Ctrl+x或F10进入单用户模式。init=/bin/bash的屏幕截图。init=/bin/sh的屏幕截图。默认情况下,以上将以只读(ro)模式挂载/分区,因此您需要以读写(rw)模式重新挂载/文件系统才能对其进行修改。#mount-oremount,rw/现在你可以执行你的任务了。完成后,执行以下命令以在重启时启用SELinux重新标记。#touch/.autorelabel最后,重启系统。#exec/sbin/init6方法三以单用户模式启动CentOS/RHEL7/8系统,将内核中的ro字替换为rwinit=/sysroot/bin/sh参数。要中断自动引导过程,请重新引导系统并在GRUB2引导屏幕上按任意键。现在将显示系统上所有可用的内核,选择最新的内核并按e键编辑选定的内核参数。找到以linux或linux16开头的语句,将ro替换为rwinit=/sysroot/bin/sh。替换后按Ctrl+x或F10进入单用户模式。运行以下命令将环境切换到“chrootjail”。#chroot/sysroot根据需要进行必要的更改。进行更改后,执行以下命令以在重新启动时启用SELinux重新标记。#touch/.autorelabel最后,重启系统。#重启-f