一、前期準備:備份與設備檢查
在進行任何分區故障排除前,務必備份重要數據(可使用rsync、tar或圖形化工具如Deja Dup),避免操作失誤導致數據丟失。接著,使用lsblk命令確認目標分區是否被系統識別(如/dev/sda1是否存在),若設備未顯示,可能是硬件連接問題(如SATA線松動)或磁盤故障,需重新連接或更換硬件。
二、常見分區故障類型及解決方法
癥狀:系統無法啟動,提示“Invalid partition table”“Missing operating system”或無法識別分區。
解決方法:
fdisk(MBR分區表)或gdisk(GPT分區表)工具修復:
sudo fdisk /dev/sdX(sdX為磁盤標識符,如sda),通過m命令進入主菜單,選擇w保存并退出(需重新創建分區表,需提前備份分區信息);sudo gdisk /dev/sdX,輸入r進入恢復菜單,選擇recovery & transformation options中的“恢復分區表”功能。testdisk工具恢復丟失分區:sudo apt install testdisk(Debian/Ubuntu)或sudo yum install testdisk(RHEL/CentOS),運行后按向導操作,選擇“Analyze”掃描磁盤,找到丟失分區后恢復。癥狀:無法掛載分區,提示“Corrupt filesystem”“Superblock invalid”或“Input/output error”。
解決方法:
sudo umount /dev/sdXN(sdXN為分區標識符,如sda1);fsck命令修復:
sudo fsck -y /dev/sdXN(-y參數自動修復錯誤);dumpe2fs查找備用超級塊(sudo dumpe2fs /dev/sdXN | grep superblock),再用fsck指定備用超級塊修復(如sudo fsck -b 32768 /dev/sdXN,備用超級塊編號通常為32768、98304等);sudo xfs_repair /dev/sdXN(需卸載分區,若為根分區,需從Live CD啟動修復)。癥狀:手動或自動掛載失敗,提示“mount: unknown filesystem type”“wrong fs type”或“device is busy”。
解決方法:
blkid /dev/sdXN查看文件系統類型(如ext4、xfs),若未格式化,需格式化(sudo mkfs.ext4 /dev/sdXN,注意:格式化會清除分區數據);sudo mkdir -p /mnt/mypartition)且為空(若掛載點非空,需清空或更換目錄);/etc/fstab配置:檢查自動掛載信息是否正確(格式為“設備 UUID 掛載點 文件系統類型 defaults 0 0”),可使用blkid獲取分區UUID,修改后運行sudo mount -a測試配置是否正確;sudo mount -t ext4 /dev/sdXN /mnt/mypartition(替換為實際文件系統類型),若成功則問題出在fstab配置。癥狀:分區顯示大小不正確(如小于實際容量)或磁盤空間不足(df -h顯示100%使用)。
解決方法:
GParted工具(圖形化):
parted調整:sudo parted /dev/sdX,輸入resizepart 分區號 新結束位置(如resizepart 1 100GB);GParted調整:選擇分區,拖動邊界調整大小,應用更改;sudo resize2fs /dev/sdXN;sudo xfs_growfs /掛載點(如/mnt/data);sudo find /var/log -type f -name '*.log' -mtime +30 -delete(刪除30天前的日志);sudo apt clean(Debian/Ubuntu)或sudo yum clean all(RHEL/CentOS);sudo find /path/to/backup -type f -size +100M -name '*.bak' -delete;lvextend擴展邏輯卷,再用resize2fs擴展文件系統。三、后續預防措施
sfdisk備份(sudo sfdisk -d /dev/sdX > partition_table_backup.txt),便于恢復;shutdown或reboot命令;smartctl工具(sudo smartctl -a /dev/sdX)檢查磁盤SMART狀態,提前預警硬件故障。