banner
Hi my new friend!

VMware上的Ubuntu磁盘拓展

Scroll down

出现情况

安装conda的时候说我的磁盘空间不足,无法直接安装

image-20250529095751683

解决流程

三个命令的区别: lsblkdf - hgrowpart

Linux 命令/概念 Windows 对应操作 作用
growpart 右键分区 → “扩展卷” 调整分区边界,让分区占用磁盘新增的未分配空间
lsblk 磁盘管理(查看分区布局) 显示磁盘/分区的物理结构(包括未分配空间)
df -h 文件资源管理器(此电脑) 仅显示已挂载(分配盘符)的磁盘空间使用情况

但是与Windows不同的是,除了手动拓展分区和拓展磁盘,linux还需要手动拓展文件系统: 使用resize2fs或者xfs_growfs

磁盘拓展

查看磁盘分区情况

1
df -h # 用来显示已经挂载磁盘的使用情况

image-20250529095835153

可以看到安装要7个g但是根目录只有2个g所以是远远不足,需要拓展磁盘大小. 将虚拟机关机之后再vmwawre的管理中将磁盘大小拓展成40g

然后运行

1
lsblk # 显示所有块设备(磁盘、分区、LVM、ROM 等)的拓扑结构,包括未挂载的设备。

image-20250529100423430

可以发现sda中已经有40个g了,但是对于分区sda1sda2并没有40g,这就类似windwos磁盘管理中的未分配的磁盘(分盘不彻底),所以需要进行手动”拓展卷”

通过growpart来进行拓展分区边界(原来是3.7g -> 拓展到40g)

1
2
3
sudo apt-get update
sudo apt-get install cloud-guest-utils
sudo growpart /dev/sda 2

作用:修改GPT分区表中 /dev/sda2 的结束扇区,使其覆盖磁盘所有可用空间。

image-20250529102819834

执行完查看lsblk就可以看到已经拓展了

image-20250529103659313

但是即使拓展了分区边界,对于df -h(文件系统)来说也并没有同步这个内容,这是由于虽然分区拓展了,但是文件系统还是依然没有拓展

image-20250529102530569

文件系统拓展

查看文件系统类型

1
sudo blkid /dev/sda2

image-20250529104452541

  • 如果输出包含 TYPE="ext4" → 使用 resize2fs
  • 如果输出包含 TYPE="xfs" → 使用 xfs_growfs

我这里是ext4所以使用 resize2fs

1
sudo resize2fs /dev/sda2

image-20250529105108920

这个步骤Windows在”扩展卷”时自动完成此步骤,而Linux需要手动触发(更透明但稍繁琐)

linux分两步原因:

  1. 架构清晰性
    Linux严格区分​​存储管理层​​(分区)和​​数据管理层​​(文件系统),权责分明
    类比:建筑师(growpart)和装修工(resize2fs)各司其职
  2. 灵活性
    • 可单独调整分区而不影响文件系统(如先扩展分区,稍后再扩展文件系统)
    • 支持多种文件系统(ext4用resize2fs,xfs用xfs_growfs
  3. 故障隔离
    growpart失败,文件系统保持原状,避免数据损坏

再次执行df -h就可以看到磁盘空间成功拓展了,就可以愉快的安装conda啦

image-20250529105700033

其他文章
cover
typora配置
  • 25/06/06
  • 22:22
  • 零碎学习
cover
安装windwos到移动硬盘
  • 25/05/28
  • 23:19
  • 零碎学习
目录导航 置顶
  1. 1. 出现情况
  2. 2. 解决流程
    1. 2.1. 磁盘拓展
    2. 2.2. 文件系统拓展
请输入关键词进行搜索