在安装过程中,我设置了一个密码,但两次输入错误,现在我无法访问 Debian 中的 root 帐户。
我正在尝试像这样http://xmodulo.com/how-to-reset-root-password-in-debian-ubuntu.html(我使用的是 Debian 7 Wheezy)。尽管做了所有这些,但passwd
该环境中的 bash 仍无法识别命令。有什么办法可以解决这个问题吗?
谢谢!
答案1
我估计你实际上并没有挂载根分区,或者它没有pivot_root,所以initrd /被你的实际根文件系统替换,或者你的路径配置不正确。检查中是否有passwd二进制文件/usr/bin/passwd
。如果有,请/usr/bin/passwd
直接调用二进制文件或更新你的路径export PATH=/usr/bin:$PATH
,然后passwd
正常调用命令。
如果没有,你需要枢轴根到您的实际根文件系统。从链接复制的pivot_root示例:
mount /dev/hda1 /new-root
cd /new-root
pivot_root . old-root
exec chroot . sh <dev/console >dev/console 2>&1
umount /old-root
答案2
您可以通过几种不同的方式来实现这一点:
1) 启动到单用户模式(假设您的 grub 安装未设置为在 0 秒内启动)。为此,您需要停止 grub 并编辑启动选项(对于 Grub legacy 按 E 或对于 Grub2 按 Ctrl+X),找到内核行并在其末尾添加 1 或 single。然后启动。
2) 使用您的安装介质(或实时 Debian CD/DVD)。1
. 启动它,然后进入终端(Ctrl+Alt+F 键 1 - 5 之一)
2. 创建一个目录来挂载您的根文件系统并将其挂载在那里
3. mount --bind /dev [您的根文件系统位置]/dev
4. mount --bind /proc [您的根文件系统位置]/proc
5. mount --bind /sys [您的根文件系统位置]/sys
6. chroot [您的根文件系统位置]
7. 运行 passwd 命令以及重启之前需要执行的任何其他操作
8. 确保在尝试发出重启命令之前退出 chroot
3)使用另一个 Linux 系统生成加密密码,从任何实时 CD 或安装 CD 挂载根文件系统,然后使用 vi(或任何文本编辑器)修改影子文件