Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Ubuntu 14.04 忘記 Root 密碼?單用戶模式 5 分鐘重置圖文教程

編輯:Linux 系統常見問題解答

Linux 遺忘 root 密碼不像 Windows 需 PE 工具盤,利用 GRUB 引導進入單用戶模式(Single User Mode / Emergency Mode)即可無需舊密碼直接重置。本文以 Ubuntu 14.04 為例,演示通用操作流程(適用於大多數 Grub2 系統)。

操作步驟

1. 進入 GRUB 菜單

  • 開機時按住 Shift(BIOS)或反覆按 Esc(UEFI),顯示 GRUB 菜單。
  • 選擇 Advanced options for Ubuntu,按 Enter。

GRUB 主菜單 Advanced options

2. 編輯內核啟動參數

  • 在列表中選擇帶 (recovery mode) 的內核行,不要按 Enter,按 e 進入編輯模式。

選擇 recovery mode 按 e 編輯

3. 修改啟動參數關鍵行

  • 找到以 linux 開頭的行(倒數第 3-4 行),類似:
    linux /boot/vmlinuz-3.13.0-xx-generic root=UUID=xxxx ro recovery nomodeset
  • 刪除 recovery nomodeset。
  • 在行尾添加:rw init=/bin/bash
  • 修改後:
    linux /boot/vmlinuz-3.13.0-xx-generic root=UUID=xxxx rw init=/bin/bash

參數解釋:

  • rw:以讀寫模式掛載根文件系統(默認 ro 唯讀,無法修改密碼文件)。
  • init=/bin/bash:繞過正常 init 系統,直接進入 Bash Shell,獲得 root 權限。

4. 啟動進入單用戶 Shell

  • 按 Ctrl+x 或 F10 啟動。
  • 系統啟動後直接進入 root@(none):/# 提示符,無需輸入密碼。

5. 重置 Root 密碼

# 確認根分區已讀寫掛載
mount | grep " / "

# 修改密碼
passwd root
# 輸入新密碼兩次(不回顯)

# 若提示 "Authentication token manipulation error"
# 執行同步並重新掛載
sync
mount -o remount,rw /

# 可選:同步修改普通用戶密碼
# passwd youruser

6. 重啟系統

exec /sbin/init
# 或
reboot -f

重啟後使用新密碼登錄。

常見問題與變體

  • Grub 菜單不顯示:編輯 /etc/default/grub 設置 GRUB_TIMEOUT=5、GRUB_HIDDEN_TIMEOUT=0,執行 update-grub。
  • SELinux 系統(CentOS/RHEL):重置密碼後需 touch /.autorelabel 並重啟,否則新密碼可能因安全上下文錯誤失效。
  • 系統加密 LUKS:需先解密根分區再掛載 rw,操作更複雜,建議用 LiveCD 掛載修改 /etc/shadow。
  • Ubuntu 16.04/18.04/20.04+:流程相同,內核行可能顯示 root=UUID=... 或 root=/dev/mapper/...,修改方法一致。

安全提示

單用戶模式繞過認證,意味著物理訪問 = 根權限。生產服務器必須:

  1. 設置 GRUB 密碼(grub-mkpasswd-pbkdf2 生成哈希寫入 /etc/grub.d/40_custom)。
  2. BIOS/UEFI 設置開機密碼、禁用外部設備啟動。
  3. 機房物理鎖定、監控覆蓋。

原文聲明: 本文為原創內容,親測可用!歡迎轉載,請注明出處:blog.csdn.net/ljgstudy

Copyright © Windows教程網 All Rights Reserved