标签归档:DiskPart

Windows 7设置由VHD启动系统

VHD Native Boot作为Windows 7和Windows Server 2008 R2新增重要功能之一,它支持系统直接从VHD启动。

1. 说明

系统要求:Windows 7 Enterprise 或 Ultimate版,其它版本不支;Windows Server 2008 R2 除 Foundation Edition版本不支持外,其它版本都支持

磁盘要求:系统必须有两个分区,System分区必须有Windows 7 Boot environment Files和BCD存储。如果VHD文件类型为动态扩展,必须确保磁盘有足够的磁盘空间。最多支持挂接 512 个VHD文件。

另外,从VHD启动的系统,不支持系统休眠和Over SMB 共享;保存VHD文件的分区不支持Bit-locker加密,VHD文件的父分区不支持Volume Snaphot功能;VHD不能配置为动态磁盘,也不支持建立软件Raid。相比物理硬盘,VHD没有CACHE,所以在写数据时,VHD硬盘相比物理硬盘有些差异,但读性能基本上和物理硬盘相近。

2. 必备工具

(1) bcdboot - bcd 启动文件创建和修复工具。

bcdboot.exe 命令行工具用于将关键启动文件复制到系统分区以及创建新的系统 BCD 存储。

bcdboot <source> [/l <locale>] [/s <volume-letter>] [/v] [/m [{OS Loader ID}]]

source——指定 windows 系统根目录的位置。

/l    ——指定在初始化 BCD 存储时使用的可选区域设置参数。默认值为“简体中文”。

/s   ——指定一个可选的卷号参数,该参数用于指定要将启动环境文件复制到的目标系统分区。默认值为固件标识的系统分区。

/v   ——启用详细模式。

/m   ——如果提供了操作系统加载器 GUID,则此选项可以将给定的加载器对象与系统模板合并起来,以产生可启动条目。否则,只合并全局对象。

(2) Bcdedit

Bcdedit.exe 命令行工具用于修改启动配置数据存储。启动配置数据存储包含启动配置参数并控制操作系统的启动方式。

(3) diskpart

磁盘分区管理工具。在本例中,它用来在命令行状态产生VHD文件,分区,格式化等

(4) imagex

WIM映像管理工具,它包含在微软AIK工具包中。本例中,用它来释放安装映像Install.WIM文件到VHD文件。

(5) Windows Deployment Services部署服务

3. 部署

用VHD启动计算机,有以下两种场景,一是将VHD部署在已有OS的计算机上,二是裸机的部署。两者的最大区别是对裸机,由于硬盘上没有OS,也就没有Windows 7的启动文件和MBR,所以必须首先产生一个系统分区,并使用Bcdboot将Windows 7启动文件写入这个分区;同时也必须产生一个主分区,用来存放VHD文件。对于在已有OS的计算机上部署,主要是要产生VHD文件,并将Windows 7或Windows 2008 R2映像释放到VHD硬盘,并使用BCDEDIT工具增加启动项目。

由于VHD文件有动态,固定,差异这三种类型,为了保证性能,推荐使用固定尺寸大小的VHD文件。

在已有OS的计算机上部署

实验环境:使用Microsoft Virtual Server 2005 SP1产生一台虚拟机Windows 7并安装好WINDOWS 7 7600操作系统和AIK工具包,这台虚拟机有两块虚拟硬盘,一块c:,已安装好Windows 7;另一块e:,用来产生VHD文件;光驱为D:

启动计算机,进行如下操作(注意以下操作均以管理员BILL.xu进行操作)

(1) 以管理员身份进入命令提示符状态,运行DISKPART

(2) 依次输入以下命令:

Create vdisk file=e:\win2007.vhd maximum=10000 type=fixed(在e盘产生名为win2007.vhd,大小为10000MB,类型为固定尺寸的VHD硬盘),等待一段时间完成。

Select vdisk file=e:\win2007.vhd(选择e:\win2007.vhd磁盘文件)

Attach vdisk(连接到虚拟磁盘文件)

Create Partition Primary(产生主分区)

Assign Letter R(分配盘符为R)

Format Quick Fs=ntfs(以NTFS文件系统快速格式磁盘),此时在我的电脑会多出一块盘符为R的硬盘。

(3) 打开虚拟服务器管理网站,编辑虚拟机Windows 7设置,在光驱中加载windows 7安装光盘ISO文件。

(4) 以管理员身份运行AIK工具包中的Deployment Tools Command Prompt,运行以下命令

imagex /info d:\sources\install.wim(显示安装映像文件的信息,主要是查找映像文件中各个版本的image index号)

