Diskpart 命令行实用工具介绍{转自microsoft}
Diskpart 命令行实用工具介绍
文章编号 | : | 300415 |
最后修改 | : | 2007年12月1日 |
修订 | : | 1.4 |
概要
更多信息
与磁盘管理的比较
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 命令为对象设置焦点。除了 list、help、rem、exit 或 help 命令之外,其他所有命令都需要有焦点。
使用 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 磁盘上,size 或 offset 参数都经过四舍五入以保持柱面对齐。在 GPT 磁盘上,size 和 offset 参数也经过四舍五入以保持扇区对齐。如果未指定 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] ...
版权声明:
作者:xiaoniba
链接:https://blog.xiaoniba.com/2008/03/02/diskpart-%e5%91%bd%e4%bb%a4%e8%a1%8c%e5%ae%9e%e7%94%a8%e5%b7%a5%e5%85%b7%e4%bb%8b%e7%bb%8d%e8%bd%ac%e8%87%aamicrosoft/
来源:小泥吧的博客
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论