DiskPart.exe 是一种文本模式命令解释程序,它使您能够通过使用脚本或从命令提示符直接输入来管理对象(磁盘、分区或卷)。在磁盘、分区或卷上使用 DiskPart.exe 命令之前,必须首先列出然后选中要给予其焦点的对象。当某个对象具有焦点时,键入的任何 DiskPart.exe 命令都会作用到该对象。
利用 list disk、list volume 和 list partition 命令,可以列出可用对象并确定对象编号或驱动器号。list disk 和 list volume 命令显示计算机上的所有磁盘和卷。而 list partition 命令只显示具有焦点的磁盘上的分区。使用 list 命令时,具有焦点的对象旁边出现一个星号 (*)。可以按编号或按驱动器号选择对象,例如,磁盘 0、分区 1、卷 3 或卷 C。
选择对象时,焦点一直保留在那个对象上,直到选中不同的对象。例如,如果在磁盘 0 上设置了焦点,并且选择磁盘 2 上的卷 8,焦点就从磁盘 0 转移到磁盘 2 上的卷 8。有些命令会自动更改焦点。例如,如果创建了新分区,焦点就自动转移到新分区上。
只能在选定磁盘上的分区上设置焦点。某个分区具有焦点时,相关的卷(如果有的话)也具有焦点。某个卷具有焦点时,如果该卷映射到某个特定分区,则相关的磁盘和分区也具有了焦点。如果不是这样,则说明磁盘和卷上的焦点丢失。
若要查看该命令语法,请单击以下命令:
active
在基本盘上,将具有焦点的分区标为 active。这样就通知基本输入/输出系统 (BIOS) 或可扩展固件接口 (EFI),该分区或卷是有效的系统分区或系统卷。
只有分区才可以标为 active。
要点
active
add disk
将具有焦点的简单卷镜像到指定磁盘。
assign
给具有焦点的卷分配一个驱动器号或装载点。如果不指定驱动器号或装载点,则分配下一个可用驱动器号。如果驱动器号或装载点已经在用,则会产生一个错误。
使用 assign 命令,可以更改与某个可移动驱动器关联的驱动器号。
不可以向系统卷、启动卷或包含页面文件的卷分配驱动器号。此外,还不可以向原始设备制造商 (OEM) 分区或任何非基本 MSDATA 分区的 GUID 分区表 (GPT) 分区分配驱动器号。
break disk
仅适用于动态盘。将具有焦点的镜像卷分为两个简单卷。一个简单卷保留驱动器号和镜像卷的所有装载点,而另一个简单卷则接收焦点,这样就可以向其分配一个驱动器号。
默认情况下,保留镜像卷的两个部分上的内容。每个部分成为一个简单卷。利用 nokeep 参数,只能将镜像的一半保留为简单卷,而将另一半被删除并转换为可用空间。两卷都不接收焦点。
clean
从具有焦点的磁盘删除任何分区或卷格式。在主启动记录 (MBR) 磁盘上,只覆盖 MBR 分区信息和隐藏扇区信息。在 GUID 分区表 (GPT) 磁盘上,覆盖 GPT 分区信息,其中包括 保护性 MBR。不存在隐藏扇区信息。
set all
convert basic
将空白动态盘转换为基本盘。
convert basic [noerr]
convert dynamic
将基本盘转换为动态盘。
convert dynamic [noerr]
convert gpt
在基于 Itanium 的计算机上,将具有主启动记录 (MBR) 分区样式的空白基本盘转换为具有 GUID分区表 (GPT) 分区样式的基本盘。
要点
convert gpt [noerr]
convert mbr
在基于 Itanium 的计算机上,将具有 GUID 分区表 (GPT) 分区样式的空白基本盘转换为具有主启动记录 (MBR) 分区样式的基本盘。
要点
convert mbr [noerr]
create partition efi
在基于 Itanium 的计算机上,在 GUID 分区表 (GPT) 磁盘上创建可扩展固件接口 (EFI) 系统分区。创建分区之后,焦点就转移到新建分区上。
create partition extended
在当前驱动器上创建扩展分区。创建分区之后,焦点就自动转移到新建分区上。每个磁盘上只能创建一个扩展分区。如果试图在另一个扩展分区内创建扩展分区,此命令会失败。必须在创建逻辑驱动器之前创建扩展分区。
create partition logical
在扩展分区中创建逻辑驱动器。创建分区之后,焦点自动转移到新建逻辑驱动器上。
create partition msr
在基于 Itanium 的计算机上,在GUID 分区表 (GPT) 磁盘上创建 Microsoft 保留 (MSR) 分区。
小心
create volume simple
创建简单卷。创建新卷后,焦点自动转移到新卷上。
create volume stripe
在指定磁盘上创建条纹卷。创建新卷后,焦点自动转移到新卷上。
delete disk
从磁盘列表删除遗失的动态盘。
delete disk [noerr] [override]
delete partition
在每个基本盘上,删除带有焦点的分区。不能删除系统分区、启动分区或任何包含活动页面文件或故障转储(内存转储)的分区。
小心
可以从动态盘删除分区,但不可以创建分区。例如,可以删除动态 GPT 磁盘上的未识别的 GUID 分区表 (GPT) 分区。删除这样的分区不会导致由此产生的闲置空间变为可用。此命令专门用来在无法使用 clean 命令时的紧急情况下回收遭到破坏的脱机动态盘空间。
delete partition [noerr] [override]
delete volume
删除所选卷。不能删除系统卷、启动卷或任何包含活动页面文件或故障转储(内存转储)的卷。
delete volume [noerr]
detail disk
显示所选磁盘及其上面的卷的属性。
detail disk
detail volume
显示存放当前卷的磁盘。
detail volume
exit
退出 DiskPart 命令解释程序。
exit
extend
将带有焦点的卷扩展为最邻近的未分配空间。对于基本卷,未分配的空间必须在同一磁盘上,并且必须接着(扇区偏移量大于)带有焦点的分区。动态简单卷或跨区卷可以在任何动态盘上扩展为空的空间。使用此命令,可以将现有卷扩展为新建空间。
如果分区以前通过 NTFS 文件系统格式化,该文件系统就自动扩展为占用更大分区。不会丢失任何数据。如果分区以前通过非 NTFS 的文件系统格式进行格式化,此命令就会失败,并不对分区作任何更改。
不能扩展当前系统或启动分区。
extend [size=n] [disk=n] [noerr]
help
显示可用命令的列表。
help
import
将外部磁盘组导入本地计算机的磁盘组。import 命令导入与带有焦点的磁盘同为一组的每个磁盘。
import [noerr]
list disk
显示磁盘列表以及有关磁盘信息的列表,例如大小、可用空间、磁盘是基本盘还是动态盘以及该磁盘是使用主启动记录 (MBR) 还是 GUID 分区表 (GPT) 分区样式。标有星号 (*) 的磁盘具有焦点。
list partition
显示当前分区的分区表中列出的分区。在动态盘上,这些分区可能不与磁盘上的动态卷相对应。之所以会有这种偏差,是因为动态盘包含磁盘上当前存在的系统卷或启动卷的分区表中的项目以及包含一个占用其余磁盘空间以供动态卷使用的分区。
list volume
显示所有磁盘上的基本卷和动态卷列表。
list volume
online
使脱机磁盘或带有焦点的卷处于联机状态。
online [noerr]
rem
提供一种向脚本添加注释的方法。
rem
rem These commands set up 3 drives.
create partition primary size=2048
assign d:
create partition extend
create partition logical size=2048
assign e:
create partition logical
assign f:
remove
从带有焦点的卷删除驱动器号或装载点。如果使用了 all 参数,就会删除所有当前驱动器号和装载点。如果未指定驱动器号或装载点,则 DiskPart 将删除它遇到的第一个驱动器号或装载点。
remove 命令可用来更改与可移动驱动器关联的驱动器号。不能删除系统卷、启动卷或页面卷上的驱动器号。另外,不能删除如下分区的驱动器号:OEM 分区、任何具有未识别的 GUID 的 GPT 分区或任何特殊的、非数据的 GPT 分区(例如,EFI 系统分区)。
rescan
查找已添加到计算机的新磁盘。
rescan
retain
准备现有动态简单卷,以便用作启动卷或系统卷。
在基于 x86 的计算机上,在带有焦点的动态简单卷上的主启动记录 (MBR) 中创建分区项。要创建 MBR 分区,动态简单卷必须从按柱面对齐的偏移量开始,并且其大小是柱面的整数。
在基于 Itanium 的计算机上,在带有焦点的动态简单卷上的 GUID 分区表 (GPT) 中创建分区项。
注意
retain
select disk
选择指定磁盘,并将焦点转移到此磁盘。
select partition
选择指定分区并给予其焦点。如果未指定分区,select 命令就会列出具有焦点的当前分区。使用 list partition 命令,您可以查看当前磁盘上所有分区的编号。
select volume
选择指定卷并将焦点转移到该卷。如果未指定卷,select 命令就会列出具有焦点的当前卷。您可以按编号、驱动器号或装载点路径指定卷。在基本盘上,选择卷同时会给予相应分区焦点。使用 list volume 命令,您可以查看计算机上所有卷的编号。
利用 DiskPart,您可以创建自动执行与磁盘相关的任务(例如,创建卷或将磁盘转换为动态盘)的脚本。如果是使用“无人参与安装”或 Sysprep (它们不支持创建非启动卷的卷)部署
要启动 DiskPart 脚本,请在命令提示符下键入:
DiskPart /S scriptname.txt
其中,scriptname.txt 是包含脚本的文本文件的名称。
要重新定向 DiskPart 对某个文件的脚本输出,请键入:
DiskPart /S scriptname.txt > logfile.txt
其中,logfile.txt 是 DiskPart 写入其输出的文本文件的名称。
当 DiskPart 启动时,DiskPart 版本和计算机名称显示在命令提示符下。默认情况下,如果 DiskPart 在尝试执行脚本任务时发生错误,DiskPart 就会停止处理脚本并显示一个错误代码(除非指定了 noerr 参数)。但是,DiskPart 在遇到语法错误时总是返回错误,而不管是否使用了 noerr 参数。noerr 参数使您能够执行许多有用的任务,例如,使用单个脚本删除所有磁盘上所有分区,而不管磁盘数量的多少。
下表列出 DiskPart 错误代码:
错误 | 说明 |
---|---|
0 | 没有出现错误。运行整个脚本,没有失败。 |
1 | 发生致命的异常事件。可能出现严重问题。 |
2 | 为 DiskPart 命令指定的参数不正确。 |
3 | DiskPart 无法打开指定的脚本或输出文件。 |
4 | DiskPart 使用的其中一项任务返回失败。 |
5 | 出现命令语法错误。脚本失败,这是因为对象选择不正确,或与此命令一起使用时无效。 |