ubuntu虚拟机中如何管理磁盘空间
导读:Ubuntu 虚拟机磁盘空间管理 一 日常清理与空间回收 清理 APT 与系统垃圾 执行:sudo apt-get clean、sudo apt-get autoclean、sudo apt-get autoremove 清理日志:su...
Ubuntu 虚拟机磁盘空间管理
一 日常清理与空间回收
- 清理 APT 与系统垃圾
- 执行:sudo apt-get clean、sudo apt-get autoclean、sudo apt-get autoremove
- 清理日志:sudo journalctl --vacuum-time=2d
- 定位大文件与目录
- 终端分析:ncdu(交互式)、sudo du -ah / | sort -nr | head -n 20
- 图形化:Baobab 磁盘使用分析器(sudo apt-get install baobab)
- 清理用户缓存与临时文件
- 用户缓存:rm -rf ~/.cache/*
- 临时文件:sudo rm -rf /tmp/*
- 使用系统清理工具
- BleachBit:sudo apt-get install bleachbit(按需选择清理项)
- 虚拟机层面回收
- VirtualBox:先零填充空闲空间,再执行磁盘压缩
- 示例:dd if=/dev/zero of=/wipefile bs=1M → sync → rm -f /wipefile
- 关机后在宿主机执行:VBoxManage modifyhd /path/to/disk.vdi --compact
- VMware:安装并启用 VMware Tools,在来宾系统中执行收缩(如 vmware-toolbox-cmd disk shrink /),或在宿主端使用“碎片整理/压缩”功能;注意需先删除快照,否则收缩可能受限或失败。
- VirtualBox:先零填充空闲空间,再执行磁盘压缩
二 扩展磁盘容量
- 宿主机先扩容虚拟磁盘
- VMware:关机 → 编辑虚拟机设置 → 硬盘 → 扩展
- VirtualBox:关机 → 设置 → 存储 → 虚拟硬盘属性 → 调整大小(或使用“虚拟介质管理器”)
- 启动进入 Ubuntu,识别新增空间
- 查看:df -h、sudo fdisk -l
- 图形化调整(推荐)
- 安装 GParted:sudo apt-get install gparted
- 在 GParted 中选中目标磁盘(如 /dev/sda),将未分配空间合并到目标分区(如 /dev/sda3 或 /dev/sda1),点击“应用”
- 命令行调整(无图形界面或紧急场景)
- 示例(以 /dev/sda3 为例):
- sudo parted /dev/sda
- 在 parted 中:设置单位 unit s → 查看 p free → 调整分区 resizepart 3 < 目标扇区> → 退出 q
- 扩展文件系统:sudo resize2fs /dev/sda3
- 示例(以 /dev/sda3 为例):
- 验证:df -h 确认容量已增加。
三 新增一块虚拟硬盘并挂载使用
- 宿主机添加新硬盘
- VMware:添加硬盘向导;VirtualBox:存储控制器中添加硬盘
- 来宾系统识别与分区
- 识别:lsblk、sudo fdisk -l
- 分区:sudo fdisk /dev/sdb(新建主分区,类型 Linux)
- 格式化与挂载
- 格式化:sudo mkfs.ext4 /dev/sdb1
- 挂载:sudo mkdir -p /mnt/newdisk → sudo mount /dev/sdb1 /mnt/newdisk
- 开机自动挂载
- 获取 UUID:sudo blkid /dev/sdb1
- 编辑:sudo nano /etc/fstab,添加一行
- UUID=< 你的UUID> /mnt/newdisk ext4 defaults 0 2
- 验证:df -h 与 mount | grep newdisk。
四 常见问题与排错
- 扩展后系统仍显示旧大小
- 原因:新增空间未分配或未扩展文件系统
- 处理:在 GParted 将未分配空间合并到目标分区,随后执行 resize2fs /dev/sdaX;验证 df -h。
- 无法在线调整分区或报只读
- 处理:重启进入恢复模式或单用户模式,重新以读写挂载根分区(如 sudo mount -o remount,rw /),再用 GParted/parted 调整;必要时先删除快照(VMware)。
- 收缩失败或效果不明显
- 处理:确保已删除快照;先零填充空闲空间(dd → sync → rm),再执行收缩;VMware 可在宿主端执行“碎片整理/压缩”。
- 空间被日志或缓存占满
- 处理:journalctl --vacuum-time=2d、清理 /var/log、清理 ~/.cache 与 APT 缓存;必要时用 ncdu/Baobab 定位大文件并删除。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu虚拟机中如何管理磁盘空间
本文地址: https://pptw.com/jishu/773241.html