imagex /apply d:\sources\install.wim 5 r:\(将安装映像中image index=5映像释放到r:盘,即释放到VHD文件上,image index=5这旗舰版),等待完成。

(5) 回到第二步的窗口,输入以下命令

detach vdisk(分离虚拟磁盘文件)

exit(退出DISKPART命令)

(6) 在命令提示符状态下,输入以下命令

bcdedit /copy {current} /d "Starting From VHD"(编辑BCD数据库,将{current}复制为副本,注释为Starting From VHD。执行后会返回新项目的GUID)。在本操作中返回的GUID为 {91efbc47-7796-11de-8788-b469c8eae731}

bcdedit /set {91efbc47-7796-11de-8788-b469c8eae731} device vhd=[e:]\win2007.vhd(编辑BCD数据库,修改guid为{91efbc47-7796-11de-8788-b469c8eae731}的device值修改为[e:]\win2007.vhd,注意[])

bcdedit /set {91efbc47-7796-11de-8788-b469c8eae731} osdevice vhd=[e:]\win2007.vhd

bcdedit /set {91efbc47-7796-11de-8788-b469c8eae731} detecthal on(允许启动时硬件抽像层检测)完成后,将e:\win2007.vhd备份到其它位置,备用。

(7)重新启动计算机,选择“Starting From VHD”,出现安装界面,安装操作系统,完成。

在裸机上的部署

实验环境:使用Microsoft Virtual Server 2005 SP1产生一台虚拟机Win7VHD,一块硬盘c:,光驱为D:。

(1) 打开虚拟服务器管理网站,编辑虚拟机Win7VHD设置,在光驱中加载WINPE的ISO文件。WINPE光盘的ISO文件可以在装好AIK的文件夹下找到。

(2) 用WINPE光盘启动计算机,选择命令提示符

(3) 依次输入以下命令

create partition primary size=200

format quick fs=ntfs

assign letter=s

active

产生个尺寸大小为200M的文件,以NTFS格式化,并指定盘符为S,激活这个分区

create partition primary

format quick fs=ntfs

assign letter=c

exit

将其它的空间产生一个主分区,以NTFS格式化这个分区,分配盘符为C。

(4) 将我们上例中第6步产生的备份的文件复制到c盘

(5) 在命令提示符状态使用Diskpart,连接虚拟磁盘文件win2007.vhd

Diskpart

select vdisk file=c:\win2007.vhd

attach vdisk

exit

(6) cd f:\windows\system32  (F:为虚拟磁盘文件加载后产生的盘符)

bcdboot f:\windows /s s: 将系统文件复制到系统盘(即前面产生200M的系统分区)

(7) 以硬盘启动计算机,完成安装。

DiskPart使用说明

Diskpart 与许多命令行实用工具不同,原因是它不以单行模式操作。相反,当您启动该实用工具后,命令是从标准输入/输出 (I/O) 读取的。您可以将这些命令定向到任何磁盘、分区或卷。

与磁盘管理的比较

Diskpart 启用“磁盘管理”管理单元所支持的操作的超集。“磁盘管理”管理单元禁止您无意中执行可能会导致数据丢失的操作。建议您应谨慎使用 Diskpart 实用工具,因为 Diskpart 支持显式控制分区和卷。

可以使用 Diskpart 将基本磁盘转换为动态磁盘。基本磁盘可以为空,也可以包含主分区或逻辑驱动器。基本磁盘可以是数据磁盘、系统驱动器或启动驱动器。基本磁盘不能包含容错磁盘驱动程序 (FtDisk) 集,如带区或镜像等。要转换包含有 FtDisk 驱动程序集的基本磁盘,请使用 Windows 2000 上的“磁盘管理”,或者在升级到 Windows XP 之前转换磁盘。

可以使用 Diskpart 将动态磁盘转换为基本磁盘。进行转换前,必须删除所有动态卷。除非遇到紧急情况,否则不建议您删除动态磁盘上的分区。建议您删除驱动器上的所有卷,然后再将磁盘转换为基本磁盘。必须删除所有动态数据分区。另外,切勿混淆同一驱动器上的基本主分区和动态分区。否则,计算机可能无法重新启动。

您可以使用 Diskpart 以显式磁盘偏移量创建一个分区。“磁盘管理”管理单元将此分区放在任何占用区域的末端,或放在第一个足够大的区域上。在主启动记录 (MBR) 磁盘上,分区偏移量和大小都经过四舍五入,以保持必要的柱面对齐。偏移量四舍五入为最靠近的有效值,大小则始终四舍五入为下一个有效值。Diskpart 不为最近创建的分区分配驱动器号。使用 assign 命令可分配装入点或驱动器号。

