当前位置:首页 > 系统教程 > 正文

Linux忘记root密码怎么办?

Linux忘记root密码怎么办?

Ubuntu/CentOS/Debian全场景重置教程(含GRUB修改+Recovery Mode+LiveCD应急方案)2025最新完整图文教程

当你遇到Linux忘记root密码的情况,不必重装系统。本文汇总了Ubuntu、CentOS、Debian三大发行版的最全密码重置方法,包括GRUB修改、Recovery Mode、LiveCD应急方案,每一步都详细说明,小白也能轻松操作。

Linux忘记root密码怎么办? Linux忘记root密码 Ubuntu重置root密码 CentOS root密码恢复 LiveCD修复Linux 第1张

一、Ubuntu系统重置root密码

适用版本:Ubuntu 18.04/20.04/22.04/24.04及后续版本(包括服务器版和桌面版)

方法1:通过GRUB启动项修改(无需介质)

  1. 重启Ubuntu系统,在启动时按住Shift键(或不停按Esc)进入GRUB菜单。
  2. 选择默认启动项(通常第一项),按e键编辑启动参数。
  3. 找到以linuxlinux16开头的行,在末尾添加init=/bin/bash(或rw init=/bin/bash)。
  4. Ctrl+XF10启动进入bash Shell。
  5. 此时根文件系统为只读,重新挂载为读写:mount -o remount,rw /
  6. 使用passwd root命令设置新密码。
  7. 如果系统启用了SELinux或AppArmor,可能需要执行touch /.autorelabel(针对SELinux)。
  8. 输入exec /sbin/initreboot -f重启系统。

方法2:使用Recovery Mode(如果GRUB中有recovery选项)

  1. 在GRUB菜单中选择高级选项或recovery mode。
  2. 选择“root - Drop to root shell prompt”。
  3. 根分区默认为只读,执行mount -o remount,rw /
  4. 输入passwd root设置密码。
  5. 重启系统。

方法3:使用Ubuntu Live CD/USB应急

  1. 用Ubuntu Live USB启动,选择“试用Ubuntu”。
  2. 打开终端,查看硬盘分区:sudo fdisk -llsblk,找到根分区(通常是ext4分区)。
  3. 挂载根分区:sudo mount /dev/sdX /mnt (sdX替换为实际分区)。
  4. 如果需要挂载/boot、/efi等:sudo mount /dev/sdY /mnt/boot(如有单独分区)。
  5. chroot到挂载的根分区:sudo chroot /mnt
  6. 执行passwd root修改密码。
  7. 退出chroot(exit),卸载分区,重启。

二、CentOS系统重置root密码(RHEL系)

适用版本:CentOS 7/8/9,RHEL 7/8/9,Rocky Linux,AlmaLinux等

方法1:GRUB修改(rd.break方法)

  1. 重启进入GRUB菜单,选择要启动的内核,按e编辑。
  2. 找到linuxlinux16开头的行,在末尾添加rd.break,或者init=/bin/bash(但rd.break更常用)。
  3. Ctrl+X启动。
  4. 系统会进入紧急模式(switch_root),根分区挂载在/sysroot且只读。重新挂载为读写:mount -o remount,rw /sysroot
  5. 切换根环境:chroot /sysroot
  6. 修改root密码:passwd root
  7. 如果SELinux启用,创建自动重标记文件:touch /.autorelabel
  8. 退出chroot(exit),然后reboot

方法2:使用Live CD(类似Ubuntu)

  1. 使用CentOS Live CD或任何Linux Live系统启动。
  2. 挂载根分区至/mnt,chroot,修改密码。
  3. 注意SELinux上下文,可能需要touch /mnt/.autorelabel

三、Debian系统重置root密码

Debian与Ubuntu类似,但GRUB进入方式可能不同(通常按Esc)。参考Ubuntu的方法即可。

Debian GRUB修改步骤:

  1. 启动时按Esc进入GRUB。
  2. 编辑启动项,在linux行末尾添加init=/bin/bash
  3. 挂载根为读写:mount -o remount,rw /
  4. 修改密码,重启。

四、总结与注意事项

  • 无论哪种方法,重置root密码都需要物理访问权限或远程控制台。
  • 对于加密磁盘(LUKS),需要先解密才能修改密码。
  • 如果系统启用了SELinux,修改密码后可能需要重打标签(/.autorelabel)。
  • 建议平时设置备用恢复用户或记录密码。
  • 使用LiveCD修复Linux是最通用的方案,适用于任何发行版。
  • 本教程涵盖Ubuntu重置root密码CentOS root密码恢复、Debian等,以及GRUB修改Recovery Mode用法。

更新日期:2025年3月 | 如果遇到问题,欢迎在评论区留言交流。