单用户模式和救援模式

1、单用户模式

如果忘记root密码,怎么办?

可以用单用户模式进入Linux,在这之前,需要重启Linux。一般有3种命令可以重启Linux,分别是 reboot  ,  init 6  ,  shutdown -r now  。关机的命令是,init 0  ,  poweroff  。

重启之后,在进入下图界面时,按上下方向键选择,

140014_oLMU_3867265.png

按字母”e“键可以编辑,现在选择第一行的系统,然后按字母”e“,进入下图grub界面,

140024_Lz6z_3867265.png

使用上下方向键,找到linux16开头的这一行,按右方向键,把鼠标移动到ro字母后面,见下图,

140032_KAGc_3867265.png

把ro改成rw,表示read和write,读和写。然后再加几个字符串,具体见下图红色框框内容,

140039_Jk2m_3867265.png

输入完毕,同时按 Ctrl+x ,即可重启Linux。之后就出来下图界面,

140047_Wo2b_3867265.png

目前所在的环境,相当于是安全模式,还没进入系统。我们可以先操作几个命令看看。

140052_sLCb_3867265.png

由于当前操作的系统,不是原来的系统,相当于内存操作系统,所以现在需要切换一下系统,用命令“chroot /sysroot/”执行,再用cat命令操作,我们可以看出两个命令是不一样的。切换系统之后,现在就可以使用原来系统的命令了。

140100_tABn_3867265.png

现在要更改root密码,输入命令:passwd root ,

140105_tfUg_3867265.png

可以看到,结果出现了小方块,就是乱码,这个时候需要更改一下语言,先用Ctrl+C 来结束命令,然后编辑”LANG=en“这个命令来定义语言。原来是中文,所以显示了小方块,现在换成英文,再试一下。

140110_TBey_3867265.png

现在就可以了,然后改一下密码,改完密码之后,还需要做一个命令,才可以用新密码登陆Linux。见下图,

140119_eolG_3867265.png

一定要做这个命令,才可以登陆Linux,现在要重启系统。右击系统名称抬头,在电源中选择重新启动客户机,就可以重启了。

140124_81bj_3867265.png

启动完成,用新密码登陆Linux。

 

几个tips:

1、更改root密码,需要到原始机房去更改,远程登陆是进不了单用户模式的,不用担心别人随意更改自己的root密码。

2、单用户模式设置完之后,仅对本次操作有效,重启之后就会恢复,不再是单用户模式,没有必要再改回来。

 

2、救援模式

 在CentOS 6 和之前的版本中有“运行级别”的概念,分0-6 。

0-关机。

1 - 单用户模式。不需要做用户认证,即可更改密码。

2、3、4 - 都是多用户模式。为命令行下面的多用户模式。正常在启动系统的情况下,没有安装图形界面的前提下,计入的级别就是3级别。

5 - 图形操作界面。与3级别的差异只在于图形。

6-root重启。

 

在 CentOS 7中没有以上的概念。

我们打开 PuTTY ,登陆上去,输入命令:ls -1 /usr/lib/systemd/system/runlevel*target ,见下图,

140233_2qt9_3867265.png

可以看出,CebtOS 7 也有7个级别,这边就做一个了解。

 

我们用单用户模式更改密码,是有一个前提的,就是grub是没有设置密码的。如果grub设置了密码或是损坏,而我们不知道的话,就无法进入单用户模式更改密码。

这时候还有另一种方法,用光盘或是系统U盘,重新进入到装系统的界面。这时候需要加载一下光驱,还需要重启系统,并下载光驱。先将Linux关机一下,我们用 init 0 命令来执行。然后再编辑一下虚拟机。点击虚拟机页面的“编辑虚拟机设置”,如图

140244_3yCO_3867265.png

进入虚拟机设置之后,选择“CD/DVD(IDE)”这一项,然后查看设备状态,注意“启动时连接”这一项是一定要选的,然后ISO映像文件的路径一定要选对。然后点击“确定”。

140250_GQ46_3867265.png

然后再系统抬头右键,选择“电源”,再选择“启动时进入 BIOS(B)”。目的是为了启动时加载光驱,默认设置没有这一项。

备注:我的系统显示的是“打开电源时进入固件”,不是“启动时进入 BIOS(B)”。

140259_PcUf_3867265.png

进入固件界面,用右方向键选择“Boot”界面,如下图所示,

140305_Sba4_3867265.png

