使用 diskpart 可以命令下创建vhd文件,代码如下:
1 2 3 4 5 6 7 8 9 10 |
diskpart create vdisk file="C:\WinXX.vhd" maximum=1000 attach vdisk create partition primary assign letter=V format fs=ntfs quick exit 其他参数如下: |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
DISKPART> help create vdisk 创建虚拟磁盘文件。当前仅支持 VHD 和 VHDX 格式的文件, 它们是通过虚拟磁盘文件的 文件扩展名(.vhd 和 .vhdx)指定的。 语法: CREATE VDISK FILE=<"filename"> MAXIMUM=<N> [TYPE={FIXED|EXPANDABLE}] [SD=<SDDL string>] [PARENT=<"filename">] [SOURCE=<"filename">] [NOERR] FILE=<"filename"> 指定虚拟磁盘文件的完整路径和文件名。 该文件可以位于网络共享上。 MAXIMUM=<N> 虚拟磁盘公开的最大空间量, 以兆字节(MB)为单位。 TYPE={FIXED|EXPANDABLE} FIXED 指定固定大小的虚拟磁盘文件。EXPANDABLE 指定重新调整大小以适应所分配数据的 虚拟磁盘文件。默认值为 FIXED。 [SD=<SDDL string>] 指定安全描述符定义语言(SDDL)格式 的安全描述符。默认情况下, 安全描述符是从父目录中获取的。 SDDL 字符串可能比较复杂,但很灵活。 其最简单的格式是保护访问的安全描述符,称为自定义访问控制列表(DACL)。 其格式为: D:<DACL_FLAGS>(<STRING_ACE>)(<STRING_ACE>)...(<STRING_ACE>) 常用的 DACL_FLAGS 为: "P" - DACL 不应被来自父容器的 任何 ACL 所覆盖(保护)。 VHD 或 VHDX 文件的容器就是 其目录。 "AI"- DACL 应该从父容器自动 继承。 STRING_ACE 的格式为 <ACE_TYPE>;;<RIGHTS>;;;<ACCOUNT_ID> 常用的 ACE_TYPE 为: "A" - 允许访问。 "D" - 拒绝访问。 常用的 RIGHTS 为: "GA" - 所有访问权限。 "GR" - 读取访问权限。 "GW' - 写入访问权限。 常用的 ACCOUNT_ID 为: "BA" - 内置管理员 "AU" - 通过身份验证的用户。 "CO" - 创建者所有者。 "WD" - 任何人。 将所有这些放在一起,例如, D:P:(A;;GR;;;AU) 为所有通过身份验证的用户授予读取访问权限。 同样, D:P:(A;;GA;;;WD) 为任何人授予完全访问权限。 可以在 Microsoft 的 MSDN 网站上 找到有关 SDDL 的详细信息。 [PARENT=<"filename">] 用于创建差异磁盘的现有父虚拟磁盘文件的路径。 对于 PARENT 参数,不应指定 MAXIMUM, 因为差异磁盘从其父目录获取大小。 而且,也不应指定 TYPE, 因为只能创建 EXPANDABLE 差异磁盘。 [SOURCE=<"filename">] 用于预填充新虚拟磁盘文件的现有虚拟磁盘文件的路径。 当指定 SOURCE 时, 输入虚拟磁盘文件中的数据 将从输入虚拟磁盘文件逐块复制到创建的 虚拟磁盘文件。 但不建立父子关系。 NOERR 仅用于脚本。遇到错误时,DiskPart 会继续处理命令,如同没有出现错误一样。 如果不使用 NOERR 参数,错误会导致 DiskPart 退出 并返回错误代码。 示例: CREATE VDISK FILE="c:\test\test.vhd" MAXIMUM=1000 CREATE VDISK FILE="c:\test\child.vhdx" PARENT="c:\test\test.vhdx" CREATE VDISK FILE="c:\test\test.vhd" MAXIMUM=1000 SD="D:P(A;;GA;;;WD)" CREATE VDISK FILE="c:\test\new.vhdx" SOURCE="c:\test\test.vhd" DISKPART> |