问题表现:根分区(/)或关键分区空间耗尽,导致系统无法写入文件、运行服务或安装软件。
解决方法:
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信息),排除硬件故障。