求助:Linux 操作系统,忘记密码怎么办?

room

知名会员
注册
2007-09-23
消息
647
荣誉分数
199
声望点数
153
为了使用免费开放软件,别人给了一个a thinkpad T400运行MX Linux version 23.6, running KDE desktop(多年前用过一点点Linux,现在都不记得了)。给我电脑时我自己选了一个密码(admin用户),但很快就忘记了。我不知道这个密码是怎么回事,平时重启电脑不用输入密码,但装软件时需要这个密码。现在装软件需要输入密码,但我又不记得,然后就用chatgpt试着reset密码,但电脑上的跟chargpt上说的不一样,始终成功不了,不知有没有大拿可以帮忙指导一下?谢谢!
 
没 root 密码的话,重装个系统吧。有数据的话,倒出来。Linux 系统,太多免费的了
 
没 root 密码的话,重装个系统吧。有数据的话,倒出来。Linux 系统,太多免费的了
可是自己是外行,不会弄这些东西啊。不知道是不是需要分区什么的。除了若干年前别人帮我一台电脑装了三个操作系统,其中一个是Linux, 当时学会了一些命令行的命令外(现在命令也不记得了),几乎一无所知。

可是我启动也是同一个用户名,但不需要密码就能启动。
 
from Gemini

这完全不用担心,忘记密码在 Linux 新手中非常常见。而且因为这台电脑在你的物理控制之下(Physical Access),我们要重置密码并不难。

你之前在 ChatGPT 上找不到对应步骤,通常是因为 MX Linux 基于 Debian,且默认启动方式和 Ubuntu(ChatGPT 常引用的标准)稍有不同。有时候“恢复模式”(Recovery Mode)本身也会要求输入 root 密码,导致陷入死循环。

我们将使用最原始、也是最有效的“GRUB 编辑法”。这听起来有点极客,但只要跟着步骤做,非常安全。


第一步:确认你的用户名 (非常重要)​

既然你现在还能自动登录进入桌面,请先确认一下你的确切用户名(不一定是 admin,可能是你当初设定的名字)。

  1. 打开桌面上的终端(Terminal,一般图标是个黑框框)。
  2. 输入:whoami
  3. 回车。显示出来的那个单词就是你的用户名。记下来。

第二步:进入 GRUB 编辑模式​

我们需要在电脑启动加载系统内核之前“截停”它。

  1. 重启电脑
  2. 在电脑刚开机、显示 ThinkPad 图标后,立即不停地按 Esc 键(或者 Shift 键),直到出现一个蓝底或者黑底的菜单界面。
    • 这就是 GRUB 启动菜单
  3. 菜单的第一项通常是 MX 23.6 ...,确保选中它(高亮显示)。
  4. 不要按回车,而是按键盘上的字母 e 键。
    • 这时你会进入一个满是代码文字的编辑界面。

第三步:修改启动参数​

这是最关键的一步,请仔细看屏幕上的字。

  1. 使用键盘的方向键(上下左右),找到以 linux 开头的那一行(有时候这一行很长,会折行,看着像是一大段)。
  2. 在这一行的末尾,你通常会看到 quiet splash 或者 ro 这样的字眼。
  3. 操作目标:我们要把这一行原本的 ro(代表 Read-Only,只读)改成 rw(Read-Write,读写),并告诉系统启动时直接给我一个管理员权限的命令行,不要加载图形界面。
  4. 具体修改
    • 将光标移动到这一行的最后。
    • 如果看到 ro,把它改成 rw。
    • 在行尾加一个空格,然后输入:init=/bin/bash
    • 注意:最终这一行看起来应该包含 rw init=/bin/bash。
示例:

原本可能是:linux /boot/vmlinuz... root=UUID=... ro quiet splash

修改后变成:linux /boot/vmlinuz... root=UUID=... **rw init=/bin/bash**

(注意:原本的 quiet splash 删不删都可以,只要确保有 rw 和 init=/bin/bash 即可)

