Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 各發行版重置 root 密碼完整指南(單用戶模式 / GRUB 修改)

編輯:關於 Linux

遺忘 root 密碼是系統管理常見挑戰。透過在 GRUB 開機選單修改核心參數進入單用戶模式(或 emergency mode),即可在無需原密碼的情況下重置 root 密碼。本文整理主流發行版(RHEL/CentOS/Fedora、Debian/Ubuntu、openSUSE、Arch Linux、FreeBSD、Solaris)的具體操作步驟與注意事項。

核心原理

  • 在 GRUB 選單編輯模式(按 e),於 linux/linuxefi 行尾加入 rd.break(RHEL系)或 init=/bin/bash(Debian/Ubuntu/Arch),核心將啟動最小環境並掛載根檔案系統(通常為唯讀)。
  • 重新掛載為可寫入:mount -o remount,rw /sysroot 或 mount -o remount,rw /。
  • 進入 chroot 環境:chroot /sysroot 或直接操作。
  • 執行 passwd root 設定新密碼。
  • 關鍵步驟:建立 /.autorelabel(SELinux 系統)觸發下次開機重新標記安全上下文,否則登入失敗。
  • 重開機:reboot -f 或 exec /sbin/init。

各發行版具體步驟

RHEL / CentOS / Fedora / Rocky / AlmaLinux (GRUB2)

  1. 開機選單按 e 編輯。
  2. 找到以 linux 或 linuxefi 開頭的行,行尾加入 rd.break。
  3. 按 Ctrl+x 啟動。
  4. 進入 emergency shell,執行:
    mount -o remount,rw /sysroot
    chroot /sysroot
    passwd root
    touch /.autorelabel
    exit
    exit
  5. 系統將自動重新標記 SELinux 標籤並重開機(耗時較久)。

Debian / Ubuntu / Linux Mint (GRUB2)

  1. 開機選單按 e 編輯。
  2. 找到 linux 行,行尾加入 init=/bin/bash(或 systemd.unit=emergency.target)。
  3. 按 Ctrl+x 啟動。
  4. 根檔案系統通常已掛載為唯讀,重掛載:
    mount -o remount,rw /
    passwd root
    # 或 passwd 您的用戶名
    sync
    reboot -f
  5. 注意:Debian/Ubuntu 預設鎖定 root 帳號,建議重置 sudo 使用者密碼而非 root。

openSUSE / SLES

同 RHEL 系,使用 rd.break 或 init=/bin/bash,後續步驟相同。

Arch Linux / Manjaro

  1. GRUB 編輯,linux 行尾加 init=/bin/bash。
  2. 啟動後:
    mount -o remount,rw /
    passwd root
    sync
    reboot -f

FreeBSD

  1. 開機選單選擇 Single User Mode(選項 2 或 4)。
  2. 進入後根檔案系統唯讀,執行:
    mount -u -w /
    fsck -y
    passwd root
    reboot

Solaris / Oracle Solaris / OpenIndiana

  1. GRUB 選單選擇 Solaris Failsafe。
  2. 提示掛載根檔案系統至 /a 時選 y。
  3. 執行:
    passwd root
    reboot

SELinux 關鍵提醒

RHEL 系系統必須執行 touch /.autorelabel(在 chroot 內),否則重開機後 SELinux 會因檔案安全上下文錯誤導致登入失敗、passwd 修改無效。若忘記,可再次進入單用戶模式補上。

UEFI 安全開機 (Secure Boot) 影響

  • 啟用 Secure Boot 時,GRUB 編輯可能被鎖定(需輸入 GRUB 密碼)。
  • 解決:BIOS 關閉 Secure Boot,或使用 Live USB 掛載根分區 chroot 修改 /etc/shadow。

Live USB 通用救援法(適用所有 Linux)

  1. 啟動 Live USB(Ubuntu/Fedora/Arch 安裝媒體皆可)。
  2. 掛載目標根分區:mount /dev/sdXn /mnt(含 /boot, /boot/efi 等獨立分區)。
  3. chroot /mnt
  4. passwd root
  5. exit; umount -R /mnt; reboot

此法不受 GRUB/SELinux/Secure Boot 限制,為最通用方案。

總結

重置 root 密碼核心在於「取得根檔案系統寫入權限」與「正確處理 SELinux 標籤」。熟悉 GRUB 編輯參數(rd.break、init=/bin/bash)與 Live USB chroot 兩大流派,即可應對絕大多數 Linux 發行版的密碼遺忘情境。

Copyright © Windows教程網 All Rights Reserved