问题表现:根分区(/)或关键分区空间耗尽,导致系统无法写入文件、运行服务或安装软件。
解决方法:
df -h命令确认哪个分区空间不足,重点关注Use%列(如根分区/dev/sda1使用率超过90%)。/var/log目录下超过7天的日志)、缓存(apt clean清理软件包缓存)、临时文件(/tmp目录);使用du -sh * | sort -rh找出占用空间大的目录。lvextend扩展逻辑卷(如lvextend -L +5G /dev/mapper/vg-root),再用resize2fs调整文件系统大小(resize2fs /dev/mapper/vg-root);若为普通分区,需使用parted或fdisk调整分区大小(需备份数据,避免操作失误导致数据丢失)。问题表现:无法以root权限写入LVM逻辑卷(如/etc、/home分区),提示“Read-only file system”或“Permission denied”。
解决方法:
lvchange命令将逻辑卷设为读写(如lvchange -prw /dev/mapper/vg-root)。mount -o remount,rw /dev/mapper/vg-root /etc强制重新挂载为读写模式。/etc/fstab文件,找到对应分区的挂载选项,将ro(只读)改为rw(读写),保存后重启系统。问题表现:系统提示“Filesystem check forced”(强制检查文件系统)、“Superblock corrupt”(超级块损坏)或无法挂载分区。
解决方法:
umount /dev/sda1),执行fsck -fy /dev/sda1(-f强制检查,-y自动修复错误)。问题表现:系统提示“No space left on device”但磁盘空间充足,无法创建新文件或目录(如touch test.txt失败)。
解决方法:
df -i命令,关注IUse%列(如/dev/sda1的IUse%为100%)。find / -xdev -type d | cut -d "/" -f 2 | uniq -c | sort -nr | head -20(替换/为目标分区路径),找出包含大量小文件的目录。/tmp下的临时文件、邮件队列/var/spool/postfix中的旧邮件);将大目录迁移至其他分区(如mv /var/lib/mysql /newpartition/mysql,并更新配置文件)。问题表现:系统频繁使用磁盘交换(free -h显示Swap used过高),导致性能下降(如启动慢、应用卡顿)。
解决方法:
sudo dd if=/dev/zero of=/swapfile bs=1G count=8创建8GB交换文件);sudo mkswap /swapfile);sudo swapon /swapfile);/etc/fstab,添加/swapfile none swap sw 0 0。swapon /dev/sdaX(/dev/sdaX为交换分区)启用,或通过mkswap格式化后启用。问题表现:系统无法启动,进入GRUB rescue模式(提示“grub rescue>”),或启动时黑屏显示“no such partition”。
解决方法:
/dev/sda1),执行mount /dev/sda1 /mnt。mount --bind /dev /mnt/dev、mount --bind /proc /mnt/proc、mount --bind /sys /mnt/sys(确保chroot环境正常)。chroot /mnt,切换到原系统环境。grub-install /dev/sda(/dev/sda为系统硬盘),然后update-grub更新配置。exit,卸载所有挂载点(umount -R /mnt),重启系统(reboot)。问题表现:系统无法识别磁盘分区(fdisk -l无输出),或提示“Invalid partition table”(无效分区表)。
解决方法:
sudo apt-get install testdisk。sudo testdisk,选择问题磁盘(如/dev/sda),按Enter。Enter。Enter。Enter确认。注意事项:
rsync或外部存储设备)。smartctl -a /dev/sda查看SMART信息),排除硬件故障。