Diskpart 遵循与管理单元同样的策略。只能在固定磁盘上创建动态磁盘。不能将可移动磁盘(如 1394 或通用串行总线 (USB) 驱动器)转换为动态磁盘。

Diskpart 允许执行管理单元禁止的某些分区删除操作。例如,您可以使用 Diskpart 删除 MBR OEM 分区。但是,这些分区中往往含有平台操作所必需的文件。Diskpart 禁止删除当前系统、启动或分页卷和分区。此外,Diskpart 还禁止删除作为动态磁盘基础的分区。

不能使用 Diskpart 在可移动媒体上创建分区。Windows 支持可移动媒体上至多有一个 MBR 分区。如果媒体在出厂时已带有一个 MBR,此 MBR 是不能修改的;但是,即使配置了多个分区或逻辑驱动器,仍然遵循此 MBR。如果媒体在出厂时不带 MBR,此媒体被视为“超级软盘”并且其中未写入分区结构。

可移动驱动器的驱动器号与驱动器关联,但不与媒体关联。您可以使用 Diskpart 更改此驱动器号。

Diskpart 导致产生了磁盘签名、GUID 分区表 (GPT) 磁盘全局唯一标识符 (GUID) 和 GPT 分区 GUID。不能使用 Diskpart 来显式设置这些项。

同管理单元一样,Diskpart 实用工具包括对新 Itanium 磁盘分区方案的支持,该方案称为 GPT。GPT 磁盘不能用于任何基于 x86 的 Windows XP 计算机或 Windows 2000 计算机。Diskpart 仅对空磁盘支持 GPT 分区向 MBR 分区的转换。

您可以使用 Diskpart 删除缺失的动态磁盘。动态磁盘包含共享数据库,一台计算机上的所有动态磁盘都识别此计算机上的所有其他动态磁盘。移动动态磁盘时,原始计算机将这些磁盘视为“缺失的”。

使用 Diskpart 时,驱动器号不能自动分配。要确保给定的分区或卷有驱动器号,必须显式地分配一个驱动器号。您可以分配此驱动器号,也可以允许分配下一个可用驱动器号。

设置焦点

大多数 Diskpart 命令适用于特定目标磁盘、分区或卷。目标对象具有“焦点”。焦点简化了在同一磁盘上创建多个分区的常见配置任务。通过 select 命令为对象设置焦点。除了 listhelpremexithelp 命令之外,其他所有命令都需要有焦点。

使用 select 命令可显式更改焦点。要隐式更改焦点,请使用像 create 这样的命令。管理基本磁盘前,必须设置磁盘焦点。在基本磁盘上,分区焦点和卷焦点相同。如果更改某一项上的焦点,也将更改其他项的焦点。在动态卷上,由于上一级的分区焦点总是丢失,因此只需要卷焦点,而且只有简单卷才需要磁盘焦点。

考虑下面计算机包含两个磁盘的示例:

  • 每个磁盘均包含两个主分区。第一个磁盘包含 C 和 D 分区,第二个磁盘包含 E 和 F 分区。在将分区焦点设置给 C 或 D 分区之前,必须先将磁盘焦点设置给磁盘 1。可以在任何时候将卷焦点设置给 C、D、E 或 F 分区。在本例中,如果将卷焦点设置给 C 或 D 分区,磁盘焦点不变;但是,如果将卷焦点设置给 E 或 F 分区,磁盘焦点就可能转移到其他磁盘。
  • 每个磁盘都是动态的,并且都包含简单卷和空闲空间。第一个磁盘包含 C 分区,第二个磁盘包含 E 分区。向第一个磁盘添加简单卷之前,必须先设置磁盘焦点。要扩展 C 分区,只需设置卷焦点即可。同样,要在 E 分区中添加镜像,只需将卷焦点设置给 E 分区。如果创建简单卷或在同一磁盘上扩展现有卷,不会更改磁盘焦点。如果添加镜像、创建带区集或者将现有卷扩展到不同的磁盘上,就可能会导致磁盘焦点丢失。

脚本撰写

Diskpart 支持使用脚本的操作。要启动 Diskpart 脚本,需使用“diskpart /s script.txt”命令。您可以在 Windows XP、Windows 2000、远程安装服务 (RIS) 无人参与安装环境上,或者在用于 OEM 的 Windows 预安装环境 (PE) 上撰写 Diskpart 脚本。

