Vbox下linux虚拟机根分区扩容
前言
使用一段时间VBox中的linux后可能会显示根分区空间不足的情况,需要扩容。
通过查阅相关资料,VBox中linux扩容主要有两种办法:通过lvm扩容和通过gparted扩容
LVM条件:VBox中的linux系统使用LVM管理磁盘
gparted条件:自带gparted的linux系统映像(ISO)
判断能否通过lvm扩容:
终端输入“vgs”,显示“No volume groups found”则不能使用lvm扩容
显示如下则可以使用lvm扩容:
VG #PV #LV #SN Attr VSize VFree
xiaoluo 2 0 0 wz--n- 15.99g 15.99g
通过LVM扩容
关于LVM的基本知识可以参考以下两篇文章,只按照本文操作可以顺利完成
第一步:添加虚拟硬盘
关闭虚拟机,在虚拟机的设置界面,选择“存储”选项卡,点击“添加虚拟硬盘”图标
按提示完成添加即可。
第二步:为新硬盘分区并格式化
添加新硬盘后在终端中键入"fdisk -l"即可看到新添加的硬盘,我这里显示为“/dev/sdb”
键入“fdisk /dev/sdb”开始对新硬盘分区
在新的命令行中键入“n”创建新分区
直接回车作为主分区
键入分区数字,或直接回车默认1
回车默认从2048作为此分区的开始扇区
回车默认最后扇区作为结束扇区
键入“w”保存并退出,现在得到/dev/sdb1分区,建议重启以下虚拟机
第三步:将新分区添加到lvm并扩容
键入“pvcreate /dev/sdb1”
Physical volume “/dev/hda4″ successfully created
键入“vgs”查看卷组名,如“xiaoluo”或“VolGroup00”
键入“vgextend VolGroup00 /dev/sdb1”将新分区添加到卷组中去
键入“lvs”查看要扩容的逻辑卷名称,如"LogVol00"
键入“lvextend -L +4096M /dev/VolGroup00/LogVol00”扩展逻辑分区,其中“+4096M”表示增加4G空间
键入“resize2fs -p /dev/VolGroup00/LogVol00”激活新空间
现在键入“df -h”即可查看扩容后的空间
通过gparted扩容
第一步:将vmdk格式虚拟硬盘转为vdi格式
(如果你的虚拟硬盘是vdi格式请跳到第二步)
找到Vbox的安装目录并进入cmd界面,我的是:H:\Program Files\Oracle\VirtualBox
键入“VBoxManage list hdds”查看现有的虚拟硬盘,找到要扩容的虚拟机的虚拟硬盘,记录下位置
键入 VBoxManage clonehd "H:\Users\liber\VirtualBox VMs\kali_iso\-disk1.vmdk" "H:\Users\liber\VirtualBox VMs\kali_iso\-disk1.vdi" --format vdi 将vmdk转化为vdi
然后在虚拟机的设置中将旧的vmdk卸载并挂在新的vdi即可
第二步:扩容vdi格式虚拟硬盘
键入“VBoxManage list hdds”查看要扩容的vdi文件的UUID并记录
键入“VBoxManage modifyhd 你的uuid --resize 40960”将其扩容为40G,其中40960表示新的大小
第三步:扩容linux根分区
在虚拟机的设置界面,选择“存储”选项卡,点击“添加虚拟光驱”,点击“选择磁盘”浏览linux的iso文件,我这里是kali-linux-1.1.0a-amd64.iso,然后确定
(这里如果有空的虚拟光驱要删除,否则启动的时候不会从光驱启动)
在“系统选项卡”将光驱调整为最优先启动
从虚拟光驱启动虚拟机,选择LiveCD模式,我这里是“Live (amd64)”,这种模式是不安装,仅体验
进入系统后在终端中输入gparted就会启动gparted的图形化界面
现在硬盘结构应该如下所示:
/dev/sda
|---/dev/sda1 (ext4,要扩容)
|---/dev/sda2 (extended,885M)
| |---/dev/sda5 (linux-swap,885M)
|---unallocated (unallocated,待分配)
unallocated就是我们未分配空间,/dev/sda2是linux中的虚拟内存,在大型程序无法一次装入内存的时候使用的
我们可以先删除/dev/sda5,然后删除/dev/sda2。然后就只剩下要扩容分区和未分配空间了
右击要扩容分区,选择resize即可进行扩容,但是注意这里要留下一部分空间作为linux-swap分区作为虚拟内存
分区扩容好之后在剩余的unallocated空间上右击新建linux-swap:
1.在新建窗口中的“create as”下拉菜单选择“extended partition”
2.在建好的extended partition中的unallociated空间右击,新建,“create as”选择“linux-swap”即可
点击上方的应用按钮即可生效。
然后删除iso光驱,进入虚拟机即可发现根分区已成功扩容
写文章不容易,转载请注明出处
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!