在Ubuntu中,如果你需要进入恢复模式(Recovery Mode)来修改用户密码,可以按照以下步骤进行:
-
重启计算机:
重新启动你的Ubuntu系统,等待GRUB菜单出现。
-
进入恢复模式:
如果GRUB菜单没有自动出现,在系统启动过程中看到首个加载信息时,持续按下
Shift
或者不停地敲击Esc
键,以显示GRUB菜单。
-
在GRUB菜单中,用箭头键选中带有
(recovery mode)
的选项,通常名称类似于 “Ubuntu, with Linux 3.13.0-XX-generic (recovery mode)”。 -
按下
Enter
键以选择恢复模式。 -
系统会加载一个特殊的恢复菜单,在这个菜单上,使用箭头键选择 “root Drop to root shell prompt”,然后按
Enter
。 -
现在你应该会看到一个命令行界面。
-
在命令行中,你可能需要首先重新挂载根文件系统为读写模式,使用以下命令:
mount -o remount,rw /
或者对于较新的系统,可能要使用:
mount -o remount,rw /sysrootchroot /sysroot
6. 输入以下命令来重置用户密码(将 username
替换为你的用户名):
passwd username
按照提示输入并确认新密码。
7. 完成后,你可以通过输入以下命令重启系统并以新密码登录:
reboot -f
如果你在Ubuntu的恢复模式下无法访问root shell,因为系统提示你输入root密码,而且你无法提供这个密码,那么直接在恢复模式下重置root密码的选项就很有限了。但还有一个间接的方法可以尝试:
编辑GRUB引导参数进入单用户模式
1. 启动时编辑GRUB菜单:
当电脑启动时,在GRUB菜单出现的那一刻,你通常需要按下 Shift
或 Esc
键来让菜单显示出来。选择Ubuntu的普通启动项(不是恢复模式),但不要直接按Enter,而是按 e
进入编辑模式。
2. 修改启动参数:
在编辑模式中,找到以 linux
开头的那行,它指定了启动时使用的内核以及相关的参数。你需要找到 ro
或 rw
关键字,然后在这个单词之后添加 init=/bin/bash
。这会指示内核启动时直接运行bash shell,而非标准的init系统。
举例:
linux /vmlinuz-4.15.0-213-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv ro maybe-ubiquity
修改后:
linux /vmlinuz-4.15.0-213-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv rw init=/bin/bash
3. 启动到单用户模式:
修改完成后,根据屏幕下方的提示来启动系统。通常是按 Ctrl + X
或 F10
。
4. 重新挂载文件系统为读写模式:
系统启动后,你会立即进入bash shell。此时,根文件系统是只读模式,需要重新挂载为读写模式以便于修改密码。运行以下命令:
mount -o remount,rw /
5. 重置密码:
现在,你可以使用 passwd
命令来重置root密码(或任何用户的密码):
passwd
如果想重置非root用户的密码,可以使用 passwd username
,将username
替换为具体的用户名。
6. 重启系统:
完成后,通过执行以下命令来安全重新启动电脑:
exec /sbin/init
或者硬重启(不推荐,因为可能导致数据丢失):
reboot -f
通过这种方式,你可以绕过在恢复模式中无法访问的限制。请注意,在系统中使用单用户模式是一个高权限操作,并且有可能会对系统造成影响,所以请谨慎操作。同时,不同的版本和配置可能需要稍作修改才能成功。