概述
fsck (file system check) 是一個用於檢查儲存在磁碟分區上的文件系統結構完整性並在需要時嘗試修復的工具。當系統因電源故障或硬體錯誤而突然關機時,文件系統的元數據(如 inode、超級塊等)可能會損壞。fsck 檢測並修復這些損壞,使文件系統恢復正常狀態。如果說 `mkfs` 是創建文件系統的工具,那麼 `fsck` 則可以說是維護文件系統的工具。
主要特點
fsck 命令的主要特點如下:
- 檢查文件系統的完整性。
- 能夠以互動式或自動模式修復損壞的文件系統。
- 作為前端調用特定文件系統的專用工具,如 `fsck.ext4`、`fsck.xfs` 等。
- 在系統啟動時自動執行,以檢查文件系統是否損壞。
fsck 與 fsck.<文件系統>
fsck 是一個調用特定文件系統檢查工具的包裝器(wrapper)。例如,`fsck -t ext4 /dev/sda1` 命令在內部等同於執行 `fsck.ext4 /dev/sda1`。
- fsck.ext4: 用於檢查和修復 ext2/3/4 文件系統的工具。也稱為 `e2fsck`。
- fsck.xfs: 用於檢查 XFS 文件系統的工具。也稱為 `xfs_repair`。
- fsck.vfat: 用於檢查 FAT 文件系統的工具。
主要選項
fsck 提供了用於指定文件系統類型的 `-t` 選項,以及控制修復方式的多種選項。
1) 執行選項
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`fsck` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用範例
通過 fsck 命令的各種使用範例來學習其功能。**僅在卸載狀態下才能進行檢查/修復。**
檢查文件系統
sudo fsck /dev/sda1
檢查 `/dev/sda1` 分區的文件系統。必須處於卸載狀態。
自動修復文件系統
sudo fsck -y /dev/sdb1
自動修復 `/dev/sdb1` 分區的文件系統錯誤,無需用戶確認。
指定文件系統類型後檢查
sudo fsck -t ext4 /dev/sdc1
明確指定 `ext4` 文件系統類型來檢查 `/dev/sdc1`。這與直接調用 `fsck.ext4` 相同。
檢查所有文件系統
sudo fsck -A
自動檢查 `/etc/fstab` 中定義的所有文件系統。執行類似於啟動時的操作。
安裝
fsck 是 `util-linux` 軟體包的一部分,大多數 Linux 發行版都預設包含。無需單獨安裝。但是,特定文件系統的專用工具可能需要單獨安裝軟體包。
安裝 XFS 工具 (Debian/Ubuntu)
sudo apt update
sudo apt install -y xfsprogs
安裝 ext4 工具 (Debian/Ubuntu)
sudo apt update
sudo apt install -y e2fsprogs
提示與注意事項
總結了使用 fsck 命令時需要注意的事項。
提示
- fsck **必須在卸載狀態下**執行。在已掛載的分區上執行可能會導致數據損壞或丟失。如果要檢查系統的根文件系統 (`/`),則必須引導到單用戶模式(single-user mode)或使用 Live CD/USB。
- 自動修復選項 (`-y`) 雖然方便,但如果損壞嚴重,可能會刪除重要數據。因此,如果包含重要數據,建議先使用 `-n` 選項進行檢查以確保安全。
- 在執行 `fsck` 之前,必須使用 `umount` 命令卸載目標分區。(例如:`sudo umount /dev/sdb1`)