第四步:启动并重置密码​

  1. 改好后,按键盘上的 F10 键(或者 Ctrl + X)。系统会按照你刚才修改的参数启动。
  2. 几秒钟后,你会看到屏幕变成黑色,光标停在一个 # 号后面,没有图形界面。这就对了!这代表你现在是系统的最高主宰(Root)。
  3. 输入修改密码的命令(注意替换成第一步里记下的用户名):



    $$passwd \ \text{你的用户名}$$


    (例如:如果你的用户名是 tom,就输入 passwd tom)
  4. 按回车。
  5. 系统会提示:New password:
  6. 输入新密码
    • 注意:在 Linux 里输入密码时,屏幕上不会显示星星或任何字符,看起来像没反应一样。这是正常的安全机制。直接输完,按回车。
  7. 系统提示:Retype new password:,再输一次新密码,按回车。
  8. 如果显示 password updated successfully,恭喜你,成功了!

第五步:重启回到桌面​

现在密码改好了,我们需要正常重启电脑。

  1. 在那个黑底白字的界面输入:

    /sbin/reboot -f

    (或者如果不管用,直接长按电源键强制关机再开机也可以)
  2. 电脑正常启动进入 KDE 桌面。
  3. 当你下次安装软件需要密码时,输入你刚才设置的新密码即可。

💡 为什么之前 ChatGPT 的方法不行?​

ChatGPT 给出的通用方法通常是选择菜单里的 "Advanced Options" -> "Recovery Mode" -> "Root Shell"。

但是在很多现代 Linux 发行版(包括 MX Linux)中,为了安全起见,即使进入恢复模式,系统也会要求你输入 Root 密码。既然你忘记了密码,这就变成了一个死循环。

而我们刚才用的 init=/bin/bash 方法,是直接绕过了系统的登录验证程序,直接把内核引导到了一个单一的命令行程序,这是解决此类问题的“终极手段”。

现在你可以试着去安装软件了,看看是否还会提示密码错误?
 
from Gemini

这完全不用担心,忘记密码在 Linux 新手中非常常见。而且因为这台电脑在你的物理控制之下(Physical Access),我们要重置密码并不难。

你之前在 ChatGPT 上找不到对应步骤,通常是因为 MX Linux 基于 Debian,且默认启动方式和 Ubuntu(ChatGPT 常引用的标准)稍有不同。有时候“恢复模式”(Recovery Mode)本身也会要求输入 root 密码,导致陷入死循环。

我们将使用最原始、也是最有效的“GRUB 编辑法”。这听起来有点极客,但只要跟着步骤做,非常安全。


第一步:确认你的用户名 (非常重要)​

既然你现在还能自动登录进入桌面,请先确认一下你的确切用户名(不一定是 admin,可能是你当初设定的名字)。

  1. 打开桌面上的终端(Terminal,一般图标是个黑框框)。
  2. 输入:whoami
  3. 回车。显示出来的那个单词就是你的用户名。记下来。

第二步:进入 GRUB 编辑模式​

我们需要在电脑启动加载系统内核之前“截停”它。

  1. 重启电脑
  2. 在电脑刚开机、显示 ThinkPad 图标后,立即不停地按 Esc 键(或者 Shift 键),直到出现一个蓝底或者黑底的菜单界面。
    • 这就是 GRUB 启动菜单
  3. 菜单的第一项通常是 MX 23.6 ...,确保选中它(高亮显示)。
  4. 不要按回车,而是按键盘上的字母 e键。
    • 这时你会进入一个满是代码文字的编辑界面。

第三步:修改启动参数​

