前言


本机磁盘空间瘦身

当系统磁盘吃紧时,可以检查一下虚拟机是否备份了多个快照文件,快照文件占用的空间大小也是非常巨大的,快照文件位于虚拟机资源的同目录下的snapshot文件夹下(xxx.sav文件是快照文件的补充,一些旧的文件可以一并删除),在vbox管理器中删除选中的快照文件,就可以极大释放磁盘空间,如下所示:
快照文件保存目录
在这里插入图片描述

===================================================================================

针对ubuntu内存空间不足的问题,可以先清理内存空间,实在不满足使用条件在进行空间扩充操作。针对ubuntu安装VScode软件的同志提个醒,VScode是个内存杀手,随着使用过程中会产生大量的重复的垃圾数据,空间不足时,可以进行清理。操作如下:

cd /home/xxx(用户名)/.config/Code/User/workspaceStorage
find /tmp -mtime +100 -name "*.*" -exec rm -Rf {} \;    //删除 100天前的数据

此部分描述可参考:VScode清理工作区空间按时间批量删除文件

===================================================================================

针对virualBox相较于VMwareWorkstation的磁盘扩容稍微复杂一些。需要明确一点:xxx.vmdk格式的硬盘文件是无法通过virualBox实现扩容的,而xxx.vdi格式磁盘是可以通过virualBox进行扩容。接下来的工作将分为两步进行,分别为:
1、将xxx.vmdk格式的磁盘文件转为xxx.vdi的格式磁盘文件
2、对系统进行设置,实现扩容


一、vmdk转vdi

通过 VboxManager进行格式转换

基本命令:
VBoxManage clonehd xxx.vmdk xxx.vdi–format VDI
具体操作:
①首先找到虚拟机的VBoxManage.exe所在的目录
②“win+r”后输入"cmd"进入windows系统下的命令行界面,如下图:
在这里插入图片描述
③输入命令:

D:\Program Files\Oracle\VirtualBox>"D:\Program Files\Oracle\VirtualBox\VBoxManage.exe" clonehd D:\安装资源\byd_ubuntu1804-可编译的ros镜像\byd_ubuntu1804.vmdk D:\安装资源\byd_ubuntu1804-可编译的ros镜像\byd_ubuntu1804.vdi --format VDI

等待转化,如下图:
在这里插入图片描述
④转换成功后,在指定的目录下生成新的xxx.vdi文件
在这里插入图片描述

⑤PS:针对.vmi格式文件转.vmdk格式文件,基本命令:(可忽略此步骤)
VBoxManage clonehd xxx.vdi xxx.vmdk --format vmdk
命令示例:

"D:\Program Files\Oracle\VirtualBox\VBoxManage.exe" clonehd xxx.vdi xxx.vmdk --format vmdk

二、虚拟机设置

1.虚拟机设置扩容

对虚拟机进行操作,进行扩容,具体步骤如下图所示:
在这里插入图片描述

2.fdisk 无损扩容

①sudo su 进入root 用户
②输入 fdisk /dev/sda 进行修改,重新调整分区,具体步骤如下:
在这里插入图片描述

③输入 fdisk -l 查看 /dev/sda的大小是否改变,如图已变更至100G
在这里插入图片描述
④ 输入 df -h 会发现此处磁盘内存没有变化
在这里插入图片描述

exit 退出用户目录
继续输入下面的指令
sudo resize2fs /dev/sda
再次输入 df -h 查看内存,发现内存已变更
具体如下图所示:
在这里插入图片描述
至此,ubuntu虚拟机磁盘扩容已经完成。

☛☛☛当然,日常使用中会产生大量的数据来占用磁盘空间,导致磁盘空间爆满,这里提供一些清理磁盘空间的方法,参考链接ubuntu清理磁盘空间

===>接下来说明 vriualBox对windows虚拟机的扩容

三、windows系统扩容

1、进入VirtualBox的安装目录,执行如下命令,会出现如下error

D:\Program Files\Oracle\VirtualBox>VBoxManage.exe modifyhd "D:\安装资源\win\win10\win10\win10.vdi" --resize 80000
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage.exe: error: Failed to resize medium
VBoxManage.exe: error: Resizing to new size 83886080000 is not yet supported for medium 'D:\安装资源\win\win10\win10\win10.vdi'
VBoxManage.exe: error: Details: code VBOX_E_NOT_SUPPORTED (0x80bb0009), component MediumWrap, interface IMedium
VBoxManage.exe: error: Context: "enum RTEXITCODE __cdecl handleModifyMedium(struct HandlerArg *)" at line 816 of file VBoxManageDisk.cpp

2、针对上面的错误不能直接对磁盘进行扩容,需要先clone 一个新的启动VDI,命令如下:

D:\Program Files\Oracle\VirtualBox>VBoxManage.exe showhdinfo "D:\安装资源\win\win10\win10\win10.vdi"
UUID:           47b0f3d7-3df8-424c-ac79-c96509b2d653
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       D:\安装资源\win\win10\win10\win10.vdi
Storage format: VDI
Format variant: fixed default
Capacity:       51200 MBytes
Size on disk:   51202 MBytes
Encryption:     disabled
Property:       AllocationBlockSize=1048576
In use by VMs:  win10 (UUID: 32e49db6-8488-4370-8616-1f72b293ea99)

D:\Program Files\Oracle\VirtualBox>
D:\Program Files\Oracle\VirtualBox>
D:\Program Files\Oracle\VirtualBox>VBoxManage.exe clonehd "D:\安装资源\win\win10\win10\win10.vdi" "D:\安装资源\win\win10\win10\win10_90.vdi"
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'VDI'. UUID: d3a0b1f1-27cf-419b-9a6a-4f31939f2e9b

3、然后再执行resize的操作:

D:\Program Files\Oracle\VirtualBox>VBoxManage.exe modifyhd "D:\安装资源\win\win10\win10\win10_90.vdi" --resize 90000
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

D:\Program Files\Oracle\VirtualBox>
D:\Program Files\Oracle\VirtualBox>
D:\Program Files\Oracle\VirtualBox>VBoxManage.exe showhdinfo "D:\安装资源\win\win10\win10\win10_90.vdi"
UUID:           d3a0b1f1-27cf-419b-9a6a-4f31939f2e9b
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       D:\安装资源\win\win10\win10\win10_90.vdi
Storage format: VDI
Format variant: dynamic default
Capacity:       90000 MBytes
Size on disk:   28886 MBytes
Encryption:     disabled
Property:       AllocationBlockSize=1048576

4、进入虚拟机设置的存储页,选择新的VDI
在这里插入图片描述
5、启动后,进入虚拟的win10系统,进入计算机管理设置磁盘分区,创建新分区:
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