1. 先搞清楚状态:你的银河麒麟到底是怎么进不去的
上周处理了一台银河麒麟V10服务器,root密码被上一任运维改了之后交接文档里写的是另一个密码,现场三个人轮流试了半小时,全部报错。数据库在跑、业务没停,但谁都不敢重启,因为重启之后就没人能进去了。最后只能连夜进机房,用单用户模式把root密码重置掉,前后折腾了两个多小时。这事之后我就想把整个思路完整写一遍。
银河麒麟V10目前是国产服务器和桌面环境里出镜率最高的系统之一,基于Linux内核,桌面版和服务器版都是。它和CentOS/RHEL的目录结构、systemd体系、GRUB2引导流程高度接近,所以网上很多CentOS的密码重置方法拿到银河麒麟上大部分是能用的,但有几个细节不同,尤其是SELinux处理、密码策略、以及ARM架构机器上的菜单名称差异。这篇文章会把我实际验证过的几种root密码重置方案、每一步的原理、以及重置之后必须做的收尾工作全部写清楚。
先判断一下你的系统属于哪种情况,这决定了后面走哪条路线。最常见的三种:
-
输入密码提示错误,无法登录图形界面或字符终端。这种最简单,系统本身是完好的,只需要在引导阶段进入单用户模式修改密码。
-
SSH远程登录时root被拒绝,但本地控制台还能登录普通用户。这种不用急着重置root密码,大概率是sshd_config里禁用了root远程登录,先排查配置再说。
-
忘记密码之后别人试了太多次,账户被锁定了。登录时会提示账户已被锁定或认证失败,这种情况在单用户模式里除了改密码,还要重置失败计数。
另外还有一种特殊场景:密码完全正确,但图形界面登录后闪退回登录界面,这属于SELinux上下文错乱,跟密码本身无关,不少人在重置密码之后会遇到。我放在后面专门说。
所以在动手之前,你先确认两个信息:
- 系统是桌面版还是服务器版?
- 这块机器是物理机、虚拟机,还是云主机?
这两个信息决定了操作步骤里的几个关键差异。比如云主机一般不建议用GRUB单用户模式强改,因为云厂商的控制台和虚拟化层可能会拦截相关按键;而物理机如果没接显示器,连键盘都够不着,那就只能走救援盘路线了。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 重置前的准备工作与关键认知:为什么能重置、用什么重置
很多新手第一次听说“root密码忘了还能重置”都会愣一下:那root密码还有什么意义?这里要澄清一个概念。
root密码.hash存在/etc/shadow文件里,系统校验密码时调用PAM模块读取这个文件。所谓重置root密码,本质就是拿到对这个文件的读写权限,然后强制写入新的密码哈希。日常登录时系统不给你这个权限,但系统自己在启动阶段会提供一个“维修模式”——也就是单用户模式或rescue模式——在这个环境里,系统默认信任操作者是管理员,允许直接挂载根文件系统并修改关键文件。
说夸张一点,物理接触就是最高权限。只要机器在你手上,重置root密码只是时间问题。这跟Windows的PE盘重置密码是同一个逻辑。
银河麒麟有两种重置路线,适用场景不同:
| 路线 | 进入方式 | 适用场景 | 风险程度 |
|---|---|---|---|
| GRUB单用户模式 | 开机时按e编辑内核启动参数 | 有本地控制台,机器能正常启动到GRUB界面 | 低,全程只改一个密码字段 |
| 救援盘模式 | 用系统ISO/U盘启动进入rescue | 系统引导损坏、GRUB丢失、不知道GRUB密码、远程无法操作控制台 | 中,需要挂载文件系统后手动chroot |
实测下来,90%的情况走单用户模式就够了。但如果这台机器被设置了GRUB密码,或者boot分区损坏,单用户模式进不去,那就只能用ISO启动盘走rescue模式。
在动手之前,有几件事必须提前做:
第一,确认有没有磁盘加密。
如果当初装系统时开了LUKS全盘加密,那么无论如何重置,在进入单用户模式之前系统都会要求输入磁盘解密密码。这个密码和root密码是两回事,忘了就连系统都加载不了,唯一办法是找当时的加密恢复密钥,这个我下面不展开,属于另一个话题。银河麒麟默认安装不会开LUKS,但企业内部合规要求有时候会开,先说清楚免得你卡在第一步。
第二,如果有虚拟机快照,先打一个快照。
这个太重要了。虚拟机厂商的Web控制台里点一下快照,整个过程不到十秒,但万一你改出问题,随时可以回滚。物理机就没办法了,建议先把/etc/passwd和/etc/shadow两个文件拷贝到U盘备用,虽然这两个文件一般不会有问题,但图个心安。
第三,搞明白你的机器是什么引导方式。
银河麒麟V10同时支持Legacy BIOS和UEFI引导,GRUB2的启动参数编辑界面在两种模式下略有差异。UEFI机器进入GRUB后,部分主板需要按Esc或者Shift键才能让启动菜单停住;老式BIOS机器开机直接按F8或F11进入引导菜单。如果你不知道自己的机器是什么引导方式,开机时留意屏幕上的提示,虚拟机的话可以直接在固件设置里看。
上面这些准备好之后,就可以进入正题了。
3. 核心路线:通过GRUB菜单进入单用户模式改密码
这是我最推荐的方案,也是实测最稳的路线。整个过程分成几个阶段:进GRUB编辑界面、改内核启动
