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 密碼重置、MBR 恢復六大核心場景

編輯:Linux 教學

系統崩潰、無法開機、誤刪關鍵檔案、Root 密碼遺忘——關鍵時刻,**救援盤** 是唯一的生命線。本文系統整理救援盤製作與六大核心救援場景實操指令,建議列印存放於機房與隨身碟,關鍵時刻可直接照單執行。

一、救援盤製作與啟動

  • 傳統雙軟碟:啟動盤 (核心) + 根檔案系統盤 (完整用戶空間)。現代替代:Live USB (SystemRescueCd, Ubuntu Live, Fedora Live, Arch ISO),單一 USB 即攜帶完整救援環境。
  • BIOS 設為 USB/光碟啟動,進入救援選單選擇「Rescue Mode」或直接進入 Live 桌面開啟終端。
  • 取得 root 權限:sudo -i 或 Live 環境預設 root 無密碼。

二、掛載目標系統檔案系統 (所有操作前提)

# 假設目標根分區為 /dev/sda2,檔案系統 ext4
mkdir -p /mnt/sysroot
mount -t ext4 /dev/sda2 /mnt/sysroot

# 若有獨立 /boot、/home、/var 等,依序掛載
mount -t ext4 /dev/sda1 /mnt/sysroot/boot
mount -t ext4 /dev/sda3 /mnt/sysroot/home
# ... 其他分區

# 綁定虛擬檔案系統 (chroot 所需)
mount --bind /dev  /mnt/sysroot/dev
mount --bind /proc /mnt/sysroot/proc
mount --bind /sys  /mnt/sysroot/sys

三、六大核心救援場景

1. 檔案系統損壞修復 (ext4/xfs/btrfs…)

  • 原則:**必須在未掛載或唯讀掛載狀態下修復**。
  • ext4:fsck.ext4 -fy /dev/sda2 (自動修復) 或 fsck.ext4 -y /dev/sda2 (互動式)。
  • XFS:xfs_repair /dev/sda2 (嚴禁掛載狀態執行)。
  • Btrfs:btrfs check --repair /dev/sda2 (謹慎使用)。
  • 超級區損壞:ext4 可指定備份超級區 fsck.ext4 -b 32768 /dev/sda2 (用 mke2fs -n /dev/sda2 查看備份位置)。

2. 關鍵檔案誤刪找回

  • 若檔案仍在救援盤 /bin//sbin//lib:
    cp -a /bin/ls /mnt/sysroot/bin/ (保留權限/屬性/時間戳)
  • 若無救援盤備份:
    - **立即停止寫入**目標分區。
    - extundelete /dev/sda2 --restore-file /etc/passwd (ext3/4)。
    - testdisk /dev/sda2 互動式掃描恢復。
    - 專業場景:dd if=/dev/sda2 of=/backup/sda2.img 全盤鏡像後離線分析。

3. 函式庫/動態連結器損壞修復

  • 現象:ls、cp、bash 等指令報 error while loading shared libraries。
  • 對策:在救援環境下 (擁有完整 libc/ld-linux) 掛載目標系統,複製缺失庫檔:
    cp -a /lib/x86_64-linux-gnu/libc.so.6 /mnt/sysroot/lib/x86_64-linux-gnu/
    cp -a /lib64/ld-linux-x86-64.so.2 /mnt/sysroot/lib64/
  • 修復符號連結:ln -sf libc-2.31.so /mnt/sysroot/lib/x86_64-linux-gnu/libc.so.6

4. Root 密碼遺忘 / 被竄改重置

  1. 進入救援環境,掛載目標根分區至 /mnt/sysroot。
  2. 編輯 /mnt/sysroot/etc/shadow (或 /etc/passwd 若未啟用 shadow):
    找到 root:$6$... 行,將 **第二欄雜湊密碼刪除為空**:
    root::19000:0:99999:7:::
  3. 同步寫入:sync。
  4. 重啟進入原系統,Root 免密登入,立即執行 passwd 設定強密碼。
  5. 事後必做:檢查 /var/log/auth.log、lastb、last 確認是否遭入侵,排查後門、異常 SSH 金鑰、計劃任務。

5. GRUB / MBR 引導修復 (系統無法開機)

  • 有救援盤/Live USB:
    掛載目標系統 → chroot /mnt/sysroot → grub-install /dev/sda → update-grub → exit → 重啟。
  • 無救援盤,但有 Windows/舊 Linux 共存:
    在 Windows 下用 bootsect /nt60 SYS /mbr 恢復 Windows MBR,再用 EasyBCD 添加 Linux 項;
    或在舊 Linux 下 grub-install /dev/sda 重寫 GRUB。
  • 極限情況:只有 DOS/Win9x + loadlin:
    DOS 下執行 loadlin vmlinuz root=/dev/sda2 (需核心映像 vmlinuz) 直接引導 Linux,進入後 grub-install /dev/sda。

6. 關鍵系統檔案 (inittab, fstab, passwd, group…) 修復

  • 掛載目標系統,從救援盤或備份複製對應檔案至 /mnt/sysroot/etc/。
  • 權限修正:chmod 644 /mnt/sysroot/etc/fstab、chmod 600 /mnt/sysroot/etc/shadow 等。
  • 若 /etc/inittab 遺失導致啟動掛起,補齊標準 runlevel 定義即可。

四、救援後必做收尾

  1. sync 確保資料寫入磁碟。
  2. umount -R /mnt/sysroot 遞迴卸載所有掛載點。
  3. 重啟驗證系統正常開機、服務啟動、網路通訊、使用者登入。
  4. 記錄故障現象、處理步驟、根因分析、預防措施,納入運維知識庫。

五、預防勝於治療:日常備份清單

  • 每日:/etc、資料庫備份、關鍵應用配置。
  • 每週:全系統增量備份 (rsync/borgbackup/restic) 至異地。
  • 每月:完整離線鏡像備份 (Clonezilla/dd) 測試還原演練。
  • 永久:MBR/GPT 備份 dd if=/dev/sda of=/backup/mbr.img bs=512 count=2048。

結語

救援盤是系統管理員的「急救箱」,平時準備齊全、熟練演練六大核心場景,災難降臨時才能沉著應對、化險為夷。記住:**只讀掛載、先備份鏡像、再修復、後驗證**,是專業救援的鐵律。

Copyright © Windows教程網 All Rights Reserved