【VMware】虚拟机软件安装报硬盘不够,扩容未生效解决办法
【VMware】虚拟机软件安装报硬盘不够,扩容未生效解决办法
- 问题描述
- 解决操作
- 扩容方式补充:`parted`工具和`fdisk`工具
问题描述
虚拟机中初始设置的硬盘大小是20g,此时在虚拟机中进行软件安装,如果报硬盘不够,可以先关闭虚拟机,然后删除所有的快照,点击硬盘-扩展,重新设置大小。要注意,必须要删除所有的快照,否则无法进行扩展设置!
此时,重启虚拟机进行软件安装,发现依旧报安装空间不足,检查磁盘空间分配和挂载情况。通过df -h
查看空间分配,如果/dev/sda2
显示20g,表示未扩容成功。接着输入sudo fdisk -l /dev/sda
,如果显示/dev/sda
有40g,则表明VM中设置是生效,但未对新分配的硬盘进行正确挂载。而这就是扩容未生效的原因所在,除了VM中设置,还需要进行虚拟机中设置,以完成扩容。
解决操作
- 输入
sudo parted /dev/sda
,进入parted
交互界面,然后输入resizepart 2
,进行2区域分配。需要输入新的分区结束位置,可以直接输入100%
,进行未分配区域分配,也可以输入最终的容量大小40G
进行分配。最后quit
退出。
- 输入
sudo partprobe /dev/sda
重新加载分区表,然后输入sudo lsblk -f
,进行分区的文件系统类型查看。如果是ext4,则输入sudo resize2fs /dev/sda2
进行文件系统扩展;如果是XFS,则输入sudo xfs_growfs /dev/sda2
。
- 输入
df -h
再次查看,可以发现/dev/sda2
是40g,成功!
扩容方式补充:parted
工具和fdisk
工具
在解决操作中,采用了parted
工具进行扩容,在网上查找发现,其实也可以用fdisk
工具。将解决操作中的第一步换成fdisk
工具扩展分区操作:
- 执行
sudo fdisk /dev/sda
命令,进入fdisk
交互界面,输入d
删除原有分区/dev/sda2
。注意,这不会删除实际数据,只是移除分区表条目。 - 输入
n
新建分区,使用默认的起始扇区,将分区大小设置为使用全部未分配空间,最后输入w
保存并退出。
后面操作与parted
工具的一样,由于未使用该工具进行操作,操作步骤来源于网上资料的个人总结,因此这边不放图片进行示意。那2种方法有什么区别呢?
-
使用
parted
工具进行分区扩容,在规范操作的情况下,一般不会影响原分区的数据。parted
的resizepart
命令仅修改分区表元数据,不触及数据区。但如果操作过程中出现错误,如意外断电、输入错误的分区参数等,可能会导致数据丢失。此外,如果在扩容后没有正确地扩展文件系统,也可能会使文件系统损坏,导致数据无法正常访问。 -
而使用
fdisk
工具扩容,虽然说不会删除实际数据,只是移除分区表条目,但实际操作中,任何微小的失误(如扇区输入错误、中途中断、误格式化)都会导致数据永久丢失。因此,不建议在未备份的情况下用fdisk
通过 “删除再重建” 的方式扩容,尤其是根分区。而这也是博主选择parted
工具的原因,直接调整分区表,不删除分区,相对更可靠!