默认情况下,如果脚本中存在问题,Diskpart 可以退出命令处理并返回错误代码。要在这种情况下继续运行脚本,需在命令中包含 noerr 参数。此参数允许您使用单个脚本删除所有数据驱动器上的所有分区,而与驱动器的总数无关。不过,并非所有命令都支持 noerr 参数。即使使用 noerr 参数,也始终会返回关于命令语法错误的错误。

下面的列表描述了 Diskpart 的错误代码:

  • 0 - 未发生错误。整个脚本正常运行。
  • 1 - 发生致命例外。可能存在严重问题。
  • 2 - Diskpart 命令行上指定的参数不正确。
  • 3 - Diskpart 无法打开指定脚本或输出文件。
  • 4 - Diskpart 使用的服务之一返回错误。
  • 5 - 发生命令语法错误。由于选择对象不当或对象不适用于此命令而导致脚本失败。

运行 Diskpart 后,将显示 Diskpart 版本及当前计算机名称。

命令摘要

设置焦点的命令

select

使用 select 命令可将焦点设置给指定目标。要获取焦点类型列表,请将类型字段保留为空。如果未指定标识 (ID) 号,则显示当前处于焦点的对象。

select disk[=n]

使用 select disk 命令可将焦点设置给具有指定 Windows NT 磁盘号的磁盘。如果未指定磁盘号,该命令将显示当前处于焦点的磁盘。

select partition[=n/l]

使用 select partition 命令可将焦点设置给指定分区。如果未指定分区,则显示当前处于焦点的分区。

在基本磁盘上,您可以按索引、驱动器号或装入点指定分区。在动态磁盘上,只能按索引指定分区。

select volume[=n/l]

使用 select volume 命令可将焦点设置给指定卷。如果未指定卷,该命令将显示当前处于焦点的卷。

您可以按索引、驱动器号或装入点路径指定卷。在基本磁盘上,如果选择了卷,则相应分区也具有焦点。

显示磁盘配置的命令

使用 list 命令可显示摘要。要显示更多信息,请先设置焦点,然后使用 detail 命令。

detail disk

使用 detail disk 命令可获得有关当前处于焦点的磁盘的详细信息,例如:

Diskpart> select disk 3 
  
Disk 3 is now the selected disk. 
  
Diskpart> detail disk 
  
Maxtor 90432D2
Disk ID:F549D151
Type   :IDE
Bus    : 0
Target : 0
LUN ID : 0 
  
Volume ###  Ltr  Label        Fs     Type              Size     Status     Info 
----------  ---  -----------  -----  ----------------  -------  ---------  -------- 
Volume 0     F   My RAID Set  NTFS   RAID-5            4096 MB  Healthy 
Volume 1     G   FATSTRIPE    FAT32  Stripe            6144 MB  Healthy 
Volume 2     H   My Mirror    NTFS   Mirror            2048 MB  Healthy
Volume 3     I   My Span      NTFS   Spanned              9 GB  Healthy
				

detail partition

使用 detail partition 命令可获得有关当前处于焦点的分区的详细信息;

Diskpart> select disk 0

Disk 0 is now the selected disk.

Diskpart> select partition 1

Partition 1 is now the selected partition.

Diskpart> detail partition

Partition 0
Type  : 07
Hidden:No
Active:Yes

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
* Volume 2    C                 NTFS   Partition   4110 MB  Healthy    System
				

detail volume

使用 detail volume 命令可获得有关当前处于焦点的卷的详细信息,例如:

Diskpart> select volume 1 
  
Volume 1 is now the selected volume. 
  
Diskpart> detail volume 
  
  Disk ###  Status      Size     Free     Dyn  Gpt 
  --------  ----------  -------  -------  ---  --- 
  Disk 1    Online         8 GB      0 B   * 
  Disk 2    Online         8 GB      0 B   * 
  Disk 3    Online         8 GB      0 B   *
				

list disk

使用 list disk 命令可获得有关计算机中每个磁盘的摘要信息。带有星号 (*) 的磁盘具有当前焦点。此命令只列出固定磁盘(例如,集成设备电路 [IDE] 或小型计算机系统接口 [SCSI])或者可移动磁盘(例如,1394 或 USB)。不显示可移动驱动器。

Diskpart> select disk 3 
  
Disk 3 is now the selected disk. 
  
Diskpart> list disk 
  
  
  Disk ###  Status      Size     Free     Dyn  Gpt 
  --------  ----------  -------  -------  ---  ---
  Disk 0    Online      4118 MB      0 B
  Disk 1    Online         8 GB  4002 MB   * 
  Disk 2    Online         8 GB      0 B   * 
* Disk 3    Online         8 GB      0 B   * 
  Disk M0   Missing        8 GB      0 B   *
				