这是最关键的一步,请仔细看屏幕上的字。

  1. 使用键盘的方向键(上下左右),找到以 linux 开头的那一行(有时候这一行很长,会折行,看着像是一大段)。
  2. 在这一行的末尾,你通常会看到 quiet splash 或者 ro 这样的字眼。
  3. 操作目标:我们要把这一行原本的 ro(代表 Read-Only,只读)改成 rw(Read-Write,读写),并告诉系统启动时直接给我一个管理员权限的命令行,不要加载图形界面。
  4. 具体修改
    • 将光标移动到这一行的最后。
    • 如果看到 ro,把它改成 rw。
    • 在行尾加一个空格,然后输入:init=/bin/bash
    • 注意:最终这一行看起来应该包含 rw init=/bin/bash。


第四步:启动并重置密码​

  1. 改好后,按键盘上的 F10 键(或者 Ctrl + X)。系统会按照你刚才修改的参数启动。
  2. 几秒钟后,你会看到屏幕变成黑色,光标停在一个 # 号后面,没有图形界面。这就对了!这代表你现在是系统的最高主宰(Root)。
  3. 输入修改密码的命令(注意替换成第一步里记下的用户名):



    $$passwd \ \text{你的用户名}$$


    (例如:如果你的用户名是 tom,就输入 passwd tom)
  4. 按回车。
  5. 系统会提示:New password:
  6. 输入新密码
    • 注意:在 Linux 里输入密码时,屏幕上不会显示星星或任何字符,看起来像没反应一样。这是正常的安全机制。直接输完,按回车。
  7. 系统提示:Retype new password:,再输一次新密码,按回车。
  8. 如果显示 password updated successfully,恭喜你,成功了!

第五步:重启回到桌面​

现在密码改好了,我们需要正常重启电脑。

  1. 在那个黑底白字的界面输入:

    /sbin/reboot -f

    (或者如果不管用,直接长按电源键强制关机再开机也可以)
  2. 电脑正常启动进入 KDE 桌面。
  3. 当你下次安装软件需要密码时,输入你刚才设置的新密码即可。

💡 为什么之前 ChatGPT 的方法不行?​

ChatGPT 给出的通用方法通常是选择菜单里的 "Advanced Options" -> "Recovery Mode" -> "Root Shell"。

但是在很多现代 Linux 发行版(包括 MX Linux)中,为了安全起见,即使进入恢复模式,系统也会要求你输入 Root 密码。既然你忘记了密码,这就变成了一个死循环。

而我们刚才用的 init=/bin/bash 方法,是直接绕过了系统的登录验证程序,直接把内核引导到了一个单一的命令行程序,这是解决此类问题的“终极手段”。

现在你可以试着去安装软件了,看看是否还会提示密码错误?
谢谢!大拿啊!

在第二步3虽然不是显示MX 23.6, 而是loading operating system, 但在4按e之后确实进入一个满是代码文字的编辑界面。
在第三步,只有2行有Linux字样,而且是在if和循环中,如下:
# last resort, if all else fails
set root=ahci0,1
for p in / /boot/; do
if [ -f "${p}vmlinuz"]; then
linux ${p}vmlinuz root=/dev/sda1 rw
if [ -f "${p}vmlinuz.img" ]; then
initrd ${p}initrd.img
fi
fi
done

# last resort, (for setups that use IDE instead of SATA)
set root=ata0,1
for p in / /boot/; do
if [ -f "${p}vmlinuz"]; then
linux ${p}vmlinuz root=/dev/sda1 rw
if [ -f "${p}vmlinuz.img" ]; then
initrd ${p}initrd.img
fi
fi
done

除了最后一行有个true外,上面的代码是编辑文件的最后,之前代码没有linux字样。{}不是原样,我打不出来所以用{}代替。我试着在上面有linux的两行后面末尾rw后加上 init=/bin/bash 然后在第四步 按ctrl+x 或F10启动,系统仍然正常启动,到不了黑色有#号的屏幕,而且如果我继续按前面的步骤到代码编辑界面,发现 linux ${p}vmlinuz root=/dev/sda1 rw 后面没有我加上的 inti=/bin/bash

继续请教,谢谢。
 
后退
顶部
首页 论坛
消息
我的