Windows下可用PowerShell脚本批量创建20GB VHDX虚拟磁盘,自动挂载、GPT初始化、分配盘符并NTFS格式化,全程无需手动操作,适用于测试环境部署或多设备统一配置。
windows 下可用 powershell 批量创建标准容量的虚拟磁盘(vhdx)并自动初始化、分区、格式化,整个过程无需手动点选,适合部署测试环境或统一配置多台设备。
准备前提与注意事项
确保以管理员身份运行 PowerShell;目标路径所在磁盘需有足够连续空间;VHDX 文件建议存于 NTFS 卷上;若需兼容旧系统,可改用 VHD 格式,但推荐 VHDX(支持 64TB、断电保护、更小元数据开销)。
核心命令逻辑:一条脚本完成全流程
以下是一段可复用的 PowerShell 脚本,用于批量创建多个 20GB 的 VHDX 虚拟磁盘,并挂载、初始化为 GPT、新建 NTFS 卷、分配盘符(E:、F:、G:…):
- 使用
New-VHD创建固定大小 VHDX 文件(如 20GB = 20GB) - 用
Mount-VHD挂载,再通过Get-Disk | Where-Object {$_.BusType -eq 'Virtual'}定位新磁盘 - 调用
Initialize-Disk -PartitionStyle GPT初始化 - 执行
New-Partition -UseMaximumSize -AssignDriveLetter创建主分区并自动分配下一个可用盘符 - 最后用
Format-Volume -FileSystem NTFS -NewFileSystemLabel "VDISK_01" -Confirm:$false快速格式化
示例:创建 3 个标准虚拟磁盘(20GB each)
复制粘贴到管理员 PowerShell 中直接运行(修改 $baseDir 和 $count 即可适配):
$baseDir = "D:\VDisks"
$count = 3
mkdir $baseDir -Force | Out-Null
<p>for ($i = 1; $i -le $count; $i++) {
$vhdPath = Join-Path $baseDir "Disk$i.vhdx"
$label = "VDISK_$i"</p><pre class='brush:php;toolbar:false;'># 创建固定大小 VHDX
New-VHD -Path $vhdPath -Fixed -SizeBytes 20GB | Out-Null
# 挂载
Mount-VHD -Path $vhdPath | Out-Null
# 等待识别(防竞态)
Start-Sleep -Seconds 1
# 获取刚挂载的磁盘(按号排序取最新)
$disk = Get-Disk | Where-Object {$_.BusType -eq 'Virtual'} | Sort-Object Number -Descending | Select-Object -First 1
if ($disk) {
Initialize-Disk -Number $disk.Number -PartitionStyle GPT -Confirm:$false
$part = New-Partition -DiskNumber $disk.Number -UseMaximumSize -AssignDriveLetter
Format-Volume -Partition $part -FileSystem NTFS -NewFileSystemLabel $label -Confirm:$false | Out-Null
Write-Host "✓ 已创建 $label → $($part.DriveLetter):"
}}
后续管理建议
生成的 VHDX 文件可随时右键“弹出”或用 Dismount-VHD 卸载;如需开机自动挂载,可将 Mount-VHD 命令加入登录脚本或任务计划;批量清理时,先卸载再删除 .vhdx 文件即可,不残留注册表项或驱动器映射。

















