萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 系統當機急救全攻略:救援碟、檔案系統修復、密碼重設、MBR 恢復、Magic SysRq 安全重啟

1. 使用救援碟 (Rescue Disk) 進入維護模式

救援碟包含可開機核心與完整根檔案系統。開機後以 root 登入,手動掛載硬碟分區:

mkdir /mnt/sys
mount -t ext3 /dev/hda2 /mnt/sys
# 原 /etc/passwd 現在路徑為 /mnt/sys/etc/passwd

2. 檔案系統損壞修復 (ext2/ext3)

以救援碟開機,**不要掛載**損壞分區,直接執行:

e2fsck -f /dev/hda2   # 強制檢查
# 若超級區塊損壞,嘗試備份超級區塊 (通常位於 8193 區塊)
e2fsck -b 8193 /dev/hda2

其他檔案系統用對應 fsck.xxx (如 fsck.xfs, fsck.btrfs)。

3. 找回誤刪關鍵檔案

掛載硬碟後,從救援碟複製對應檔案:

cp -a /bin/login /mnt/sys/bin/
# -a 保留權限、時間戳等屬性

若救援碟無該檔案,須從備份還原。

4. 函式庫損壞修復

掛載硬碟後修補 /mnt/sys/lib 下的庫檔或符號連結。

5. 忘記 root 密碼 / 被駭改密碼

  1. 救援碟開機,掛載根分區至 /mnt/sys。
  2. 編輯 /mnt/sys/etc/shadow (或 /etc/passwd 若無 shadow),將 root 密碼欄位清空:
    root::0:0:root:/root:/bin/bash
  3. 重開機以 root 免密碼登入,立即執行 passwd 設定新密碼。

6. 系統無法開機:MBR 被覆寫 (Windows 重裝後常見)

有救援碟/開機碟

用開機碟啟動硬碟上的 Linux,執行 lilo (或 grub-install /dev/hda) 重寫 MBR。

無開機碟但有 Loadlin (DOS 下啟動 Linux)

  1. 取得 loadlin.exe (Red Hat 光碟 dosutil/) 與核心映像 vmlinuz (images/)。
  2. Windows 98 命令提示字元模式下執行:
    loadlin vmlinuz root=/dev/hda8 (hda8 為根分區)
  3. 進入 Linux 後執行 lilo 或 grub-install 恢復 MBR。

7. 非正常關機導致 X Window 無法啟動

以 root 登入文字模式 (Ctrl+Alt+F1),執行 setup → 「X 視窗設定」重新設定顯示器、解析度、重新率。過程中可能出現大量錯誤訊息,繼續操作即可。

8. 萬能鑰匙:Magic SysRq 安全重啟 (REISUB)

當鍵盤滑鼠無回應、系統疑似死鎖時,長按 Alt+PrtSc(SysRq),依序輸入 R E I S U B:

鍵動作助記
RunRaw - 從 X Server 奪回鍵盤控制權倒序拼成 BUSIER (更忙碌)
EtErminate - 發送 SIGTERM 讓進程優雅結束
IkIll - 發送 SIGKILL 強制終止殘留進程
SSync - 同步所有資料至磁碟
UUnmount - 重新掛載所有分區為唯讀
BreBoot - 重新開機

啟用條件:/proc/sys/kernel/sysrq 需為 1 (Ubuntu 預設開啟,RHEL/CentOS/Arch 預設關閉)。
遠端伺服器:通常透過 IPMI/KVM 或 SSH 發送 SysRq,或直接 echo 1 > /proc/sys/kernel/sysrq 後 echo b > /proc/sysrq-trigger。

copyright © 萬盛學電腦網 all rights reserved