虛擬機 Ubuntu 忘記登錄密碼是常見運維場景。利用 GRUB 引導菜單進入恢復模式,掛載根分區為讀寫,即可重置密碼。本文記錄標準操作步驟與常見坑點。
mount -o remount,rw /
passwd username # username 為實際用戶名 # 輸入新密碼兩次確認
passwd: password updated successfully 提示即成功reboot
| 現象 | 原因 | 解決 |
|---|---|---|
Authentication token manipulation error | 根分區只讀 | 執行 mount -o remount,rw / |
| GRUB 菜單不顯示 | GRUB_TIMEOUT=0 或隱藏菜單 | 啟動時連續點擊 Shift/Esc,或 LiveCD 修復 /etc/default/grub |
| 忘記用戶名 | - | 恢復模式下 ls /home 或 cat /etc/passwd | grep /bin/bash |
| SELinux 環境 | 密碼上下文不匹配 | 重置後 restorecon -v /etc/shadow 或 autorelabel |
GRUB_CMDLINE_LINUX="systemd.unified_cgroup_hierarchy=0" 等內核參數本方法適用於 Ubuntu 16.04+、Debian 9+、CentOS 7+ (選擇 rd.break)、RHEL 7+ 等 systemd 系統。老版本 SysVinit 系統進入 single 模式同理。
掌握單人模式密碼重置是 Linux 運維必備基本功,建議定期演練並記錄於運維手冊。