可以看到排第一位的是“Removable Devices”,排第二位的是“Hart Drive”排第三位的才是“CD-ROM Drive”。现在要做的就是把“CD-ROM Drive”排第一位去。可以用上下方向键来选择,然后用+、-号来控制左边的排序。操作顺序是,先把“Removable Devices”,选中,连续两下 - ,将其排到“CD-ROM Drive”下面,然后向上选择“Hart Drive”,按一下 - ,“CD-ROM Drive”就排到第一位了,也就是说,它现在是第一启动项。

140312_oi7S_3867265.png

设置完这个,按右方向键 ,进入“Exit”界面,选中“Exit Saving Change”,回车,再选择“Yes”回车。即可重启系统。

140320_yF4a_3867265.png

系统重启完成之后,进入光驱启动界面,选择“Troubleshooting”,回车。

140326_vf4T_3867265.png

进入下图界面,按上下方向键选择第二项“Rescue a CentOS Linux system” ,回车。

140333_e3pa_3867265.png

接下来可以按回车,也可以等会自动加载,加载完毕之后,就出现下图界面。有4个选项可以选择,我们选择1,然后回车。

140342_tNiY_3867265.png

出现的最后一句话是“Please press  <return> to get a shell”,这时候回车,得到一个shell 即命令行,上面还有一个命令“chroot /mnt/sysimage”,这个命令跟单用户模式的命令很像,这个命令完成之后就进入原来的系统。

140350_ER98_3867265.png

我们可以输入ls 命令来看一下,见下图,

然后再cat ,

140356_iSlP_3867265.png

出现了跟单用户模式一样的界面,然后输入命令,

140403_H0C7_3867265.png

回车之后,发现前缀变了,不用管这个。直接输入命令:passwd root ,回车。然后输入新的密码,再输一次密码,密码就更改成功了。

140413_ZUDX_3867265.png

这时候要改变一下设置。在系统下方窗口,点击第二个按钮,选择“设置”,

140420_qT1S_3867265.png

跳出下图窗口,将设备状态的两个选项都点掉,不做连接,然后确定,

140425_qbuH_3867265.png

在弹出的窗口上选择“是”,

140433_e6CN_3867265.png

接下来就可以重新启动系统了,直接在系统抬头右键,选择“电源”,再点击“重新启动客户机”,

140442_JMSg_3867265.png

在弹出的窗口上,选择“重新启动”,

140447_yLkV_3867265.png

等待系统重启一会,然后输入用户名root ,再输入密码,即可登陆系统。

140456_Da90_3867265.png

 

这样子,密码就更改成功了。

 

转载于:https://my.oschina.net/u/3867265/blog/1821774