list partition

使用 list partition 命令可获得有关处于焦点的磁盘上每个分区的信息,例如:

Diskpart> select disk 4 
  
Disk 4 is now the selected disk. 
  
Diskpart> list partition 
  
  Partition ###  Type              Size     Offset 
  -------------  ----------------  -------  ------- 
  Partition 1    Primary           4094 MB    31 KB 
  Partition 2    Extended          4581 MB  4094 MB 
  Partition 3    Logical           2047 MB  4094 MB 
  Partition 4    Logical           2533 MB  6142 MB
 
 
All partitions (regardless of type) are displayed.
				

list volume

使用 list volume 命令可获得有关计算机中每个卷的信息,例如:

Diskpart> list volume 
  
  Volume ###  Ltr  Label        Fs     Type              Size     Status      Info    
  ----------  ---  -----------  -----  ----------------  -------  ----------  --------
  Volume 0     F   My RAID Set  NTFS   RAID-5            4096 MB  Healthy
  Volume 1     G   FATSTRIPE    FAT32  Stripe            6144 MB  Failed
  Volume 2     H   My Mirror    NTFS   Mirror            2048 MB  Healthy
  Volume 3     I   My Span      NTFS   Spanned              9 GB  Healthy
  Volume 4     D                CDFS   CD-ROM                0 B
  Volume 5     C                NTFS   Partition         2047 MB  Healthy     System
  Volume 6     E                NTFS   Partition         2063 MB  Healthy     Boot
  Volume 7     J   My Primary   NTFS   Partition         4095 MB  Healthy
  Volume 8     K   My Logical   NTFS   Partition         2047 MB  Healthy
  Volume 9     L   My Next Log  NTFS   Partition         2534 MB  Healthy
				

管理基本磁盘的命令

本节介绍可用于创建和删除分区,以及分配驱动器号和装入点的命令。本节中的命令仅适用于基本磁盘。有关适用于动态磁盘的命令,以及可用于将基本磁盘转换为动态磁盘的命令,请参考后面几节。

在所有 MBR 磁盘上,sizeoffset 参数都经过四舍五入以保持柱面对齐。在 GPT 磁盘上,sizeoffset 参数也经过四舍五入以保持扇区对齐。如果未指定 offset 参数,则将分区放在第一个足够大的未占用连续磁盘范围内。如果未列出 size 参数,则分区可以扩展至占用确定的磁盘范围,最多可占用整个磁盘大小。

新磁盘首次被发现后,即被假定为 MBR 磁盘。在试图创建 GPT 分区之前,必须显式地将磁盘转换为 GPT。建议您将 MSR 创建为每个数据磁盘上的第一个分区以及任何系统或启动盘上的第二个分区(在 ESP 之后)。从 MBR 转换为 GPT 后,MSR 分区将在磁盘上自动创建。

创建任何新的分区后,最近创建的分区会得到分区焦点。删除任何分区后,分区焦点也会丢失。磁盘焦点在任何情况下都保持不变。

active

使用 active 命令可将当前处于焦点的分区设置为“活动的”。此设置通知固件此分区是有效系统分区。Diskpart 不验证分区内容。

注意:如果使用此命令,可能无法重新启动计算机。

assign [[letter=l]/[mount=path]] [noerr]

使用 assign 命令可为当前处于焦点的分区分配驱动器号或装入点。如果未指定驱动器号,则分配下一个可用驱动器号。如果此驱动器号或装入点已在使用,则除非使用 noerr 参数,否则会产生一个错误。

您可以使用此命令更改与可移动驱动器关联的驱动器号。

禁止为系统、启动或分页卷分配驱动器号。除了 Msdata 分区之外,此命令不能用于向 OEM 分区或任何 GPT 分区分配驱动器号。

create partition primary [size=n] [offset=n] [id=byte/guid] [noerr]

使用 create partition primary 命令可在当前驱动器上以一定长度大小和起始地址偏移量创建一个主分区。

如果在 MBR 磁盘上未指定 ID 字节,此命令将使用类型“0x6”创建分区。可以使用 ID 参数指定分区类型。不对 ID 字节进行有效性校验或其他校验。

如果未在 GPT 磁盘上指定 ID GUID,此命令将创建 Msdata 分区。可以使用 ID 参数指定任何 GUID。不对 GUID 进行有效性、重复性或其他校验。分区示例 GUID 将会被自动生成。

由于创建的是 MBR 和 GPT 分区,因此 Windows 不自动分配驱动器号。您必须显式分配驱动器号。

create partition extended [size=n] [offset=n] [noerr]

