出现情况
安装conda的时候说我的磁盘空间不足,无法直接安装
解决流程
三个命令的区别:
lsblk
与df - h
与growpart
Linux 命令/概念 Windows 对应操作 作用 growpart
右键分区 → “扩展卷” 调整分区边界,让分区占用磁盘新增的未分配空间 lsblk
磁盘管理(查看分区布局) 显示磁盘/分区的物理结构(包括未分配空间) df -h
文件资源管理器(此电脑) 仅显示已挂载(分配盘符)的磁盘空间使用情况 但是与Windows不同的是,除了手动拓展分区和拓展磁盘,linux还需要手动拓展文件系统: 使用
resize2fs
或者xfs_growfs
磁盘拓展
查看磁盘分区情况
1 | df -h # 用来显示已经挂载磁盘的使用情况 |
可以看到安装要7个g但是根目录只有2个g所以是远远不足,需要拓展磁盘大小. 将虚拟机关机之后再vmwawre的管理中将磁盘大小拓展成40g
然后运行
1 | lsblk # 显示所有块设备(磁盘、分区、LVM、ROM 等)的拓扑结构,包括未挂载的设备。 |
可以发现sda中已经有40个g了,但是对于分区sda1
与sda2
并没有40g,这就类似windwos磁盘管理中的未分配的磁盘(分盘不彻底),所以需要进行手动”拓展卷”
通过growpart
来进行拓展分区边界(原来是3.7g -> 拓展到40g)
1 | sudo apt-get update |
作用:修改GPT分区表中 /dev/sda2
的结束扇区,使其覆盖磁盘所有可用空间。
执行完查看lsblk
就可以看到已经拓展了
但是即使拓展了分区边界,对于df -h
(文件系统)来说也并没有同步这个内容,这是由于虽然分区拓展了,但是文件系统还是依然没有拓展
文件系统拓展
查看文件系统类型
1 | sudo blkid /dev/sda2 |
- 如果输出包含
TYPE="ext4"
→ 使用resize2fs
- 如果输出包含
TYPE="xfs"
→ 使用xfs_growfs
我这里是ext4
所以使用 resize2fs
1 | sudo resize2fs /dev/sda2 |
这个步骤Windows在”扩展卷”时自动完成此步骤,而Linux需要手动触发(更透明但稍繁琐)
linux分两步原因:
- 架构清晰性:
Linux严格区分存储管理层(分区)和数据管理层(文件系统),权责分明
类比:建筑师(growpart
)和装修工(resize2fs
)各司其职- 灵活性:
- 可单独调整分区而不影响文件系统(如先扩展分区,稍后再扩展文件系统)
- 支持多种文件系统(ext4用
resize2fs
,xfs用xfs_growfs
)- 故障隔离:
若growpart
失败,文件系统保持原状,避免数据损坏
再次执行df -h
就可以看到磁盘空间成功拓展了,就可以愉快的安装conda啦