萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 電腦入門

Ubuntu 忘記登入密碼?GRUB 單用戶模式重置密碼實戰

在 VMware 虛擬機 (或實體機) 執行 Ubuntu 時忘記使用者密碼,無法登入桌面。利用 GRUB 開機選單進入單用戶模式 (Single User Mode) 掛載根目錄為讀寫模式,即可無需舊密碼直接重設密碼。

適用環境

  • Ubuntu (含衍生版如 Linux Mint, Pop!_OS 等) 使用 GRUB2 開機載入器。
  • 未加密 / (根分割區) 或 /home;若已加密 (LUKS) 需先解密掛載。

操作步驟

  1. 開機時按住 Shift (BIOS) 或連按 Esc (UEFI) 顯示 GRUB 選單。
  2. 用方向鍵選中含 (recovery mode) 的項目 (通常為第二項),**按 e 進入編輯模式** (非 Enter)。
  3. 在編輯畫面中找以 linux 或 linuxefi 開頭的那一行 (核心啟動參數行),按 e 編輯該行。
  4. 將行尾的 ro recovery nomodeset 或 ro single 修改為:
    rw single init=/bin/bash
    說明:rw 以讀寫模式掛載根分割區;single 進入單用戶模式;init=/bin/bash 直接啟動 Bash Shell 略過 init 系統。
  5. 按 Ctrl+x (或 F10) 啟動修改後的參數。
  6. 進入根 Shell 提示符 (如 root@ubuntu:/#) 後,執行:
    passwd <你的使用者名稱>
    例如:passwd linux
    依提示輸入兩次新密碼 (輸入時不顯示字元)。
  7. 執行 sync 確保寫入磁碟,然後 reboot -f 或按 Ctrl+Alt+Del 重開機。
  8. 使用新密碼登入,完成。

常見問題

  • 提示「Authentication token manipulation error」: 根分割區未以讀寫掛載。請確認步驟 4 已改為 rw,或在 Shell 中手動執行 mount -o remount,rw /。
  • 找不到 GRUB 選單: UEFI 系統嘗試連按 Esc;或在 BIOS 設定開機延遲、關閉 Fast Boot。
  • 其他 Linux 發行版 (CentOS/RHEL/Fedora/Debian/Arch): 原理相同,核心參數行關鍵字可能為 linux / linux16 / linuxefi,修改方式同理 (改 rw init=/bin/bash 或 rd.break 進入急救模式)。

核心邏輯:**中斷正常啟動流程 → 以 root 身分取得 Shell → 修改 /etc/shadow 密碼雜湊**。掌握此原理,任何使用 GRUB 的 Linux 發布版皆可類推。

copyright © 萬盛學電腦網 all rights reserved