Ubuntu系统忘记密码怎么办?
如果您忘记了 Ubuntu 系统的密码,可以通过以下方法来重置密码。这些方法适用于物理服务器、虚拟机(如 VPS)或本地安装的 Ubuntu 系统。
1. 使用 GRUB 引导菜单重置密码
步骤 1:进入 GRUB 菜单
- 在系统启动时,按住
Shift
键(BIOS 系统)或Esc
键(UEFI 系统),直到出现 GRUB 菜单。 - 在 GRUB 菜单中,选择要启动的内核行,然后按
e
键进入编辑模式。
步骤 2:修改启动参数
- 在 GRUB 编辑界面中,找到以
linux
开头的那一行。- 例子:
plaintext
复制
linux /boot/vmlinuz-xxx ro quiet splash
- 例子:
- 将
ro quiet splash
替换为:plaintext
复制
rw init=/bin/bash
rw
:以可读写模式加载根文件系统。init=/bin/bash
:启动到 Bash Shell,而不是正常的启动流程。
步骤 3:启动到恢复模式
- 按
Ctrl + X
或F10
启动系统。 - 系统会进入一个 Bash 命令行界面。
步骤 4:重置密码
挂载根文件系统(如果未自动挂载):
bash
复制
mount -o remount,rw /
使用以下命令重置密码(替换
username
为您的用户名):bash
复制
passwd username
- 输入新密码并确认。
如果不确定用户名,可以运行以下命令查看系统中的用户列表:
bash
复制
ls /home
步骤 5:重新启动系统
- 重新挂载根文件系统为只读:
bash
复制
mount -o remount,ro /
- 重启系统:
bash
复制
reboot
2. 使用单用户模式重置密码
如果 GRUB 菜单中有 恢复模式(Recovery Mode),可以直接使用以下方法:
步骤 1:进入单用户模式
- 在 GRUB 菜单中,选择带有
(recovery mode)
的内核行。 - 按
Enter
,进入恢复模式菜单。
步骤 2:选择 "Root" 选项
- 在恢复模式菜单中,选择
root
选项,进入管理员 Shell。 - 系统会以只读模式挂载根文件系统。
步骤 3:挂载根文件系统为读写
运行以下命令将根文件系统挂载为读写:
bash
复制
mount -o remount,rw /
步骤 4:重置密码
- 使用以下命令重置密码:
bash
复制
passwd username
- 如果不清楚用户名,可以查看
/home
目录中的用户列表:bash
复制
ls /home
步骤 5:重启系统
- 挂载根文件系统为只读:
bash
复制
mount -o remount,ro /
- 重启系统:
bash
复制
reboot
3. 使用 Live CD 或 Live USB 重置密码
如果无法进入 GRUB 菜单或恢复模式,可以通过 Live USB 重置密码。
步骤 1:启动 Live 系统
- 插入 Ubuntu 的 Live USB 或 CD,选择从 USB/CD 启动。
- 在启动菜单中,选择 "Try Ubuntu without installing"。
步骤 2:挂载原系统的根分区
- 打开终端,运行以下命令查看磁盘分区:
bash
复制
sudo fdisk -l
- 找到原系统的根分区(例如
/dev/sda1
),并挂载:bash
复制
sudo mount /dev/sda1 /mnt
- 如果
/boot
或其他分区单独挂载,也需要挂载:bash
复制
sudo mount /dev/sda2 /mnt/boot
步骤 3:切换到原系统环境
- 切换到原系统的根环境:
bash
复制
sudo chroot /mnt
- 使用以下命令重置密码:
bash
复制
passwd username
步骤 4:重启系统
- 退出原系统环境:
bash
复制
exit
- 卸载挂载的分区:
bash
复制
sudo umount /mnt
- 重启服务器:
bash
复制
reboot
4. 通过 SSH 密钥恢复访问(如果已配置)
如果您之前配置了 SSH 公钥认证,可以通过 SSH 登录服务器,然后重置密码。
步骤
- 登录服务器:
bash
复制
ssh username@server_ip
- 重置密码:
bash
复制
sudo passwd username
5. 注意事项
数据安全性:
- 修改密码前,请确保您有权限或合法访问系统。
- 如果是生产环境,建议先备份数据。
禁用不必要的服务:
- 如果开启了 GRUB 的恢复模式或允许远程访问,请确保安全配置。
配置 SSH 密钥登录(推荐):
- 避免密码丢失问题,建议配置 SSH 密钥认证:
bash
复制
ssh-keygen -t rsa -b 4096 ssh-copy-id username@server_ip
- 避免密码丢失问题,建议配置 SSH 密钥认证:
通过上述方法,您可以成功重置 Ubuntu 系统的密码,并重新获得访问权限。