最快捷方法是grub单用户模式:重启按esc调出grub菜单,选默认项按e编辑,将linux行末ro替换为rw init=/bin/bash console=tty0,ctrl+x启动后执行mount -o remount,rw /、passwd root、reboot -f强制重启。

麒麟系统忘记开机root密码后无法进入登录界面,必须在系统启动流程中干预引导过程,通过底层命令行环境直接修改/etc/shadow中的密码哈希值,不能依赖图形界面或网络服务。
用GRUB单用户模式重置root密码
这是最快捷的方法,适用于能调出GRUB菜单且未启用GRUB密码保护的场景。它跳过全部初始化流程,以读写方式挂载根文件系统并直接启动bash,获得无条件root权限。
第一步:重启电脑,在BIOS自检结束、银河麒麟Logo刚出现前,快速连续按Esc键(部分UEFI机型需按Shift键)调出GRUB菜单。
第二步:用方向键选中默认启动项(如“Kylin V10 GNU/Linux”),按e键进入编辑模式。
第三步:用方向键将光标移至以linux或linuxefi开头的行末尾;删除该行末尾的ro参数,替换为rw init=/bin/bash console=tty0,注意前后保留空格——若漏掉console=tty0,某些机型会卡在黑屏无响应状态。
第四步:按Ctrl+X或F10启动修改后的内核配置,系统直接进入黑底白字的bash命令行,提示符为#,此时已具备完整root权限。
第五步:执行mount -o remount,rw /,确保根分区可写;若跳过此步,后续passwd命令会报错“Authentication token manipulation error”。
第六步:输入passwd root,连续两次输入新密码(输入过程无任何屏幕回显,大小写和符号必须完全一致)。
第七步:看到passwd: password updated successfully提示后,执行exec /usr/sbin/reboot -f强制重启系统。
用GRUB救援模式重置root密码
当单用户模式因安全策略拦截或GRUB被设密时,此方法更稳妥。它调用系统预置的recovery环境,自动加载基础服务并提供chroot能力,操作门槛更低。
方法一:从高级选项进入
重启进入GRUB菜单 → 用方向键选择“Advanced options for Kylin V10” → 回车 → 在子菜单中选中带“(recovery mode)”字样的启动项(如“Kylin V10 GNU/Linux, with Linux 5.10.0-106-generic (recovery mode)”)→ 回车等待加载完成 → 出现文本菜单后,用方向键选择“Drop to root shell prompt” → 按回车确认。
方法二:手动挂载与切换根环境
若进入shell后提示根分区未挂载或为只读,先执行mkdir -p /mnt/sysimage && mount /dev/sda2 /mnt/sysimage(其中sda2需替换为实际根分区,可用lsblk或sudo fdisk -l确认)→ 再运行chroot /mnt/sysimage→ 执行passwd root→ 输入两次新密码→ 完成后输入exit退出chroot→ 返回菜单选择“resume normal boot”或直接输入reboot -f重启。
用rd.break紧急模式重置root密码
该方法在initramfs阶段中断启动流程,适用于单用户模式失效、GRUB菜单被隐藏或服务器版GRUB密码未知的场景。它不依赖内核参数完整性,直接控制/sysroot挂载点。
第一步:重启系统,在GRUB菜单出现时按e键进入编辑模式。
第二步:定位到以linux开头的行,在行尾添加空格后追加rd.break(注意不是rd.break=0或rd.break=1,仅rd.break即可)。
第三步:按Ctrl+X或F10启动,系统将在initramfs中暂停,提示符变为sh-4.4#。
第四步:执行mount -o remount,rw /sysroot,使/sysroot可写;若忽略此步,后续chroot将失败。
第五步:运行chroot /sysroot切换到真实根环境。
第六步:执行passwd root,输入两次新密码。
第七步:依次执行touch /.autorelabel(触发SELinux上下文重标记,避免重启后卡在selinux初始化)→ exit→ exit(退出两次)→ 系统自动继续启动流程。











