如何使用单独的监视器重置我的 sudo 密码?

如何使用单独的监视器重置我的 sudo 密码?

我的笔记本电脑屏幕已损坏,因此我连接了一个单独的显示器,但是当我处于恢复模式时,单独的显示器无法接收来自笔记本电脑的信号,因此当我输入命令时我无法看到屏幕上显示的内容。

有没有办法不通过恢复模式而是通过终端来更改密码?

答案1

总结:应该能够启动到实时环境,chroot并重置密码。


您所描述的挑战是,当您正常运行系统时,外部显示器会被使用,但在恢复模式下,则不会使用。如果你可以启动到实时环境,例如来自 Ubuntu live USB 或 live DVD,您的外接显示器将大概在那里工作。如果确实如此,您可以从实时环境中更改密码(见下文)。

只需插入 Live 介质并重新启动即可从中启动。这取决于计算机固件(即 BIOS 或 UEFI)中设置的启动顺序。虽然可以配置 Ubuntu 的引导加载程序以在下次启动时启动不同的设备,有时甚至可以从 Ubuntu 内部更改固件的启动设置,但这两个操作都需要您能够在 Ubuntu 系统中以 root 身份运行命令,而您目前无法做到这一点。

尽管恢复模式不使用外部显示器,但我不会认为您的计算机固件设置不会。如果机器在插入 USB 或 CD/DVD 的情况下重新启动时无法从实时 USB 或实时 CD/DVD 启动,您应该尝试一下(见下文)。要按住哪个或哪些键才能调出此功能,制造商各不相同。有些机器还有一个单独的键或组合键,按住它即可调出菜单,您可以在其中选择一次从哪个设备启动。您可以根据计算机的型号查找这两者。

如果您无法将系统启动到实时环境中,也许其他人会想出替代解决方案。如果您最终找不到基于软件的方法,您可以取出硬盘并将其放入机箱中,然后您可以在另一台机器上自由修改其内容。您甚至可以从同一台机器上执行此操作,因为如果没有内部驱动器,它应该会从插入的 USB 闪存驱动器或 DVD 启动,您可以在实时系统启动后连接机箱。

以下说明适用于以下情况启动到实时环境,您的外部显示器可以在其中工作。它们是根据“如果您可以使用已安装的 Ubuntu 系统,即使作为非管理员用户”一节改编和缩短的。我的答案如何重置丢失的密码(使用恢复模式需要我输入密码)?

我缩短这些步骤的方法之一是只介绍更改密码的情况,而不介绍让用户成为管理员的情况。请注意,步骤的编号是不是相同。有关更多详细信息,我建议查看我原来的答案. 一些答案如何重置丢失的管理密码?也包括chroot基于封面的技术。


  1. 如果你没有安装 Ubuntu 时使用的 USB 闪存驱动器或 CD/DVD,创建一个新.请注意,如果您你有它,但你升级了,所以它是针对旧版本的 Ubuntu,没问题。如果你有一个 live CD/DVD 或 live USB不同的GNU/Linux 操作系统可能去工作,也一样。

  2. 除非您知道包含 Ubuntu 系统的分区的设备名称,否则请不要启动到实时环境。在已安装的系统中,打开终端窗口 ( ++ Ctrl)并运行此命令,包括前后的空格:AltTon/

    mount | grep ' on / '
    

    你应该看到类似这样的内容:

    /dev/sda1 on / type ext4 (rw,errors=remount-ro,commit=0)
    

    之前的文本on(在本例中为/dev/sda1)是包含 Ubuntu 系统根文件系统的分区的设备名称。记住它,或者写下来。

  3. 从实时 USB 或实时 CD/DVD 启动计算机。选择无需安装即可试用 Ubuntu

  4. 桌面出现后,打开终端窗口(Ctrl++ AltT

  5. 跑步

    sudo mount /dev/sda1 /mnt

    但更换/dev/sda1如果不同,则使用包含根文件系统的分区的设备名称。

    如果您收到有关设备或分区不存在或“未知文件系统类型”的错误,则您的根文件系统可能不在您指定的设备上。

  6. 跑步:

    sudo chroot /mnt
    

    一些 chrooting 程序需要在 chroot 中设置其他挂载,例如/proc。但对于我们在这里所做的工作来说,这并不是必需的。

    如果您在步骤 5 中挂载的分区存在但是错误,您可能会看到以下错误消息:

    chroot: failed to run command ‘/bin/bash’: No such file or directory
    

    如果是这样,请运行sudo umount /mnt卸载该分区,然后安装正确的分区。

    chroot除非另有说明,所有后续步骤都必须在您运行的终端中运行。

  7. 您可能知道您的用户名,但如果不知道,请运行:

    ls /home
    

    或者,如果你愿意,你可以运行ls /mnt/home 外面chroot。无论哪种情况,这通常都是列出已安装系统上的人类用户的有效方法。您应该能够通过这种方式找到您的用户名。如果您从未创建过任何其他用户帐户,它甚至应该是仅有的该命令的输出。

  8. 重置密码通过运行

    passwd username

    但要写出你的实际用户名username

    如果没有错误消息,则表示成功了。

  9. 通过运行以下命令退出 chroot 并卸载已安装系统的根文件系统,最后一条命令将关闭终端窗口:

    exit
    sudo umount /mnt
    exit
    
  10. 使用实时环境桌面的菜单重新启动(如果用户界面与您习惯的用户界面不同,请检查右上角)。或者甚至可以sudo reboot在终端中运行。

    您可能需要移除实时 USB 或实时 CD/DVD 才能启动到已安装的系统。

在已安装的系统中,您应该再次能够使用和运行命令sudopkexec执行其他需要输入正确密码的操作。

相关内容