<think>首先,用户的问题是关于CentOS系统中进入单用户模式救援模式来修改root密码并重启设备。用户引用了几个参考内容,我需要基于这些信息构建回答。参考引用的关键点:-引用[1]:描述了单用户模式救援模式用于恢复系统,如忘记root密码或配置文件错误。-引用[2]:提供了进入单用户模式的具体步骤:重启系统,按e进入编辑模式,修改ro为rw,添加内容,然后按Ctrl+X启动单用户模式,修改密码,并运行命令。 -引用[3]:解释了为什么需要touch/.autorelabel,因为修改密码会影响SELinux安全上下文。-引用[4]:提到在虚拟机或IDC机房中需要重启服务器。 -引用[5]:简要介绍了grub。用户的问题是:“我想在CentOS系统中进入单用户模式救援模式以修改密码并重启设备请问CentOS进入单用户模式救援模式修改root密码重启方法”所以,我需要提供一个清晰的步骤指南,包括:1.进入单用户模式修改root密码。 2.进入救援模式修改root密码。3.重启设备的方法。 回答结构: -先介绍单用户模式救援模式的概念。-然后分步说明如何进入单用户模式修改密码。 -接着分步说明如何进入救援模式修改密码。-最后说明如何重启设备。-确保使用中文。-在回答末尾添加引用标识。-生成相关问题。 系统指令要求: -行内数学表达式用$...$,但在这个上下文中可能不涉及数学,所以忽略。-独立公式用$$...$$,但这里不适用。- LaTeX语法正确:在代码块中使用。-使用中文回答。-生成相关问题。 -回答中引用的段落末尾添加引用标识,例如[^1]。生成相关问题:-基于主题,生成相关问题,如单用户模式的其他用途、救援模式的细节等。 回答结构清晰: -逐步解释过程。 -确保真实可靠,基于提供的引用。步骤大纲: 1. **介绍**:简述单用户模式救援模式的作用。 2. **单用户模式步骤**:-重启系统。-在GRUB菜单按e编辑。-修改ro为rw,添加init=/bin/bash或类似。-启动单用户模式。-修改密码。-运行touch/.autorelabel(如果SELinux启用)。-退出并重启。3.**救援模式步骤**:-使用安装媒体启动。-选择救援模式。-挂载根分区。-修改密码。-退出并重启。4.**重启方法**:简单命令如reboot或init6。 5. **相关问题**:生成3-5个相关问题。引用标识: -在描述步骤时,如果直接引用参考内容,在末尾添加[^数字]。 例如: -在修改密码后需要运行touch /.autorelabel以避免SELinux问题[^3]。 -等等。 完整回答:</think>### CentOS 进入单用户模式救援模式修改root密码及重启方法 在CentOS系统中,单用户模式救援模式是用于系统恢复的关键工具,尤其适用于忘记root密码或配置文件错误导致系统无法启动的情况。单用户模式允许以最小权限启动系统(仅root用户),救援模式则通过外部媒体(如安装光盘或USB)访问系统分区。以下是详细步骤,基于CentOS 7环境(其他版本类似)。整个过程需谨慎操作,以避免数据丢失。 #### 一、进入单用户模式修改root密码 单用户模式直接在系统启动时修改配置,无需外部工具。适用于物理机或虚拟机环境。 1. **重启系统**: 在开机过程中,当出现GRUB菜单(显示操作系统列表)时,立即按 `e` 键进入编辑模式[^2][^5]。 2. **编辑启动参数**: 在编辑界面,找到以 `linux16` 开头的行: - 将 `ro`(只读)改为 `rw`(读写),以允许文件系统修改。 - 在行末添加 `init=/bin/bash` 或 `rd.break`(后者适用于systemd系统)。 示例修改后内容: ``` linux16 /vmlinuz-... root=/dev/mapper/centos-root ro crashkernel=auto... 改为: linux16 /vmlinuz-... root=/dev/mapper/centos-root rw init=/bin/bash ``` [^2][^4] 3. **启动单用户模式**: 按 `Ctrl+X` 或 `F10` 启动系统。系统将进入单用户模式的bash shell。 4. **修改root密码**: 在shell中执行以下命令: ```bash # 重新挂载根分区为可读写(如果尚未挂载) mount -o remount,rw / # 修改root密码 passwd root # 输入新密码两次(密码不显示) ``` 如果系统使用SELinux(默认启用),必须运行以下命令修复安全上下文: ```bash touch /.autorelabel # 避免SELinux导致登录问题[^3] ``` 5. **退出并重启**: 执行: ```bash exec /sbin/init # 或直接重启 reboot ``` 系统将正常启动,使用新密码登录[^1][^2]。 #### 二、进入救援模式修改root密码 救援模式需外部启动媒体(如CentOS安装ISO),适用于文件系统损坏或GRUB故障的情况。 1. **准备启动媒体**: - 创建CentOS安装ISO的USB或光盘。 - 从该媒体启动系统,在安装界面选择 “Troubleshooting” > “Rescue a CentOS system”。 2. **进入救援环境**: - 系统加载后,选择 “1” 继续(挂载根分区到 `/mnt/sysimage`)。 - 如果提示 “chroot /mnt/sysimage”,选择 “Yes”[^1][^4]。 3. **修改root密码**: 在救援shell中执行: ```bash # 切换到原系统根目录 chroot /mnt/sysimage # 修改密码 passwd root # 输入新密码两次 # 如果SELinux启用,运行: touch /.autorelabel # 修复安全上下文[^3] ``` 4. **退出并重启**: 执行: ```bash exit # 退出chroot exit # 退出救援shell reboot ``` 移除启动媒体后,系统将重启[^1][^4]。 #### 三、重启设备的方法 在单用户救援模式中完成操作后,使用以下命令重启: - **正常重启**:`reboot` 或 `init 6`[^2]。 - **强制重启**(如系统无响应):物理机按电源键,虚拟机使用控制台选项。 **注意事项**: - **虚拟机环境**:在VMware或VirtualBox中,需通过虚拟控制台操作,模拟物理重启[^4]。 - **物理服务器**:IDC机房需联系驻场工程师协助重启[^4]。 - **SELinux**:忽略 `touch /.autorelabel` 可能导致登录失败,务必执行[^3]。 - **备份**:操作前建议备份重要数据,误操作可能损坏系统。 通过以上步骤,您可以安全恢复root访问权限。如果遇到问题,检查GRUB版本或使用Live CD进一步诊断。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值