使用 create partition extended 命令可在当前驱动器上以一定长度大小和起始地址偏移量创建一个扩展分区。驱动器必须是 MBR 磁盘。

创建分区后,新的扩展分区会得到焦点。只能创建一个扩展分区。只能在创建扩展分区后才能创建逻辑驱动器。

create partition logical [size=n] [offset=n] [noerr]

使用 create partition logical 命令可在当前磁盘的现有扩展分区中以一定长度大小和起始地址偏移量创建一个逻辑驱动器。驱动器必须是 MBR 磁盘。

如果未列出偏移量,则逻辑驱动器将被放在第一个足够大的扩展分区中的未占用连续磁盘范围。如果未列出大小,分区可能扩展至占用整个扩展分区。

创建分区后,逻辑驱动器会得到分区焦点。

create partition msr [size=n] [offset=n] [noerr]

create partition msr 命令相当于使用 MSR GUID E3C9E316-0B5C-4DB8-817D-F92DF00215AE 创建分区。

create partition esp [size=n] [offset=n] [noerr]

create partition esp 命令相当于使用 ESP GUID C12A7328-F81F-11D2-BA4B-00A0C93EC93B 创建分区。

delete partition [noerr] [override]

使用 delete partition 命令可删除当前处于焦点的分区。

Diskpart 禁止删除当前系统、启动或分页卷。要删除 ESP、MSR 或已知 OEM 分区,必须指定 override 参数。

extend [size=n][noerr]

使用 extend 命令可导致当前处于焦点的卷扩展到未分配的连续空间。未分配空间必须在处于焦点的分区之后(前者的扇区偏移量必须大于后者)。此命令用来将现有基本数据分区增大到可扩展硬件 RAID 逻辑单元号 (LUN) 上最近创建的空间。

如果以前曾经使用 NTFS 文件系统对分区进行格式化,则文件系统将自动扩展,以占用更大的分区,并且不会发生数据丢失。如果以前曾经使用 NTFS 以外的任何文件系统格式对分区进行格式化,此命令将失败且不会更改分区。

Diskpart 只禁止当前系统或启动分区进行扩展。

remove [[letter=l]/[mount=path]/[all]] [noerr]

使用 remove 命令可删除当前处于焦点的分区的驱动器号或装入点。如果指定 all 参数,则删除所有当前驱动器号和装入点。如果未指定驱动器号或装入点,则删除驱动器号。

使用此命令可更改与可移动驱动器关联的驱动器号。

禁止删除系统、启动或分页卷的驱动器号。不能使用此命令将驱动器号转移到 OEM 分区、任何具有未识别 GUID 的 GPT 分区或者任何特殊的非数据 GPT 分区(如 ESP 分区)。

管理动态磁盘的命令

您可以使用本节中介绍的命令创建和删除卷、修复容错卷以及导入磁盘。

size 参数始终要四舍五入,以保持 MB 对齐。不能指定显式偏移量。此卷始终放在第一个足够大的未占用连续磁盘范围内。如果未列出大小,则创建尽可能大的卷。

创建卷后,卷焦点将置于最近创建的卷上。如果卷跨越多个磁盘,当前磁盘焦点将丢失。如果删除卷,卷焦点将丢失。如果删除卷之前已经存在一个有效的磁盘焦点,此磁盘焦点将保留。

注意:当任何空磁盘转换为动态或 GPT 磁盘时,Diskpart 在转换后的磁盘上强制创建一个 MSR 分区。

active

使用 active 命令可将当前处于焦点的卷设置为“活动的”。此设置通知固件此分区是有效系统分区。Diskpart 只验证此卷是否可以包含操作系统可启动映像,而不验证分区内容。如果使用此命令,计算机可能无法重新启动。

add disk=n [noerr]

使用 add 命令可向指定磁盘上的当前处于焦点的卷添加镜像。仅支持两个镜像丛。当前处于焦点的卷必须是简单卷。

assign [[letter=l]/[mount=path]] [noerr]

使用 assign 命令可为当前处于焦点的卷分配驱动器号或装入点。如果未指定驱动器号,则分配下一个可用驱动器号。如果此驱动器号或装入点已在使用,则除非指定 noerr 参数,否则将产生一个错误。

禁止为系统、启动或分页卷分配驱动器号。

break disk=n [nokeep] [noerr]

使用 break 命令可断开当前处于焦点的镜像。

默认情况下,两个镜像丛的内容都将保留,原因在于这两个丛都变成了简单卷。如果指定 nokeep 参数,则只保留指定丛,另一个丛将被删除并转换为空闲空间。

