我忘记了我的用户名,我该如何找回它?

当我安装了Ubuntu的最新更新时,系统要求输入用户名,但是我不记得我的用户名是什么。请问如何找到我的用户名?

3可能是重复的问题,参考在无法登录账户的情况下如何找到用户名 - Byte Commander
你是怎么安装最新的Ubuntu更新的?你是在登录状态下使用Ubuntu的升级工具吗?还是使用了一个实时会话(USB或CD)? - A.L
5个回答

如果你因为忘记用户名而无法登录,仍然有一种方法可以恢复你的数据。请注意,本指南假设你是系统上唯一的用户。
  1. 通过GRUB将系统引导到恢复模式。
  2. 选择Root Shell选项。
  3. 在打开的终端窗口中输入以下命令:
    awk -F: '$3 == 1000' /etc/passwd
  4. 你的用户名将出现在返回行的开头。通常只会有一个,但根据你的系统可能会有多个。
  5. 重新启动进入正常模式,并使用指定的用户名。
如果您不是唯一的用户,请在第3步替换代码。按以下方式查找ID大于或等于1000的用户:
awk -F: '$3 >= 1000' /etc/passwd

其中一个肯定是你。或者请另一个用户在机器上拉取账户列表。

2只有当无法记住用户名的用户具有UID 1000(通常是第一个非系统用户)时,此答案才有效。如果这是一台多用户计算机,并且提问者不是第一个用户,那该怎么办? - dave_alcarin
本指南假设当前系统只有一个用户。您只需运行cat /etc/passwd命令并查找正确的条目即可。 - Kaz Wolfe
我评论是为了增强你的回答;-) 如果我建议用户通过UID来读取/etc/passwd条目,我会采用更一般的方式说:“你的UID是1000或更高,通常情况下,如果你是唯一的用户,那么它就是1000,如果你是第二个用户,那么它就是1001”。我认为通过1???进行grep操作不会得到太多的条目,而且任何显示的行都会让健忘的用户想起一些东西...你觉得呢? - dave_alcarin
抱歉,这边已经很晚了,而且我感觉不太好。现在想起来确实有道理。虽然存在一种特殊情况,即用户ID小于1000的情况,但我们可以安全地假设那样做的用户足够了解自己在做什么,不需要这个答案。明天我会编辑进去,除非你现在想要处理。 - Kaz Wolfe
2考虑到问题的开头是“当安装时……”,我认为我们可以安全地假设他们是第一个用户。 - Stig Hemmer
不要使用UUOC(Useless Use of Cat)命令。尝试使用grep 1000 /etc/passwd命令代替。或者更好的是,使用grep -w 1000 /etc/passwd命令。 - Michael Hampton
1为什么不简单地运行cat /etc/passwd,然后寻找一些熟悉的内容呢? - R.. GitHub STOP HELPING ICE
@R.. 那是我的原始答案!awk用于获取更具体、与手头案例更相关的信息。 - Kaz Wolfe
我在虚拟机上遇到了同样的问题,我该如何恢复我的用户名?有没有一些默认的用户名? - sairfan
如果返回nobody:/nonexistent:/usr/sbin/nologin,那会怎么样? - Adam Polak Moetsi

打开终端(Ctrl+Alt+T),然后输入命令。
whoami

找出当前登录用户的用户名。

9如果你已经忘记了用户名并且注销登录,whoami命令将无法帮助你。 - EKons

登录界面显示可能的账户,你只需点击(甚至不需要点击,因为你可能是最后一个登录的)并输入密码。
如果你已经登录并想要知道用户,则打开终端(Ctrl+Alt+T)并输入命令。
echo $USER

这将把USER环境变量的值打印到控制台上。

3为什么要那么麻烦?whoami就能完成任务! - EKons
是的,whoami也能胜任这个工作。 - Kiran Shahi

如果您曾经激活过root账户,请使用它。
如果上述恢复模式方法有效,请使用它。
如果您有一张可以挂载安装文件系统的Live CD,请这样做,并在/etc/passwd文件中查找用户。
如果以上方法都不可行,您可以(除非您用一个未知密码保护了启动管理器)通过向内核参数添加"init=/bin/sh"选项(您可以从启动管理器菜单中进行编辑)来进入系统。这将在内核加载后直接进入一个简单的shell,您可以查看像/etc/passwd这样的文本文件。在该模式下无法修改文件,除非采取额外的步骤(如果不理解并超出范围,则可能存在危险)。您可能需要通过断电重启来退出该模式。

你可以从Grub进入单用户模式。在启动过程中,当Grub引导屏幕提示时,按下Esc键。它可能只会显示每个内核的Grub列表 - 如果是这种情况,请不要按下Esc键。
在这里选择第一个条目并按下e键以编辑该条目。向下翻页到以kernel开头的行,并再次按下e键。
这将允许你编辑整行内容。向右滚动直到达到末尾,并将行中的splash quiet替换为single。按下eneter接受更改,并按下b键启动修改后的内核线。这将将你引导到单用户模式,并在启动完成后进入根she命令行。
从这里,你可以添加用户到系统,更改用户密码等等。