虚拟机新建分区最核心的操作路径是在虚拟机系统内用磁盘管理工具或命令行,对未分配空间执行“新建简单卷/新建分区”并格式化,分区即可挂载使用。不同虚拟化平台和操作系统在入口上有差别,但底层逻辑一致,下面按真实使用场景拆开讲,包含Linux和Windows两种主流环境。
虚拟机新建分区前必须弄清的三个前提
虚拟机磁盘类型会影响分区方式
虚拟机磁盘通常分为厚置备和精简置备两种,VMware、Hyper-V、KVM都有类似概念。
- 厚置备:创建虚拟机时就占用宿主机对应大小的物理空间,性能更稳定。
- 精简置备:按虚拟机内实际写入量增长,宿主机空间占用较小,但后期扩容时需要注意剩余空间。
如果计划在虚拟机里新建分区,先确认当前磁盘是“已有磁盘扩容”还是“新增一块虚拟磁盘”,这两种场景的操作入口完全不同。
场景化判断:扩容旧盘还是新加一块盘
多数人问“虚拟机怎么新建分区”,实际有两种需求:
- 原虚拟磁盘容量不够,已经扩了容量,想把多出来的空间变成新分区。
- 直接给虚拟机添加了一块新的虚拟硬盘,需要从零开始建分区。
场景一是最常见的生产环境操作。比如Hyper-V里把某台Windows Server的数据盘从200GB扩到500GB,进系统后那300GB就是“未分配”,需要手动新建分区。
新建分区前是否需要重启虚拟机
大部分虚拟化平台支持在线扩容,但仍有例外:
- VMware ESXi:多数客户机系统支持热添加磁盘和在线扩展,但部分老系统需要重启识别。
- Hyper-V:第2代虚拟机支持在线扩展VHDX,第1代部分受限。
- KVM:使用virtio磁盘时通常在线生效,但需在虚拟机内重扫总线。
行业共识认为,生产环境操作前最好做快照或备份,哪怕理论上支持在线操作。
Windows虚拟机新建分区的完整步骤
用磁盘管理新建简单卷
这是最直观的方式,适合不熟悉命令行的用户。
- 在Windows虚拟机里右键“此电脑”选择“管理”。
- 进入“存储”下的“磁盘管理”。
- 找到显示为“未分配”的黑色区域。
- 右键该区域,选择“新建简单卷”。
- 按向导设置卷大小、驱动器号、文件系统,通常选NTFS。
- 完成格式化后,新分区会出现在资源管理器里。
如果是从已有分区后面扩展出来的未分配空间,也可以右键左侧相邻分区选“扩展卷”,但扩展卷只能向右扩展,且只支持NTFS。
用diskpart命令新建分区
服务器环境或远程运维时,命令行更可靠。
diskpart
list disk
select disk 0
list partition
看到未分配空间后,可以用以下命令创建主分区:
create partition primary size=102400
format fs=ntfs quick label=data
assign letter=D
size单位是MB,示例中102400就是100GB,如果不指定size,会把所有可用空间都建成一个分区。
Windows虚拟机新建分区注意事项
– 动态磁盘在虚拟机里不建议使用,兼容性较差。
– 系统盘C盘右边有恢复分区时,不要直接用磁盘管理扩展C盘,容易破坏恢复环境。
– GPT磁盘可以建超过4个主分区,MBR磁盘最多4个主分区或3主1扩展。
Linux虚拟机新建分区的常见做法
用fdisk给新磁盘建分区
最传统的Linux分区工具,几乎所有发行版都有。
先查看磁盘:
lsblk
假设新磁盘是/dev/sdb。
进入fdisk:
fdisk /dev/sdb
- 输入
n新建分区,选主分区或扩展分区。 - 输入分区号,默认从1开始。
- 设置起始和结束扇区,可直接回车使用默认值。
- 输入
w保存退出。
之后格式化:
mkfs.ext4 /dev/sdb1
挂载:
mount /dev/sdb1 /data
用parted处理大于2TB的磁盘
MBR分区表最大支持2TB,超过2TB的虚拟磁盘必须用GPT,parted更适合这种场景。
parted /dev/sdb
mklabel gpt
mkpart primary 0% 100%
quit
然后格式化:
mkfs.xfs /dev/sdb1
Linux虚拟机分区后自动挂载
手动mount重启会失效,要写入/etc/fstab。
echo '/dev/sdb1 /data ext4 defaults 0 0' >> /etc/fstab
资深运维一般建议用UUID代替设备名,因为设备名在虚拟机里可能漂移,用blkid查UUID后写入更稳。
虚拟机新增一块磁盘并新建分区的操作路径
VMware虚拟机添加磁盘
在vSphere或Workstation里编辑虚拟机设置:
- 添加硬盘,选择“新标准硬盘”。
- 设置容量、磁盘置备方式。
- 保存后启动虚拟机。
进系统后按上面Windows或Linux流程处理新磁盘。
Hyper-V虚拟机添加磁盘
在Hyper-V管理器里选择虚拟机,点击“设置”:
- 添加“硬盘驱动器”。
- 选择“新建虚拟硬盘”。
- 指定位置、大小,建议用VHDX格式。
- 应用后启动虚拟机。
KVM虚拟机添加磁盘
使用virt-manager图形界面或virsh命令行,命令行示例:
qemu-img create -f qcow2 /var/lib/libvirt/images/data.qcow2 100G
virsh attach-disk --domain vm1 --source /var/lib/libvirt/images/data.qcow2 --target vdb --persistent
之后在虚拟机内即可看到vdb,再用fdisk或parted分区。
虚拟机新建分区和宿主机分区的关键区别
很多人会在宿主机上给物理盘分区,再在虚拟机里分区,容易混淆,核心区别如下:
- 宿主机分区直接影响物理磁盘布局,操作风险较高。
- 虚拟机分区只作用于虚拟磁盘文件,出问题可以回滚快照。
- 虚拟机里看到的“磁盘”本质是宿主机上的一个文件或LUN,分区表写在虚拟磁盘文件里。
- 宿主机文件系统可以跨多个物理盘,虚拟机文件系统通常被限制在分配的虚拟磁盘内。
区分这两层关系,是避免误操作的关键。
虚拟机新建分区过程中容易踩的坑
分区后系统不显示盘符
Windows里新建分区后如果没有自动分配盘符,进磁盘管理右键该分区,选“更改驱动器号和路径”手动添加,Linux里没有挂载就不会在文件树里显示,执行`mount`即可。
扩容后未分配空间灰色不可用
如果未分配空间与目标分区不相邻,或者中间隔着恢复分区,Windows无法直接扩展,这种情况下要么用第三方工具,要么删掉中间分区重建。
分区表类型选择错误
小于2TB用MBR没问题,超过2TB必须选GPT,很多虚拟机新建分区失败就是因为在2TB以上磁盘上强行用了MBR,转换分区表会清空数据,务必先备份。
虚拟机磁盘文件格式对分区的影响
VMDK、VHDX、qcow2都是常见的虚拟磁盘格式,它们对虚拟机内部的分区操作没有直接影响,但会影响宿主机端的容量回收和快照行为,qcow2支持
稀疏文件,新建分区后未写入数据的空间不会立刻占用宿主机物理容量。
按使用场景选择分区文件系统
Windows虚拟机
默认选NTFS,如果是高并发文件服务器且需要大数据块,可以考虑ReFS,但兼容性不如NTFS稳定。
Linux虚拟机
– 通用数据盘:ext4
– 大容量视频或数据库:xfs
– 需要快照和压缩:btrfs
表格对比:
| 文件系统 | 适用场景 | 最大单文件限制 | 是否默认支持 |
|---|---|---|---|
| NTFS | Windows通用 | 约16TB | 是 |
| ext4 | Linux通用 | 约16TB | 多数发行版是 |
| xfs | 大文件、数据库 | 约8EB | 多数发行版是 |
| btrfs | 快照、压缩 | 约16EB | 部分发行版默认 |
虚拟机新建分区后如何验证是否成功
验证步骤一定要做,避免重启后才发现挂载失败。
- Windows:打开“此电脑”确认新分区盘符和容量正确;运行
fsutil fsinfo volumeinfo D:核对文件系统。 - Linux:执行
df -h查看已挂载分区;执行lsblk -f核对文件系统类型和挂载点。 - 写入测试:在该分区创建一个测试文件,确认读写正常。
- 重启测试:生产环境建议重启虚拟机,确认自动挂载生效。
Q&A:虚拟机新建分区相关问题
虚拟机新建分区需要关机吗
多数情况下不需要关机,VMware、Hyper-V、KVM都支持在线添加磁盘,Windows和Linux虚拟机内部也能在线识别新磁盘,但如果是扩展系统盘C盘或根分区,部分旧系统仍需进入救援模式或离线操作。
虚拟机新建分区用什么工具最好
Windows虚拟机优先用系统自带的磁盘管理或diskpart,不要额外装工具,Linux虚拟机用fdisk或parted就足够,大于2TB用parted,第三方工具只在系统自带功能受限时才考虑。
虚拟机新建分区后能直接删除吗
可以,在Windows磁盘管理里右键分区选择“删除卷”,Linux里用`fdisk /dev/sdb`进入后按`d`删除分区,删除分区会清空该分区内所有数据,操作前先确认是否有备份,删除后空间会回到“未分配”状态,可以再建新分区或合并到其他分区。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/670473.html




