15042895833
首页 >> 新闻案例

如何通过ip访问云服务器ipUbuntu忘记root密码重置方法大全

作者:云服务器网 | 2026-01-12 11:01:19

无锡云服务器

在 Ubuntu 系统中,如果忘记了 root 密码或者需要重新启用 root 账号,可以通过恢复模式(Recovery Mode)Grub 启动参数来重置密码,而无需重装系统。

前提条件:

你需要有物理机/虚拟机控制台权限(如 VMware/KVM 控制台、iDRAC、iLO、云平台 VNC 等)。对于公有云(阿里云、腾讯云、AWS 等),一般推荐优先使用云厂商自带的密码重置/救援模式。

下面以常见的Ubuntu 16.04 / 18.04 / 20.04 / 22.04为例说明操作方法。

一、确认 Ubuntu 的 root 使用方式

Ubuntu 默认是不直接启用 root 登录的,通常做法是:

使用普通用户,通过 sudo 提升权限;默认 root 是有密码的,但不推荐直接用 root 登陆。

你可能遇到的几种情况:

忘记了能 sudo 的普通用户密码;忘记 root 密码,但希望重新启用 root 登录;只有一个账号,但密码不记得了。

下面的方法都可以用来在系统层面直接修改 /etc/shadow 中的密码,从而重置 root 或某个用户的密码。

二、方法一:通过 Recovery Mode 重置 root 密码(推荐)

这是最常用、最安全的一种方式,适合大多数 Ubuntu 安装。

1. 重启系统,进入 Grub 菜单

重启服务器:reboot如果本身进不了系统,可以在控制台上直接点击重启。在系统刚启动时,当屏幕上出现开机 LOGO 或闪黑屏的时候,立刻按住或反复按:BIOS 机型:ShiftUEFI 机型:Esc直到出现Grub 菜单,能看到类似:Ubuntu Advanced options for Ubuntu

如果 Ubuntu 是唯一系统且平时不显示 Grub 菜单,这一步尤其重要。

2. 进入高级选项 / 恢复模式

在 Grub 菜单中,用方向键选择:Advanced options for Ubuntu然后按 Enter。在高级选项菜单中,选择一项带有(recovery mode)字样的内核启动项,比如:Ubuntu, with Linux 5.4.0-xx-generic (recovery mode)然后按 Enter。

系统会以恢复模式启动,最终进入一个带菜单的恢复界面。

3. 选择 root 模式(root shell)

等待恢复模式加载完毕后,会看到一个文本菜单,选项类似:

resume Resume normal boot clean Try to make free space dpkgRepairbroken packages fsckCheckallfilesystems rootDroptoroot shellprompt选择:root Drop to root shell prompt输入回车。这时会进入一个 root shell,提示类似:root@hostname:~

注意:此时根文件系统一般是只读挂载的,需要改成读写才能修改密码。

4. 将根文件系统 remount 为读写

在 root shell 中执行:

mount-o remount,rw /

无需任何输出即表示成功。你可以用 mount | grep / 检查当前挂载状态。

5. 重置 root 密码或普通用户密码

5.1 重置 root 密码(启用/修改 root)

直接执行:

passwdroot

按提示输入新密码两次,例如:

Enternew UNIX password:Retypenew UNIX password:passwd:password updated successfully

看到 updated successfully 就说明 root 密码已修改完成。

5.2 重置普通用户密码

假设你的普通用户是 ubuntu 或 admin,执行:

passwdubuntupasswdadmin

操作流程和修改 root 密码一样,输入新密码两次即可。

6. 退出并继续正常启动

密码更改完成后:

输入:exit返回到 recovery 菜单。在菜单中选择:resume Resume normal boot回车,让系统继续正常启动。

系统启动完成后,你可以直接用新密码登录:

如果是普通用户:用新密码登录,再使用 sudo。如果要直接用 root:先允许 root 登录(见后文设置)。

三、方法二:通过修改 Grub 启动参数重置密码(适用于无 Recovery Mode)

在部分最小化安装或特殊环境下,可能没有 recovery mode 选项,这时可以通过 Grub 临时改启动参数,进入单用户/救援模式重置密码。

阿里云一键配置web服务器

1. 进入 Grub 菜单并编辑启动项

重启系统,按 Shift 或 Esc 进入 Grub 菜单,选中默认的 Ubuntu 启动项,按下:

e

进入编辑模式。

2. 修改内核启动参数

在编辑页面中:

找到以 linux 开头的那一行,通常类似:linux /boot/vmlinuz-5.4.0-xx-generic root=UUID=xxx ro quiet splash $vt_handoff把其中的 ro 改为 rw(可选,但建议):... root=UUID=xxx rw quiet splash ...在这一行的末尾加上:init=/bin/bash

最终类似这样:

linux /boot/vmlinuz-5.4.0-xx-generic root=UUID=xxx rw init=/bin/bash

3. 启动到 bash 环境

按:

Ctrl+ X

或 F10,使用当前参数启动。如果成功,将会直接进入一个 bash shell,提示类似:

root@(none):/

此时系统还未完全启动,只是跑了一个 root shell。

4. 将根文件系统挂载为读写

执行:

云服务器 xampp

mount-o remount,rw /

让根文件系统可写。

5. 重置 root 密码或普通用户密码

步骤与前面一致:

重置 root:passwd root重置用户:passwd ubuntu

按提示输入两次新密码,看到 password updated successfully 即完成。

6. 同步数据并重启

重启前执行一次同步:

syncreboot -f

系统会重新启动,并回到正常启动流程。随后你就可以使用新密码登录系统。

四、启用 root 远程登录(如有需要)

在 Ubuntu 中,即使你设置了 root 密码,默认情况下SSH 是禁止 root 密码登录的。如果你确实有运维需求希望允许 root 远程登录(必须非常注意安全!),可以这样做:

编辑 SSH 配置:sudo vi /etc/ssh/sshd_config找到(或新增)如下配置:PermitRootLogin yes PasswordAuthentication yes保存退出后重启 SSH:sudo systemctl restart ssh

这样就可以使用 root 账号和新密码通过 SSH 登录了。但从安全角度强烈建议:

优先使用普通用户 + sudo;尽量改用 SSH 公钥认证,禁用密码登录:PasswordAuthentication no

五、常见问题与排查

1. 启动时看不到 Grub 菜单?

可能原因:

机器太快,Grub 菜单瞬间跳过;Ubuntu 是单系统安装,Grub 默认隐藏。

解决办法:

重启时在 BIOS/UEFI 自检过后,重复按 Shift(BIOS)或按住 Esc(UEFI),直到菜单出现;某些云平台会提供进入救援模式或VNC 控制台,可以利用这些方式进入 Grub。

2. 修改 Grub 后启动依然进入正常系统,没有 bash 或 root shell?

请检查:

是否确实修改了以 linux 开头的那一行;init=/bin/bash 是否写在这一行的末尾;Ctrl + X 或 F10 是否被正确按下用于以当前参数启动。

如有问题,重启后重新尝试。

3. 重置密码后仍然登录失败?

常见原因:

键盘布局不一致(特别是特殊符号),导致输入密码时实际内容不同;登录的是错误的用户;SSH 禁止密码登录,导致即便密码正确也无法登录。

排查建议:

在本地控制台尝试登录;使用一个简单但临时的密码测试(比如仅字母数字);检查 /etc/ssh/sshd_config 中是否关闭了密码登录。

阿里云服务器问题

上一篇:云服务器不足腾讯云为高校创业者开启“筑梦课堂”
下一篇:云计算服务器配置2025年中国服务器虚拟化行业发展历程、产业链及竞争格局分析
联系我们