Linux分區故障類型及排除方法
fdisk工具重新創建分區表。命令:sudo fdisk /dev/sdX(sdX為磁盤標識符,如sda),依次輸入m(查看幫助)、o(創建新空分區表)、n(新建分區,按提示設置大?。?、w(保存并退出)。操作前需備份數據。gdisk工具修復。命令:sudo gdisk /dev/sdX,輸入r進入恢復菜單,選擇recovery & transformation options中的“恢復分區表”。sudo testdisk,按向導操作,選擇“Analyse”掃描分區,找到丟失分區后恢復。sudo umount /dev/sdXN,sdXN為分區,如sda1),然后運行sudo fsck -y /dev/sdXN(-y自動修復錯誤)。若超級塊損壞,可通過dumpe2fs /dev/sdXN | grep superblock查找備用超級塊(如Primary superblock at 0, Group descriptors at 1-3),再用sudo fsck -b 32768 /dev/sdXN(32768為備用超級塊編號)修復。xfs_repair。命令:sudo xfs_repair /dev/sdXN(需卸載分區,若為根分區,可在救援模式下操作)。mount命令掛載分區時提示“wrong fs type”“bad option”“no such device”或“mount point does not exist”。/etc/fstab配置錯誤。lsblk或fdisk -l查看磁盤分區列表,確認目標分區(如/dev/sdb1)是否存在。sudo mkdir -p /mnt/mydisk),且為空目錄(若非空,umount后會丟失數據)。blkid /dev/sdXN查看分區文件系統類型(如ext4、xfs、ntfs),掛載時需指定正確類型(sudo mount -t ext4 /dev/sdXN /mnt/mydisk)。/etc/fstab(sudo vim /etc/fstab),確保分區UUID(blkid獲?。?、掛載點、文件系統類型、掛載選項(如defaults)正確??商砑?code>nofail選項避免啟動時因分區不存在而報錯(如UUID=1234-5678 /mnt/mydisk ext4 defaults,nofail 0 2)。df -h查看各分區使用率(重點關注/根分區),du -h --max-depth=2 /path(如/var、/home)定位占用大的目錄。find /var/log -type f -name '*.log' -mtime +30 -exec rm -f {} \;),或使用logrotate工具輪換日志(默認配置在/etc/logrotate.conf)。/tmp目錄下臨時文件(rm -rf /tmp/*),或清理系統緩存(sync; echo 3 > /proc/sys/vm/drop_caches,臨時生效)。find / -type f -size +100M -exec ls -lh {} \; | sort -n -r -k 5),刪除不再需要的文件(如下載的附件、舊備份)。lvextend擴展邏輯卷,再用resize2fs調整文件系統大?。?code>sudo lvextend -L +10G /dev/mapper/vg-lv_root;sudo resize2fs /dev/mapper/vg-lv_root)。非LVM分區需使用growpart(sudo growpart /dev/sda 1)擴展分區,再用resize2fs調整。lsblk或fdisk -l查看分區起始(Start)和結束(End)扇區,確認是否有重疊(如sda1結束扇區為1000,sda2起始扇區為900,則重疊)。parted或gparted(圖形界面)工具調整分區邊界。命令:sudo parted /dev/sdX,輸入print查看分區表,resizepart 分區號 新結束位置(如resizepart 2 1500,將分區2結束位置調整為1500)。調整前需備份數據,避免操作失誤導致數據丟失。rsync、tar或外部存儲設備)。lsblk、fdisk -l檢查設備是否被系統識別,若未識別,嘗試重新掃描磁盤(echo "- - -" | sudo tee /sys/class/scsi_host/host*/scan)。dmesg | tail -n 20或journalctl -xe查看內核日志,定位具體錯誤信息(如“I/O error”“Superblock corrupt”)。smartctl檢查磁盤健康狀態(sudo smartctl -a /dev/sdX),若存在壞道,需更換磁盤。