一、关闭虚拟机并使用 VBoxManage 扩展磁盘大小
打开命令提示符(Windows)或终端(macOS、Linux),然后运行以下命令来扩展你的 VDI 磁盘大小。请根据你的实际环境替换 <path_to_vdi> 和 <new_size>。<new_size> 是你想要扩展到的大小,单位是 MB。
VBoxManage modifymedium disk "<path_to_vdi>" --resize <new_size>
例如如果你希望将磁盘大小增加至 128GB,并且你的 VDI 文件位于"D:\vm\pc_default_1728608267031_89282\pc_default_1728608267031_89282-disk001.vdi",则命令为:
"D:\devpinstall\Oracle\VirtualBox\VBoxManage.exe" modifymedium disk "D:\vm\pc_default_1728608267031_89282\pc_default_1728608267031_89282-disk001.vdi" --resize 131072
查看磁盘是否已经扩容:
"D:\devpinstall\Oracle\VirtualBox\VBoxManage.exe" showmediuminfo disk "D:\vm\pc_default_1728608267031_89282\pc_default_1728608267031_89282-disk001.vdi"
二、启动虚拟机识别新磁盘并调整分区
1.检查磁盘和分区状态
lsblk
输出示例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 20G 0 part /
└─sda2 8:2 0 1G 0 part [SWAP]
如果磁盘大小已扩展(如 /dev/sda 显示为 50G),但分区大小未扩展(如 /dev/sda1 仍为 20G),则需要调整分区。
2.使用 fdisk 调整分区:
删除旧分区并重新创建更大的分区(数据不会丢失,但一定要小心操作):
fdisk /dev/sda
-
输入 p 查看当前分区表。
-
输入 d 删除目标分区(例如 /dev/sda1)。
-
输入 n 创建新分区,覆盖原来的分区号(注意:起始扇区必须与原来一致)。
-
输入 w 保存更改
3.调整文件系统大小:
-
对于 ext4 文件系统:
resize2fs /dev/sda1
-
对于其他文件系统(如 xfs),使用相应的工具:
xfs_growfs /
4.重启系统
-
修改分区后需要重启系统以使更改生效:
sudo reboot
三、验证磁盘分区状态
lsblk
df -h
注意:sda1 的大小已扩展到接近 128G。