这是一份详细且易于理解的 Ubuntu 虚拟机磁盘空间扩展指南。本指南涵盖了两种主流虚拟机软件(VirtualBox 和 VMware)的操作步骤,并分为 “扩展虚拟磁盘” 和 “在 Ubuntu 内部分配新空间” 两大部分。
重要提示:在进行任何磁盘操作之前,强烈建议对虚拟机进行快照(Snapshot)备份,以防数据丢失。
第一部分:扩展虚拟磁盘(在宿主机操作)
这一步是在虚拟机软件中增大虚拟硬盘的“容器”大小,但此时 Ubuntu 系统还无法使用这些新空间。
A. 对于 VirtualBox
找到虚拟磁盘文件:关闭你的 Ubuntu 虚拟机。在 VirtualBox 管理器中,找到你的虚拟机,查看其“设置” -> “存储”,可以看到你使用的虚拟磁盘文件(通常是
.vdi
文件)的路径。打开命令行/终端:在你的宿主机(Windows, macOS 或 Linux)上打开终端或命令提示符。
导航到 VirtualBox 安装目录(Windows 系统可能需要):
默认安装路径通常在
C:\Program Files\Oracle\VirtualBox\
。在命令提示符(CMD)中,使用
cd
命令切换到此目录。
执行扩展命令:
bash
# 语法:VBoxManage modifymedium <磁盘路径> --resize <新大小(MB)> VBoxManage modifymedium "C:\Users\YourName\VirtualBox VMs\Ubuntu\ubuntu.vdi" --resize 40960
将路径替换为你自己的
.vdi
文件的实际路径。40960
表示将磁盘扩展到 40GB(40 * 1024 MB)。请根据你的需要调整大小。
B. 对于 VMware (Workstation/Fusion)
关闭虚拟机:确保 Ubuntu 虚拟机已完全关闭。
打开虚拟机设置:
VMware Workstation (Windows/Linux):右键点击虚拟机 -> “设置” -> 选择“硬盘”。
VMware Fusion (macOS):在虚拟机资源库中,选中虚拟机,点击“设置”齿轮图标 -> 选择“硬盘”。
扩展磁盘容量:在硬盘设置中,你会看到一个“扩展”或“Expand”按钮。点击它并输入新的、更大的容量。点击“确定”完成。
(可选)使用命令行:你也可以使用
vmware-vdiskmanager
工具通过命令行完成,但图形化界面通常更简单。
第二部分:在 Ubuntu 系统内部分配新空间
现在虚拟磁盘变大了,但 Ubuntu 系统还不知道。你需要启动虚拟机,并在内部将这些未分配的空间分配给现有的分区或新分区。
推荐使用 GParted(图形化分区编辑器),这是最直观的方法。
步骤 1:启动虚拟机并安装 GParted
启动你的 Ubuntu 虚拟机。
打开终端,安装 GParted:
bash
sudo apt update sudo apt install gparted
步骤 2:使用 GParted 重新分区
启动 GParted:
bash
sudo gparted
(需要输入密码)
识别新空间:
在 GParted 窗口的右上角,选择你的主硬盘,通常是
/dev/sda
。查看磁盘的图形化表示。你应该会看到一块灰色的 “未分配” 空间,紧接在你原有分区之后。
调整分区大小:
右键点击你想要扩展的分区(通常是最后一个分区,例如
/dev/sda1
或/dev/sda2
,特别是根分区/
)。选择 “Resize/Move”。
分配空间:
在弹出的窗口中,你会看到一个代表分区的条形图。拖动其右端的箭头,一直拖到最右边,直到将所有“未分配”空间都包含进来。
或者,直接在“Free space following (MiB)”框中输入
0
,这意味着将所有剩余空间都分配给这个分区。点击 “Resize” 按钮。
应用操作:
GParted 现在只会显示一个待执行的操作(例如,“Resize /dev/sda2 from ... to ...”)。
点击顶部菜单栏的绿色对勾 “Apply All Operations”。
在弹出的确认窗口中点击“Apply”。
耐心等待操作完成。这可能需要一些时间,切勿中断。
完成并重启:
操作成功后,点击“Close”。
关闭 GParted 并重启你的 Ubuntu 虚拟机。
步骤 3:验证新空间
重启后,打开终端,运行以下命令检查磁盘空间:
bash
df -h
你应该能看到你扩展的分区(通常是 /
根目录)的可用空间已经显著增加。
替代方案:使用命令行工具 (fdisk, resize2fs)
对于熟悉命令行的用户,可以不使用 GParted。
查看磁盘信息:
bash
sudo fdisk -l
确认磁盘(如
/dev/sda
)总容量已增加,并找到需要调整的分区(如/dev/sda2
)。使用
parted
调整分区表:bash
sudo parted /dev/sda
在
(parted)
提示符下:bash
print free # 查看未分配空间和分区号 resizepart <分区号> <结束位置> # 例如:resizepart 2 100% quit
重启:必须重启以使内核重新读取分区表。
bash
sudo reboot
调整文件系统大小(扩展以填充分区):
对于 ext4 文件系统(最常见):
bash
sudo resize2fs /dev/sda2 # 将 /dev/sda2 替换为你的实际分区
对于 xfs 文件系统:
bash
sudo xfs_growfs /
验证:
bash
df -h
故障排除和注意事项
快照:如果虚拟机有快照,扩展磁盘可能会比较复杂。建议先删除所有快照后再进行扩展。
分区顺序:最简单的情况是未分配空间紧挨着你要扩展的分区。如果中间隔着其他分区(如 swap),操作会复杂得多,可能需要先移动或删除中间的分区(这通常需要从 Live USB 启动才能操作)。
LVM:如果你的 Ubuntu 安装使用了 LVM(逻辑卷管理),那么扩展过程会有所不同且更灵活。你需要将新空间创建为物理卷(PV),然后加入到卷组(VG)中,最后扩展逻辑卷(LV)。这超出了本基础指南的范围。
对于大多数标准 Ubuntu 桌面安装,使用 GParted 的方法是最高效和安全的。希望这份指南能帮助你成功扩展磁盘空间!