CentOS6系统忘记开机密码?GRUB单用户模式重置密码指南

LEAF
CentOS6系统忘记开机密码时,可通过GRUB单用户模式重置,重启时按方向键进入GRUB菜单,选择要启动的内核,按“e”编辑,在内核参数末尾添加“single”或“1”,按Ctrl+X进入单用户模式,执行“passwd root”命令输入新密码,完成后输入“exec init 6”重启系统即可,此方法无需第三方工具,通过GRUB引导参数临时绕过密码验证,适用于紧急密码重置场景。

在日常运维中,偶尔会遇到忘记服务器或虚拟机开机密码的情况,尤其是对于仍在使用CentOS6这类较老系统的用户,本文将详细介绍通过GRUB引导加载器的单用户模式重置开机密码的完整步骤,帮助您快速解决密码问题,恢复系统访问权限。

注意事项

在操作前,请务必确认:

  1. 系统为CentOS6(CentOS7/8操作方式略有不同,本文不适用);
  2. 如果是物理机,确保您有物理访问权限;如果是虚拟机,确保能通过控制台操作;
  3. 操作过程涉及系统文件修改,建议提前备份重要数据(虽然单用户模式操作风险较低,但谨慎为上)。

具体操作步骤

第一步:重启系统并进入GRUB编辑界面

  1. 启动或重启CentOS6系统,在开机自检阶段(显示厂商LOGO时),快速连续按下键盘上的方向键上(↑)或下(↓),直到出现GRUB引导菜单(通常包含“CentOS6 (2.6.32-xxx.el6.x86_64)”等选项)。

    CentOS6系统忘记开机密码?GRUB单用户模式重置密码指南

    如果系统直接进入登录界面,说明错过了GRUB菜单,需重启后再次尝试(CentOS6默认GRUB菜单显示时间较短,需快速反应)。

    CentOS6系统忘记开机密码?GRUB单用户模式重置密码指南

  2. 在GRUB菜单中,通过方向键选中第一个选项(即默认的CentOS6系统),然后按下键盘上的 e 键,进入GRUB编辑模式。

第二步:修改内核启动参数,进入单用户模式

  1. 进入GRUB编辑界面后,你会看到多行配置(以titlerootkernelinitrd等开头),通过方向键找到以 kernel 开头的行(通常包含vmlinuz-2.6.32-xxx.el6.x86_64等字样)。

  2. 将光标移动到该行的末尾,输入空格,然后添加以下参数之一(推荐使用init=/bin/bash,更直接进入root shell):

    • 方式1(推荐):init=/bin/bash
    • 方式2:single
      示例修改后:
      kernel /vmlinuz-2.6.32-642.el6.x86_64 ro root=UUID=xxxx-xxxx-xxxx-xxxx rd_NO_LUKS rd_NO_MD crashkernel=auto rd_NO_LVM LANG=en_US.UTF-8 rd_NO_DM rhgb quiet init=/bin/bash
  3. Ctrl + XF10 键,使用修改后的参数启动系统。

第三步:进入单用户模式并重置密码

  1. 系统会以单用户模式启动,直接进入root用户的命令行界面(无需输入密码),此时根文件系统可能以只读模式挂载,需先将其改为读写模式:

    mount -o remount,rw /

    (如果提示“mount: /proc already mounted”,可忽略,直接执行重置密码操作。)

  2. 使用passwd命令重置root密码:

    passwd

    按提示输入新密码(两次),密码不会显示,输入完成后会显示passwd: all authentication tokens updated successfully,表示密码重置成功。

第四步:处理SELinux(关键步骤!)

CentOS6默认启用SELinux,如果直接重启,可能会因SELinux安全上下文不匹配导致无法登录,需更新SELinux的安全上下文:

touch /.autorelabel

该命令会在下次重启时自动重新标记所有文件的安全上下文,确保SELinux正常工作。

第五步:重启系统

  1. 执行以下命令重启系统(注意:此时不要直接输入reboot,避免因未卸载文件系统导致错误):

    exec /sbin/init

    或使用:

    sync && reboot
  2. 系统重启后,会先进行SELinux的自动重标记(屏幕会显示Relabeling /),等待完成后,即可使用新密码登录root账户。

常见问题与解决

GRUB菜单不出现怎么办?

  • 如果系统默认隐藏GRUB菜单,可开机时按Esc键强制显示;
  • 如果仍无法进入,检查BIOS/UEFI设置,确保“Boot Mode”为“Legacy”(而非UEFI),且GRUB是第一启动项。

进入单用户模式后无法执行mount命令?

  • 可能是根文件系统未挂载,可先执行mount -a尝试挂载所有分区,或通过ls /dev/sd*确认根分区(通常是/dev/sda1/dev/sda2),手动挂载:
    mount /dev/sda1 /mnt
    chroot /mnt
    passwd

重启后仍无法登录?

  • 检查SELinux是否已标记(若跳过touch /.autorelabel,可手动执行restorecon -Rv /修复上下文);
  • 确认密码输入正确(注意大小写、空格);
  • 若仍有问题,可通过救援模式(Rescue Mode)进一步排查。

通过GRUB单用户模式重置CentOS6开机密码是经典且有效的方法,核心步骤可概括为:进GRUB→改参数→进单用户→重置密码→处理SELinux→重启,整个过程无需第三方工具,仅需通过键盘操作即可完成,适合紧急场景下的密码恢复。

建议日常运维中为GRUB设置启动密码(通过grub-md5-crypt生成密码并修改/boot/grub/grub.conf),或使用SSH密钥登录,避免密码遗忘带来的风险。

文章版权声明:除非注明,否则均为XMSDN - MSDN原版系统镜像 | 纯净ISO系统下载原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码