Diskpart 命令行实用工具介绍

文章编号 : 300415
最后修改 : 2007年12月1日
修订 : 1.4

概要

本文介绍 Diskpart 实用工具。您可以使用此实用工具从脚本、远程会话或其他命令提示符处启用存储配置。Diskpart 增强了磁盘管理器图形用户界面 (GUI)。

小泥巴的博客回到顶端

更多信息

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 命令可获得有关当前处于焦点的磁盘的详细信息,例如:

发表评论

电子邮件地址不会被公开。 必填项已用*标注