原始卷保留所有驱动器号或装入点。如果未保留丛,则焦点仍然保留在指定磁盘上保留的简单卷上。否则,焦点将更改到指定磁盘上指定的保留丛上。此丛变成简单卷;但是,不为新卷分配驱动器号。

create volume simple [size=n] [disk=n] [noerr]

使用 create volume simple 命令可在指定磁盘上以一定长度大小创建一个简单卷。

如果未指定大小,新的卷可以占用磁盘上剩余的连续空闲空间。如果未指定磁盘,则使用当前处于焦点的磁盘。

创建了卷之后,磁盘焦点就被设置给目标磁盘。

create volume stripe [size=n] disk=n[,n[,...]][noerr]

使用 create volume stripe 命令可在指定磁盘上创建带区集卷。带区卷的总大小为每一磁盘上的带区卷大小与磁盘数目相乘 (*) 之积。

如果未指定大小,则创建尽可能大的带区卷。具有最小连续可用空闲空间的磁盘是确定的。此空闲空间的大小决定带区卷的大小。每个磁盘上所分配的带区卷的大小均相同。

create volume raid [size=n] disk=n[,n[,...]][noerr]

使用 create volume raid 命令可在指定磁盘上创建 Raid-5 集卷。每一个磁盘上均分配相当于“Raid-5 卷大小”的空间量。

如果未指定大小,则创建尽可能大的 Raid 5 卷。具有最小连续可用空闲空间的磁盘是确定的。此空闲空间的大小决定 Raid 5 卷的大小,并且从每个磁盘分配的 Raid 5 卷的大小均相同。实际使用的卷大小小于每一磁盘上的 Raid-5 卷大小与磁盘数目相乘之积,因为有些空间用于奇偶校验。

delete disk [noerr][override]

使用 delete disk 命令可从磁盘列表中删除缺失的动态磁盘。

如果未指定 override 参数,将删除磁盘上包含的所有简单卷,并删除所有镜像丛。如果磁盘用于 Raid 5 卷,此命令将失败。

delete partition [noerr] [override]

使用 delete partition 命令可删除当前处于焦点的分区。

Diskpart 禁止删除用于包含现有在线动态卷的任何分区。但这些卷必须被删除,且磁盘必须转换为基本磁盘。要删除 ESP、MSR 或已知 OEM 分区,需指定 override 参数。

可以从动态磁盘上删除分区,但是不能创建这些分区。例如,可以删除动态 GPT 磁盘上未识别的 GPT 分区。如果删除分区,空闲空间将不可用。在无法使用 clean 命令的紧急情况下,可以使用此命令回收损坏的离线动态磁盘上的空间。

delete volume [noerr]

使用 delete volume 命令可删除当前处于焦点的卷。使用此命令后,将丢失所有数据。

extend disk=n [size=n] [noerr]

使用 extend 命令可将当前简单卷或扩展卷扩展到指定磁盘上。extend 命令仅适用于 NTFS 卷。

如果未指定大小,此卷可占用指定磁盘上的所有空闲空间。任何现有磁盘焦点都将丢失。

import [noerr]

使用 import 命令可导入外部磁盘组中的所有磁盘。

如果在外部磁盘组中的任何磁盘上都设置了焦点,就可以导入该组中的所有磁盘。运行此命令后,任何现有卷或磁盘焦点都将丢失。

online [noerr]

使用 online 命令可使以前离线的磁盘或卷重新在线。如果使用此命令,焦点不会发生更改。

remove [[letter=l]/[mount=path]/[all]] [noerr]

使用 remove 命令可删除当前处于焦点的卷的驱动器号或装入点。如果使用 all 参数,将删除所有当前驱动器号和装入点。如果未指定驱动器号或装入点,则删除遇到的第一个路径。

禁止删除系统、启动或分页卷的驱动器号。

retain

使用 retain 命令可准备将动态简单卷用作启动或系统卷。

如果在基于 x86 的计算机上使用 retain 命令,将在动态简单卷上创建一个具有焦点的 MBR 分区。要创建一个 MBR 分区,动态简单卷必须始自一个柱面对齐的偏移量处,而且其大小必须是柱面大小的整数倍。

如果在基于 Itanium 的计算机上使用 retain 命令,retain 命令将在动态简单卷上创建具有焦点的 GPT 分区。

转换磁盘的命令

convert mbr [noerr]

使用 convert mbr 命令可将当前磁盘的分区形式设置为 MBR。磁盘可以是基本磁盘或动态磁盘,但是切勿包含任何有效数据分区或卷。

convert gpt [noerr]

