这是一份详细且易于理解的 Ubuntu 虚拟机磁盘空间扩展指南。本指南涵盖了两种主流虚拟机软件(VirtualBox 和 VMware)的操作步骤,并分为 “扩展虚拟磁盘” 和 “在 Ubuntu 内部分配新空间” 两大部分。
重要提示:在进行任何磁盘操作之前,强烈建议对虚拟机进行快照(Snapshot)备份,以防数据丢失。
第一部分:扩展虚拟磁盘(在宿主机操作)
这一步是在虚拟机软件中增大虚拟硬盘的“容器”大小,但此时 Ubuntu 系统还无法使用这些新空间。
A. 对于 VirtualBox
找到虚拟磁盘文件:关闭你的 Ubuntu 虚拟机。在 VirtualBox 管理器中,找到你的虚拟机,查看其“设置” -> “存储”,可以看到你使用的虚拟磁盘文件(通常是
文件)的路径。
.vdi
打开命令行/终端:在你的宿主机(Windows, macOS 或 Linux)上打开终端或命令提示符。
导航到 VirtualBox 安装目录(Windows 系统可能需要):
默认安装路径通常在
。
C:Program FilesOracleVirtualBox
在命令提示符(CMD)中,使用
命令切换到此目录。
cd
执行扩展命令:
bash
# 语法:VBoxManage modifymedium <磁盘路径> --resize <新大小(MB)> VBoxManage modifymedium "C:UsersYourNameVirtualBox VMsUbuntuubuntu.vdi" --resize 40960
将路径替换为你自己的
文件的实际路径。
.vdi
表示将磁盘扩展到 40GB(40 * 1024 MB)。请根据你的需要调整大小。
40960
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 的方法是最高效和安全的。希望这份指南能帮助你成功扩展磁盘空间!