Ubuntu挂载过程中遇到磁盘空间不足怎么办
小樊
44
2025-11-15 16:35:45
Ubuntu 挂载时提示磁盘空间不足的排查与解决
一、先快速定位问题
- 使用 df -h 查看各分区与挂载点的可用空间,确认是哪个挂载点“已满”。
- 使用 sudo fdisk -l 或 lsblk 确认是否存在未分区或未挂载的磁盘/分区。
- 若只是临时目录(如 /tmp)不足,可设置 TMPDIR 指向有足够空间的目录后再执行挂载或解压操作。
- 若看到“设备上没有剩余空间”,但 fdisk -l 显示磁盘仍有未分配空间,说明需要创建分区/格式化并挂载新分区后才能使用。
以上命令与现象判断可参考常见运维流程与案例。
二、立即可用的缓解措施
- 清理系统盘垃圾:删除旧内核(先查版本:dpkg -l | grep linux-image,再 purge 不需要的旧版本)、清理 APT 缓存(sudo apt-get clean/autoclean)、压缩/清理日志(如 /var/log)、移除旧版 Snap(snap list --all 后按 revision 删除)、清理缩略图缓存(~/.cache/thumbnails)。
- 将大目录迁移到新盘:例如把 /home 或 /var/lib/docker 迁移到新挂载的大容量磁盘,以释放系统盘空间。
- 使用图形化工具辅助:如 Disks 进行挂载选项配置;若遇到 NTFS 权限/占用问题,可考虑备份数据后格式化为 ext4 再挂载。
上述方法能在不改动分区结构的前提下,快速回收空间或转移负载。
三、把新磁盘挂载到目录的正确做法
- 分区与格式化:对新盘(如 /dev/sdb)执行分区(如 fdisk /dev/sdb 新建分区),然后格式化为 ext4(如 mkfs.ext4 /dev/sdb1)。
- 挂载到临时目录并迁移数据:创建挂载点(如 /mnt/data),挂载新分区,拷入需要的大目录数据(如 /home 或 /var/lib/docker)。
- 替换原目录并持久化:备份原目录(如 /home → /home_old),创建新的 /home,将新分区重新挂载到 /home,最后用 UUID 在 /etc/fstab 中写入自动挂载条目(推荐用 UUID,避免设备名变化导致失败)。
- 权限设置:若需普通用户写入,使用 chown/chmod 调整挂载点属主与权限。
以上步骤与命令顺序可参考典型实操流程。
四、无新盘时的扩容方案
- 使用 LVM:查看卷组与逻辑卷(如 vgdisplay、lvdisplay),扩展逻辑卷(如 sudo lvextend -L +50G /dev/mapper/ubuntu–vg-root),再调整文件系统大小(如 sudo resize2fs /dev/mapper/ubuntu–vg-root)。
- 虚拟机场景:先在虚拟化平台扩展虚拟磁盘,再在系统内扩展分区/文件系统(LVM 或普通分区工具),最后扩容文件系统。
- 图形化调整分区:使用 gparted 移动/调整分区大小,为系统盘腾出或合并空间(操作前务必备份)。
以上路径适用于系统盘空间不足且无法新增磁盘的情况。
五、常见坑位与验证
- 挂载点非空会导致 mount 失败或覆盖数据,迁移时应先清空或使用临时挂载点再切换。
- /etc/fstab 写入错误可能导致系统无法启动,建议先用 sudo mount -a 测试,再重启;优先使用 UUID 而非 /dev/sdX。
- 使用 NTFS 时可能出现权限/无法写入等问题,必要时备份后格式化为 ext4 再挂载。
- 操作完成后用 df -h 与 mount 验证挂载是否成功、空间是否充足。
这些注意事项能有效降低配置失误带来的风险。