通过系统日志可快速获取分区故障的具体原因,常用命令包括:
tail -f /var/log/syslog:实时查看系统日志,重点关注磁盘、分区相关的错误信息(如“ I/O error”“filesystem corrupt”)。journalctl -xe:查看系统服务的详细日志,过滤磁盘相关错误(如grep -i disk)。dmesg | grep sd:查看内核层磁盘操作日志,识别设备识别失败、分区表错误等问题。使用以下命令确认磁盘和分区是否被系统正确识别:
lsblk -o NAME,TYPE,FSTYPE,LABEL,MOUNTPOINT:列出所有块设备(磁盘、分区)的名称、类型、文件系统类型及挂载点,判断分区是否存在或挂载异常。fdisk -l:查看磁盘分区表详情(如MBR/GPT格式、分区大小、起始扇区),确认分区结构是否完整。若文件系统损坏(如非正常关机导致),需使用fsck命令修复:
umount /dev/sdXY(sdXY为故障分区,如sda1)。fsck -fy /dev/sdXY(-f强制检查,-y自动修复错误)。fsck.ext4 -f /dev/sdXY进行更严格的修复。若分区表损坏(如误操作删除分区、磁盘物理损坏),可使用testdisk工具恢复:
sudo apt install testdisk。sudo testdisk,按界面提示选择磁盘→选择分区表类型(Intel/EFI GPT)→扫描分区→恢复丢失的分区结构。若系统无法启动(如GRUB引导丢失),需通过Live CD/USB修复:
sudo mount /dev/sdXY /mnt(sdXY为系统根分区)。sudo chroot /mnt。grub-install /dev/sdX(sdX为磁盘,如sda)→update-grub(更新引导配置)。exit→sudo umount /mnt/*→sudo reboot。/etc/fstab文件定义了开机自动挂载的分区,配置错误会导致挂载失败:
cat /etc/fstab查看文件内容,确认分区设备名(如/dev/sdXY)、挂载点(如/home)、文件系统类型(如ext4)是否正确。sudo mount -a,若无错误则配置正确;若有错误,根据提示修正(如修改设备名、调整挂载选项)。df -h查看各分区使用率,若某分区使用率接近100%,需清理无用文件(如/var/log日志、/tmp临时文件)。du -sh /path/to/directory找出占用空间大的目录,针对性删除(如rm -rf /var/log/*.gz)。df -i查看inode使用率,若达到100%,需删除大量小文件(如find /path -type f -delete)。若分区未从物理扇区边界开始(如旧磁盘使用512字节扇区,新磁盘使用4K扇区),可能导致性能下降或无法识别:
fdisk /dev/sdX删除错误分区(注意:删除前需备份数据)。fdisk中选择“n”创建新分区,确保“起始扇区”对齐(如输入+2048s对齐4K扇区)。w命令),重启系统使更改生效。rsync或外部存储设备),避免数据丢失。smartctl -a /dev/sdX查看SMART信息),排除硬件故障(如坏道、接口松动)。