在Windows PE中创建VHD需确保Diskpart可用及权限充足,步骤包括:一、验证VHD支持;二、交互式命令创建并格式化VHD;三、用脚本批量创建;四、PowerShell调用Diskpart(需模块支持)。

如果您在Windows PE环境中需要通过命令行创建VHD虚拟磁盘,则必须确保Diskpart工具可用且系统具备写入目标存储设备的权限。以下是具体操作步骤:
一、确认Diskpart可执行并加载必要驱动
Diskpart在标准Windows PE镜像中默认存在,但若使用精简版PE或自定义镜像,可能缺少VHD相关驱动(如vhdmp.sys)或未启用磁盘管理功能。需先验证环境是否支持VHD操作。
1、按Shift+F10打开命令提示符窗口。
2、输入 diskpart 并回车,确认命令能正常启动。
3、在Diskpart提示符下输入 list vdisk,若返回“没有虚拟磁盘”或列出已有VHD,则说明VHD功能已就绪;若提示“命令不存在”或报错“功能不可用”,则需挂载含vhdmp.sys的驱动或更换完整版WinPE。
二、使用Diskpart交互式命令创建VHD
该方法通过Diskpart内置命令流创建固定大小或动态扩展的VHD文件,适用于所有支持VHD的Windows PE版本。
1、在命令提示符中输入 diskpart 进入交互环境。
2、输入 create vdisk file="X:\path\to\disk.vhd" maximum=10240 type=fixed,其中X为可写分区盘符,10240表示10GB容量,type=fixed指定固定大小类型。
3、输入 select vdisk file="X:\path\to\disk.vhd" 选中刚创建的虚拟磁盘。
4、输入 attach vdisk 挂载该VHD为本地磁盘。
5、输入 create partition primary 在挂载后的VHD上创建主分区。
6、输入 format fs=ntfs quick 快速格式化为NTFS文件系统。
7、输入 assign letter=Z 分配驱动器号Z:以便后续访问。
三、使用单行Diskpart脚本批量创建VHD
该方法避免交互式输入,适合集成到自动化部署流程中,通过文本脚本一次性完成全部操作。
1、使用记事本创建文本文件,内容如下:
create vdisk file="D:\test.vhd" maximum=20480 type=expandable
select vdisk file="D:\test.vhd"
attach vdisk
create partition primary
format fs=ntfs quick
assign letter=Y
2、将该文件保存为 vdisk_script.txt,存放在D:根目录下。
3、在命令提示符中执行 diskpart /s D:\vdisk_script.txt。
4、执行完毕后检查Y:盘是否存在且可访问,确认VHD已成功创建并挂载。
四、通过PowerShell调用Diskpart命令(需PE含PowerShell模块)
部分增强版Windows PE集成了PowerShell,可通过Invoke-Expression或cmd.exe桥接方式运行Diskpart指令,提升脚本灵活性。
1、在命令提示符中输入 powershell -Command "cd D:; echo 'create vdisk file=\"D:\\psdisk.vhd\" maximum=5120 type=fixed' | diskpart"。
2、再次执行 powershell -Command "echo 'select vdisk file=\"D:\\psdisk.vhd\"' | diskpart" 选择磁盘。
3、继续执行 powershell -Command "echo 'attach vdisk' | diskpart" 挂载VHD。
4、执行 powershell -Command "echo 'create partition primary' | diskpart" 创建分区。
5、执行 powershell -Command "echo 'format fs=ntfs quick' | diskpart" 完成格式化。










