2023年11月25日发(作者:)

DiskPart使⽤⽅法(ZT

是⼀种⽂本模式命令解释程序,它使您能够通过使⽤脚本或从命令提⽰符直接输⼊来管理对象(磁盘、分区或卷)。在磁

盘、分区或卷上使⽤ 命令之前,必须⾸先列出然后选中要给予其焦点的对象。当某个对象具有焦点时,键⼊的任何

命令都会作⽤到该对象。

利⽤ list disklist volume list partition 命令,可以列出可⽤对象并确定对象编号或驱动器号。list disk list volume 命令显⽰计算机上的

所有磁盘和卷。⽽ list partition 命令只显⽰具有焦点的磁盘上的分区。使⽤ list 命令时,具有焦点的对象旁边出现⼀个星号 (*)。可以按编号

或按驱动器号选择对象,例如,磁盘 0、分区 1、卷 3 或卷 C

选择对象时,焦点⼀直保留在那个对象上,直到选中不同的对象。例如,如果在磁盘 0 上设置了焦点,并且选择磁盘 2 上的卷 8,焦点就从

磁盘 0 转移到磁盘 2 上的卷 8。有些命令会⾃动更改焦点。例如,如果创建了新分区,焦点就⾃动转移到新分区上。

只能在选定磁盘上的分区上设置焦点。某个分区具有焦点时,相关的卷(如果有的话)也具有焦点。某个卷具有焦点时,如果该卷映射到某

个特定分区,则相关的磁盘和分区也具有了焦点。如果不是这样,则说明磁盘和卷上的焦点丢失。

DiskPart 命令

若要查看该命令语法,请单击以下命令:

active

在基本盘上,将具有焦点的分区标为 active。这样就通知基本输⼊/输出系统 (BIOS) 或可扩展固件接⼝ (EFI),该分区或卷是有效的系统分区

或系统卷。

只有分区才可以标为 active

要点

DiskPart 只验证分区有⾜够空间来包含操作系统的启动⽂件。DiskPart 不检查分区的内容。如果误将某个分区标为 “active”,并且该分

区不包含操作系统的启动⽂件,则您的计算机可能⽆法启动。

语法

active

add disk

将具有焦点的简单卷镜像到指定磁盘。

语法

add disk=n [noerr]

参数

n

指定要包含此镜像的磁盘。只可以镜像简单卷。指定磁盘必须⾄少有与要镜像的简单卷同样⼤⼩的未分配空间。

noerr

仅⽤于脚本。当发⽣错误时,指定 DiskPart 继续处理命令,就象错误没有发⽣⼀样。没有 noerr 参数,错误将导致 DiskPart 以错误代

码退出。

assign

给具有焦点的卷分配⼀个驱动器号或装载点。如果不指定驱动器号或装载点,则分配下⼀个可⽤驱动器号。如果驱动器号或装载点已经在

⽤,则会产⽣⼀个错误。

使⽤ assign 命令,可以更改与某个可移动驱动器关联的驱动器号。

不可以向系统卷、启动卷或包含页⾯⽂件的卷分配驱动器号。此外,还不可以向原始设备制造商 (OEM) 分区或任何⾮基本 MSDATA 分区的

GUID 分区表 (GPT) 分区分配驱动器号。

语法

assign [{letter=d|mount=Path}] [noerr]

参数

letter=d

要分配到该卷的驱动器号。

mount=Path

要分配到该卷的装载点。

noerr

仅⽤于脚本。当发⽣错误时,指定 DiskPart 继续处理命令,就象错误没有发⽣⼀样。没有 noerr 参数,错误将导致 DiskPart 以错误代

码退出。

break disk

仅适⽤于动态盘。将具有焦点的镜像卷分为两个简单卷。⼀个简单卷保留驱动器号和镜像卷的所有装载点,⽽另⼀个简单卷则接收焦点,这

样就可以向其分配⼀个驱动器号。

默认情况下,保留镜像卷的两个部分上的内容。每个部分成为⼀个简单卷。利⽤ nokeep 参数,只能将镜像的⼀半保留为简单卷,⽽将另⼀

半被删除并转换为可⽤空间。两卷都不接收焦点。

语法

break disk=n [nokeep] [noerr]

参数

n

指定包含镜像卷的磁盘。

nokeep

指定只保留其中⼀个镜像卷,⽽删除另⼀个简单卷并将其转换为可⽤空间。⽆论是保留的卷还是可⽤空间都不接收焦点。

noerr

仅⽤于脚本。当发⽣错误时,指定 DiskPart 继续处理命令,就象错误没有发⽣⼀样。没有 noerr 参数,错误将导致 DiskPart 以错误代

码退出。

clean

从具有焦点的磁盘删除任何分区或卷格式。在主启动记录 (MBR) 磁盘上,只覆盖 MBR 分区信息和隐藏扇区信息。在 GUID 分区表 (GPT)

磁盘上,覆盖 GPT 分区信息,其中包括 保护性 MBR。不存在隐藏扇区信息。

语法

set all

参数

noerr

仅⽤于脚本。当发⽣错误时,指定 DiskPart 继续处理命令,就象错误没有发⽣⼀样。没有 noerr 参数,错误将导致 DiskPart 以错误代

码退出。

convert gpt

在基于 Itanium 的计算机上,将具有主启动记录 (MBR) 分区样式的空⽩基本盘转换为具有 GUID分区表 (GPT) 分区样式的基本盘。

要点

磁盘必须为空盘,以便将其转换为 GPT 磁盘。在转化磁盘之前备份您的数据并删掉所有分区或卷。

语法

convert gpt [noerr]

参数

noerr

仅⽤于脚本。当发⽣错误时,指定 DiskPart 继续处理命令,就象错误没有发⽣⼀样。没有 noerr 参数,错误将导致 DiskPart 以错误代

码退出。

convert mbr

在基于 Itanium 的计算机上,将具有 GUID 分区表 (GPT) 分区样式的空⽩基本盘转换为具有主启动记录 (MBR) 分区样式的基本盘。

要点

磁盘必须为空盘,以便将其转换为 MBR 磁盘。在转化磁盘之前备份您的数据并删掉所有分区或卷。

语法

convert mbr [noerr]

参数

noerr

仅⽤于脚本。当发⽣错误时,指定 DiskPart 继续处理命令,就象错误没有发⽣⼀样。没有 noerr 参数,错误将导致 DiskPart 以错误代

码退出。

create partition efi

在基于 Itanium 的计算机上,在 GUID 分区表 (GPT) 磁盘上创建可扩展固件接⼝ (EFI) 系统分区。创建分区之后,焦点就转移到新建分区

上。

语法

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

参数

size=n

分区的⼤⼩ (MB)。如果不给出分区⼤⼩,那么分区将会持续到当前区域中没有闲置空间为⽌。

offset=n

创建分区的字节偏移量。如果没有给出偏移量,那么该分区就被置于空间⾜够⼤⽽能容纳该分区的第⼀个磁盘范围内。

noerr

仅⽤于脚本。当发⽣错误时,指定 DiskPart 继续处理命令,就象错误没有发⽣⼀样。没有 noerr 参数,错误将导致 DiskPart 以错误代

码退出。

create partition extended

在当前驱动器上创建扩展分区。创建分区之后,焦点就⾃动转移到新建分区上。每个磁盘上只能创建⼀个扩展分区。如果试图在另⼀个扩展

分区内创建扩展分区,此命令会失败。必须在创建逻辑驱动器之前创建扩展分区。

语法

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

参数

size=n

扩展分区的⼤⼩ (MB)。如果不给出分区⼤⼩,那么分区将会持续到区域中没有可⽤空间为⽌。扩展分区⼤⼩是按柱⾯对齐的。它会⾃

动舍⼊到最近的柱⾯边界。例如,如果您指定⼀个⼤⼩为 500 MB 的分区,分区将会⾃动舍⼊为504 MB

offset=n

仅应⽤于 主启动记录(MBR)磁盘。创建扩展分区的字节偏移量。如果没有给出偏移量,分区将会在磁盘第⼀个空闲位置开始。偏移

量是按柱⾯对齐的。偏移量会⾃动舍⼊到最近的柱⾯边界。例如,如果定义偏移量为 27 MB 柱⾯为 8 MB,偏移量被舍⼊为 24

MB

noerr

仅⽤于脚本。当发⽣错误时,指定 DiskPart 继续处理命令,就象错误没有发⽣⼀样。没有 noerr 参数,错误将导致 DiskPart 以错误代

码退出。

create partition logical

在扩展分区中创建逻辑驱动器。创建分区之后,焦点⾃动转移到新建逻辑驱动器上。

语法

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

参数

size=n

逻辑驱动器的⼤⼩ (MB)。如果不给出分区⼤⼩,那么分区将会持续到当前区域中没有闲置空间为⽌。

offset=n

仅应⽤于 主启动记录(MBR)磁盘。创建逻辑驱动器的字节偏移量。偏移量是按柱⾯对齐的(也就是说,偏移量会⾃动舍⼊,以完全

填充正在使⽤的柱⾯⼤⼩)。如果没有给出偏移量,那么该分区就被置于空间⾜够⼤⽽能容纳该分区的第⼀扩展磁盘中。分区长度⾄

少要和由 size= n 指定的字节数⼀样。如果要指定逻辑驱动器的⼤⼩,它必须⼩于扩展分区。

noerr

仅⽤于脚本。当发⽣错误时,指定 DiskPart 继续处理命令,就象错误没有发⽣⼀样。没有 noerr 参数,错误将导致 DiskPart 以错误代

码退出。

create partition msr

在基于 Itanium 的计算机上,在GUID 分区表 (GPT) 磁盘上创建 Microsoft 保留 (MSR) 分区。

⼩⼼

要⼩⼼使⽤ create partition msr 命令。因为 GPT 磁盘要求特定分区布局,创建 Microsoft 保留分区会导致磁盘不可读取。在⽤来启动

Windows XP 64-Bit Edition GPT 磁盘上,EFI 系统分区是磁盘上的第⼀个分区,其后是 Microsoft 保留分区。只⽤于存储数据的

GPT 磁盘不包含 EFI 系统分区,因此 Microsoft 保留分区是第⼀个分区。

Windows XP 64-Bit Edition 不装载 Microsoft 保留分区。不能在它们上⾯存储数据,也不能删除它们。

create volume simple

创建简单卷。创建新卷后,焦点⾃动转移到新卷上。

语法

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

参数

size=n

卷⼤⼩ (MB)。如果未指定卷⼤⼩,新建卷就占⽤磁盘上剩余的闲置空间。

disk=n

⽤来创建卷的动态盘。如果未指定磁盘,则使⽤当前磁盘。

noerr

仅⽤于脚本。当发⽣错误时,指定 DiskPart 继续处理命令,就象错误没有发⽣⼀样。没有 noerr 参数,错误将导致 DiskPart 以错误代

码退出。

create volume stripe

在指定磁盘上创建条纹卷。创建新卷后,焦点⾃动转移到新卷上。

语法

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

参数

size=n

磁盘空间⼤⼩以兆字节(MB)为单位,卷将占⽤每⼀个磁盘如果未指定⼤⼩,则新建卷将占⽤最⼩的磁盘上的剩余闲置空间,以及在

其后每个磁盘上占⽤同样⼤⼩的磁盘空间。

disk=n

⽤来创建卷的动态盘。size= n 的磁盘空间将分配给每⼀个磁盘。

noerr

仅⽤于脚本。当发⽣错误时,指定 DiskPart 继续处理命令,就象错误没有发⽣⼀样。没有 noerr 参数,错误将导致 DiskPart 以错误代

码退出。

delete disk

从磁盘列表删除遗失的动态盘。

语法

delete disk [noerr] [override]

参数

noerr

仅⽤于脚本。当发⽣错误时,指定 DiskPart 继续处理命令,就象错误没有发⽣⼀样。没有 noerr 参数,错误将导致 DiskPart 以错误代

码退出。

override

使 DiskPart 能够删除磁盘上所有简单卷。如果磁盘上包含半个镜像卷,则删除磁盘上的这半个镜像。如果磁盘是 RAID-5 卷的成员,

delete disk override 命令会失败。

delete partition

在每个基本盘上,删除带有焦点的分区。不能删除系统分区、启动分区或任何包含活动页⾯⽂件或故障转储(内存转储)的分区。

⼩⼼

删除⼀个动态盘上的分区会删除磁盘上的所有脱机动态卷,因⽽会破坏任何数据并会将磁盘转换为基本盘。要删除动态卷,请总是使

delete volume 命令。

可以从动态盘删除分区,但不可以创建分区。例如,可以删除动态 GPT 磁盘上的未识别的 GUID 分区表 (GPT) 分区。删除这样的分区不会

导致由此产⽣的闲置空间变为可⽤。此命令专门⽤来在⽆法使⽤ clean 命令时的紧急情况下回收遭到破坏的脱机动态盘空间。

语法

delete partition [noerr] [override]

参数

noerr

仅⽤于脚本。当发⽣错误时,指定 DiskPart 继续处理命令,就象错误没有发⽣⼀样。没有 noerr 参数,错误将导致 DiskPart 以错误代

码退出。

override

使 DiskPart 能够删除任何分区,⽽不管其类型是什么。通常情况下,DiskPart 只允许您删除已知数据分区。

delete volume

删除所选卷。不能删除系统卷、启动卷或任何包含活动页⾯⽂件或故障转储(内存转储)的卷。

语法

仅⽤于脚本。当发⽣错误时,指定 DiskPart 继续处理命令,就象错误没有发⽣⼀样。没有 noerr 参数,错误将导致 DiskPart 以错误代

码退出。

detail disk

显⽰所选磁盘及其上⾯的卷的属性。

语法

detail disk

detail volume

显⽰存放当前卷的磁盘。

语法

detail volume

exit

退出 DiskPart 命令解释程序。

语法

exit

extend

将带有焦点的卷扩展为最邻近的未分配空间。对于基本卷,未分配的空间必须在同⼀磁盘上,并且必须接着(扇区偏移量⼤于)带有焦点的

分区。动态简单卷或跨区卷可以在任何动态盘上扩展为空的空间。使⽤此命令,可以将现有卷扩展为新建空间。

如果分区以前通过 NTFS ⽂件系统格式化,该⽂件系统就⾃动扩展为占⽤更⼤分区。不会丢失任何数据。如果分区以前通过⾮ NTFS 的⽂

件系统格式进⾏格式化,此命令就会失败,并不对分区作任何更改。

不能扩展当前系统或启动分区。

语法

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

参数

size=n

添加到当前分区的空间⼤⼩ (MB)。如果不指定⼤⼩,磁盘就扩展为占⽤所有最邻近的未分配空间。

disk=n

⽤来扩展卷的动态盘。size= n 的磁盘空间将在磁盘上进⾏分配。如果未指定磁盘,则在当前磁盘上扩展卷。

noerr

noerr

仅⽤于脚本。当发⽣错误时,指定 DiskPart 继续处理命令,就象错误没有发⽣⼀样。没有 noerr 参数,错误将导致 DiskPart 以错误代

码退出。

list disk

显⽰磁盘列表以及有关磁盘信息的列表,例如⼤⼩、可⽤空间、磁盘是基本盘还是动态盘以及该磁盘是使⽤主启动记录 (MBR) 还是 GUID

分区表 (GPT) 分区样式。标有星号 (*) 的磁盘具有焦点。

语法

list disk

list partition

显⽰当前分区的分区表中列出的分区。在动态盘上,这些分区可能不与磁盘上的动态卷相对应。之所以会有这种偏差,是因为动态盘包含磁

盘上当前存在的系统卷或启动卷的分区表中的项⽬以及包含⼀个占⽤其余磁盘空间以供动态卷使⽤的分区。

语法

list partition

list volume

显⽰所有磁盘上的基本卷和动态卷列表。

语法

从带有焦点的卷删除驱动器号或装载点。如果使⽤了 all 参数,就会删除所有当前驱动器号和装载点。如果未指定驱动器号或装载点,则

DiskPart 将删除它遇到的第⼀个驱动器号或装载点。

remove 命令可⽤来更改与可移动驱动器关联的驱动器号。不能删除系统卷、启动卷或页⾯卷上的驱动器号。另外,不能删除如下分区的驱

动器号:OEM 分区、任何具有未识别的 GUID GPT 分区或任何特殊的、⾮数据的 GPT 分区(例如,EFI 系统分区)。

语法

remove [{letter=d|mount=Path [all]}] [noerr]

参数

letter=d

要删除的驱动器号。

mount=Path

要删除的装载点路径。

all

删除所有当前驱动器号和装载点。

noerr

仅⽤于脚本。当发⽣错误时,指定 DiskPart 继续处理命令,就象错误没有发⽣⼀样。没有 noerr 参数,错误将导致 DiskPart 以错误代

码退出。

rescan

查找已添加到计算机的新磁盘。

语法

rescan

retain

准备现有动态简单卷,以便⽤作启动卷或系统卷。

在基于 x86 的计算机上,在带有焦点的动态简单卷上的主启动记录 (MBR) 中创建分区项。要创建 MBR 分区,动态简单卷必须从按柱⾯对齐

的偏移量开始,并且其⼤⼩是柱⾯的整数。

在基于 Itanium 的计算机上,在带有焦点的动态简单卷上的 GUID 分区表 (GPT) 中创建分区项。

注意

retain 命令只在⽆⼈参与安装期间使⽤或者由原始设备制造商 (OEM) 使⽤。

语法

retain

select disk

选择指定磁盘,并将焦点转移到此磁盘。

语法

select disk=[n]

参数

n

要接收焦点的磁盘的磁盘编号。如果未指定磁盘编号,select 命令就列出当前具有焦点的磁盘。使⽤ list disk 命令,您可以查看计算机

上所有磁盘的编号。

select partition

选择指定分区并给予其焦点。如果未指定分区,select 命令就会列出具有焦点的当前分区。使⽤ list partition 命令,您可以查看当前磁盘上

所有分区的编号。

语法

select partition=[{n|d}]

参数

n

要接收焦点的分区的编号。

d

要接收焦点的分区的驱动器号或装载点路径。

select volume

选择指定卷并将焦点转移到该卷。如果未指定卷,select 命令就会列出具有焦点的当前卷。您可以按编号、驱动器号或装载点路径指定卷。

在基本盘上,选择卷同时会给予相应分区焦点。使⽤ list volume 命令,您可以查看计算机上所有卷的编号。

语法

select volume=[{n|d}]

参数

n

要接收焦点的卷的编号。

d

要接收焦点的卷的驱动器号或装载点路径。

DiskPart 脚本

利⽤ DiskPart,您可以创建⾃动执⾏与磁盘相关的任务(例如,创建卷或将磁盘转换为动态盘)的脚本。如果是使⽤⽆⼈参与安装

Sysprep (它们不⽀持创建⾮启动卷的卷)部署 Windows,则创建这些任务的脚本⾮常有⽤。

要启动 DiskPart 脚本,请在命令提⽰符下键⼊:

DiskPart /S

其中, 是包含脚本的⽂本⽂件的名称。

要重新定向 DiskPart 对某个⽂件的脚本输出,请键⼊:

DiskPart /S >

其中, DiskPart 写⼊其输出的⽂本⽂件的名称。

DiskPart 启动时,DiskPart 版本和计算机名称显⽰在命令提⽰符下。默认情况下,如果 DiskPart 在尝试执⾏脚本任务时发⽣错

误,DiskPart 就会停⽌处理脚本并显⽰⼀个错误代码(除⾮指定了 noerr 参数)。但是,DiskPart 在遇到语法错误时总是返回错误,⽽不管

是否使⽤了 noerr 参数。noerr 参数使您能够执⾏许多有⽤的任务,例如,使⽤单个脚本删除所有磁盘上所有分区,⽽不管磁盘数量的多

少。

下表列出 DiskPart 错误代码:

错误说明

0没有出现错误。运⾏整个脚本,没有失败。

1发⽣致命的异常事件。可能出现严重问题。

2 DiskPart 命令指定的参数不正确。

3DiskPart ⽆法打开指定的脚本或输出⽂件。

4DiskPart 使⽤的其中⼀项任务返回失败。

5出现命令语法错误。脚本失败,这是因为对象选择不正确,或与此命令⼀起使⽤时⽆效。