使用 convert gpt 命令可将当前磁盘的分区形式设置为 GPT。磁盘可以是基本磁盘或动态磁盘,但是切勿包含任何有效数据分区或卷。此命令只在基于 Itanium 的计算机上才有效,在基于 x-86 的计算机上可能会失败。

convert dynamic [noerr]

使用 convert dynamic 命令可将基本磁盘改为动态磁盘。磁盘可以包含有效数据分区。

convert basic [noerr]

使用 convert basic 命令可将空的动态磁盘转换为基本磁盘。

其他命令s

exit

使用 exit 命令可停止 Diskpart 并将控制权返回给操作系统。

clean [all]

使用 clean 命令可通过将扇区清零,从当前处于焦点的磁盘删除分区或将卷格式化。默认情况下,仅改写 MBR 或 GPT 分区信息及任何有关 MBR 磁盘的隐藏扇区信息。如果指定 all 参数,可将每个扇区都清零,同时可删除驱动器上包含的所有数据。

rem [...]

rem 命令不执行任何操作,但您可以使用此命令注释脚本文件。

rescan

使用 rescan 命令可重新扫描所有 I/O 总线并可因此发现添加到计算机上的任何新磁盘。

帮助命令s

help

使用 help 命令可显示所有命令列表。

如何配置UEFI/GPT-基于硬盘分区

磁盘分区规则
当您将 Windows ® 部署到UEFI-基于计算机,您必须设置格式硬磁盘驱动器或其他持久性存储设备,包括 Windows 分区使用 GUID 分区表 (GPT) 文件系统。 额外的驱动器可能使用GPT或主启动记录 (MBR) 文件格式。

GPT-基于的驱动器可能包括下列分区:

        系统分区

        每个可引导驱动器必须包含一个系统分区。 在可扩展固件接口 (EFI) 和UEFI系统上,这也称为是 EFI 系统分区或在 ESP。 计算机启动时,此分区。

        先进的格式生成一个 (4-KB-每个扇区) 驱动器,此分区的最小大小为 260 MB。 对于较早的每个扇区 512 字节驱动器,此分区的最小大小为 100 MB。

        Microsoft ® 保留分区 (MSR)

        我们建议您将 MSR 添加到每个驱动器的磁盘管理。 MSR 是一个保留的分区,不会收到一个分区 id。 它不能存储用户数据。

        MSR 的大小为 128 MB。

        多达 128 个主分区

        您可以使用主分区存储文件和实用程序。

        每个可引导驱动器必须包含操作系统如 Windows。

        每个分区可以有 18 eb (~18.8 万 tb) 的空间最多。

 

分区配置
本部分介绍了默认分区配置和建议的分区配置。

默认配置: Windows RE工具、 系统、 MSR,和 Windows 分区
默认配置包含 Windows 恢复环境 (Windows RE) 工具分区、 系统分区、 MSR 和 Windows 的分区。 下面的关系图显示了此配置。

点击查看原图

通过使用此配置,您可以添加自定义 Windows 安装的系统工具如 Windows ® BitLocker ® 驱动器加密和 Windows RE。

建议配置: Windows RE工具、 系统、 MSR、 窗口和恢复镜像分区
建议的配置包括 Windows RE 工具分区,系统分区、 MSR、 Windows 的分区和恢复镜像分区。 下面的关系图显示了此配置。

点击查看原图 

 
添加 Windows 分区之前添加Windows RE工具分区和系统分区。 添加包含结束时恢复镜像的分区。 此分区顺序有助于保持系统和Windows RE工具分区安全期间操作,如删除恢复镜像分区或更改 Windows 分区的大小。

系统和实用程序分区
默认情况下,系统分区不会出现在 Windows 资源管理器中。 这有助于保护最终用户免受意外修改分区。

您可以帮助保护最终用户免受意外修改其他分区相同的方式,通过识别它们作为实用程序分区。

要设置为实用程序分区的分区
        当您正在部署 Windows 使用Windows Setup时,请使用应答文件来配置您的分区。 实用程序分区中,请将微软-Windows-Setup\DiskConfiguration\Disk\ModifyPartition\TypeID 值设置为de94bba4-06d1-4d40-a16a-bfd50179d6ac。

        当您正在部署 Windows 使用DiskPart工具时,使用集的 id = de94bba4-06d14d40-a16a-bfd50179d6ac命令后您创建分区。

要验证系统和实用程序分区存在
        1.单击开始,右键单击计算机,然后单击管理。 打开计算机管理窗口。

        2.单击磁盘管理。 将显示可用的磁盘和分区的列表。

        3.在磁盘和分区列表中,请确认系统和实用程序分区存在和未分配驱动器号。