Diskpart是一款磁盘分区
管理工具,包括创建分区、删除分区、合并(扩展)分区,完全可取代
分区魔术师等第三方工具软件。
程序介绍
在“运行”后输入“Cmd”打开
命令提示符窗口,再输入“Diskpart”即可启动它,此时屏上显示为“Diskpart>”,不像普通的命令提示符那样是一个分区或目录后跟一个“>”,而且普通的
DOS命令也无法在此运行,退出它只有输入“Exit”命令。从这三种迹象表明,它是一个集成的环境,只有特定的命令可在其下执行。输入“Help”命令,屏上会列出所有的可执行命令及各命令的简要说明。
Diskpart在Server 2003中的应用 在这里举出diskpart在
Windows Server系统上的一个简单应用,让大家参考命令并结合实例就能更容易理解和记忆,而且这个问题也是表现的比较突出,想必会有很多朋友在使用Server系统时连接好
移动硬盘后却在“
我的电脑”中找不到相应的硬盘盘符,但是到
磁盘管理里面却可以看到。这是因为Server系统没有
自动加载磁盘分区,这时我们可以在磁盘管理里面手动给移动硬盘分配上盘符,然后就可以在“我的电脑”里看到移动硬盘了。可是当我们下次换了一块硬盘接上去后,发现还是没有分配盘符。这时我们就可以使用diskpart命令来使用系统自动加载
移动硬盘分区了。打开“
命令提示符”窗口,输入diskpart后显示DISKPART>状态,我们再输入AutoMount Enable然后回车,重新启动计算机就算下次换了其他的移动硬盘也可以系统自动为它分配盘符了。
Diskpart还有分区魔术师无法实现的功能,如设置动态磁盘、
镜像卷等,而且设置分区后不用重启电脑也能生效。但是由于它运行于
命令提示符下,很多不熟悉DOS操作的朋友对它还不了解。
Diskpart常用到的命令有:
Active:将一个分区标为 Active,即激活该分区让它成为
系统盘。
Delete:删除分区。
Exit:退出Diskpart状态。
Help:显示帮助信息。
List:列出磁盘或分区。
Select:选择要操作的对象,如一个磁盘或分区等。
运行环境
Diskpart是Windows环境下的一个命令,正常运行该命令时需要
系统服务的支持,这几个服务是:
Logical Disk Manager Administrative Service(dmadmin)、Logical Disk Manager(dm
server)、
Plug and Play(PlugPlay)、Remote Procedure Call (
RPC) (RPCss)。而这四个服务的依存关系为:dmserver依赖于PlugPlay和RPCss,dmadmin/依赖于dmserver。
如果这四个服务没有运行,那么是不可以成功运行Diskpart的,所以在纯DOS下面是不能够运行这个命令的,但在
WINPE下是可以运行DISKPART的,很多
ODM厂商在安装操作系统时都采用WINPE环境,就是因为在WINPE下可方便的对硬盘进行操作(WINPE环境本身启动在内存中)
比较
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 命令可将焦点设置给指定目标。要获取焦点类型列表,请将类型字段保留为空。如果未指定标识 (ID) 号,则显示当前处于焦点的对象。
使用 select disk 命令可将焦点设置给具有指定
Windows NT 磁盘号的磁盘。如果未指定磁盘号,该命令将显示当前处于焦点的磁盘。
使用 select partition 命令可将焦点设置给指定分区。如果未指定分区,则显示当前处于焦点的分区。
在
基本磁盘上,您可以按索引、
驱动器号或装入点指定分区。在
动态磁盘上,只能按索引指定分区。
使用 select volume 命令可将焦点设置给指定卷。如果未指定卷,该命令将显示当前处于焦点的卷。
您可以按索引、驱动器号或装入点路径指定卷。在基本磁盘上,如果选择了卷,则相应分区也具有焦点。
显示命令
使用 list 命令可显示摘要。要显示更多信息,请先设置焦点,然后使用
detail 命令。
使用 detail disk 命令可获得有关当前处于焦点的磁盘的详细信息,例如:
detail partition
使用 detail partition 命令可获得有关当前处于焦点的分区的详细信息;
detail volume
使用 detail volume 命令可获得有关当前处于焦点的卷的详细信息,例如:
list disk
使用 list disk 命令可获得有关计算机中每个磁盘的摘要信息。带有星号 (*) 的磁盘具有当前焦点。此命令只列出固定磁盘(例如,
集成设备电路 [IDE] 或
小型计算机系统接口 [SCSI])或者
可移动磁盘(例如,1394 或
USB)。不显示
可移动驱动器。
list partition
使用 list partition 命令可获得有关处于焦点的磁盘上每个分区的信息,例如:
list volume
使用 list volume 命令可获得有关计算机中每个卷的信息,例如:
管理命令
可用于创建和删除分区,以及分配驱动器号和装入点的命令。命令仅适用于基本磁盘。
在所有MBR 磁盘上,size 或 offset 参数都经过四舍五入以保持
柱面对齐。在
GPT 磁盘上,size 和 offset 参数也经过四舍五入以保持
扇区对齐。如果未指定 offset 参数,则将分区放在第一个足够大的未占用连续磁盘范围内。如果未列出 size 参数,则分区可以扩展至占用确定的磁盘范围,最多可占用整个磁盘大小。
新磁盘首次被发现后,即被假定为 MBR 磁盘。在试图创建 GPT 分区之前,必须显式地将磁盘转换为 GPT。建议您将 MSR 创建为每个数据磁盘上的第一个分区以及任何系统或
启动盘上的第二个分区(在 ESP 之后)。从 MBR 转换为 GPT 后,MSR 分区将在磁盘上自动创建。创建任何新的分区后,最近创建的分区会得到分区焦点。删除任何分区后,分区焦点也会丢失。磁盘焦点在任何情况下都保持不变。
使用 active 命令可将当前处于焦点的分区设置为“活动的”。此设置通知固件此分区是有效
系统分区。Diskpart 不验证分区内容。
注意:如果使用此命令,可能无法重新启动计算机。
使用 assign 命令可为当前处于焦点的
分区分配驱动器号或装入点。如果未指定驱动器号,则分配下一个可用驱动器号。如果此驱动器号或装入点已在使用,则除非使用 noerr 参数,否则会产生一个错误。
您可以使用此命令更改与
可移动驱动器关联的驱动器号。
禁止为系统、启动或分页卷分配驱动器号。除了 Msdata 分区之外,此命令不能用于向 OEM 分区或任何 GPT 分区分配驱动器号。
使用 create partition primary 命令可在当前
驱动器上以一定长度大小和起始地址
偏移量创建一个
主分区。
如果在 MBR 磁盘上未指定 ID 字节,此命令将使用类型“0x6”创建分区。可以使用 ID 参数指定分区类型。不对 ID 字节进行有效性校验或其他校验。
如果未在 GPT 磁盘上指定 ID
GUID,此命令将创建 Msdata 分区。可以使用 ID 参数指定任何 GUID。不对 GUID 进行有效性、
重复性或其他校验。分区示例 GUID 将会被自动生成。
由于创建的是 MBR 和 GPT 分区,因此 Windows 不
自动分配驱动器号。您必须显式分配驱动器号。
使用 create partition extended 命令可在当前驱动器上以一定长度大小和起始地址
偏移量创建一个
扩展分区。
驱动器必须是 MBR 磁盘。
创建分区后,新的扩展分区会得到焦点。只能创建一个扩展分区。只能在创建扩展分区后才能创建逻辑驱动器。
使用 create partition logical 命令可在当前磁盘的现有扩展分区中以一定长度大小和起始地址偏移量创建一个逻辑驱动器。驱动器必须是 MBR 磁盘。
如果未列出偏移量,则逻辑驱动器将被放在第一个足够大的扩展分区中的未占用连续磁盘范围。如果未列出大小,分区可能扩展至占用整个
扩展分区。
创建分区后,逻辑驱动器会得到分区焦点。
create partition msr 命令相当于使用 MSR GUID E3C9E316-0B5C-4DB8-817D-F92DF00215AE 创建分区。
create partition esp 命令相当于使用 ESP GUID C12A7328-F81F-11D2-BA4B-00A0C93EC93B 创建分区。
使用 delete partition 命令可删除当前处于焦点的分区。
Diskpart 禁止删除当前系统、启动或分页卷。要删除 ESP、MSR 或已知 OEM 分区,必须指定
override 参数。
使用 extend 命令可导致当前处于焦点的卷扩展到未分配的
连续空间。
未分配空间必须在处于焦点的分区之后(前者的
扇区偏移量必须大于后者)。此命令用来将现有基本数据分区增大到可扩展硬件 RAID 逻辑单元号 (LUN) 上最近创建的空间。
如果以前曾经使用 NTFS
文件系统对分区进行格式化,则文件系统将自动扩展,以占用更大的分区,并且不会发生数据丢失。如果以前曾经使用 NTFS 以外的任何文件系统格式对分区进行格式化,此命令将失败且不会更改分区。
Diskpart 只禁止当前系统或
启动分区进行扩展。
使用 remove 命令可删除当前处于焦点的分区的
驱动器号或装入点。如果指定 all 参数,则删除所有当前驱动器号和装入点。如果未指定驱动器号或装入点,则删除驱动器号。
禁止删除系统、启动或分页卷的驱动器号。不能使用此命令将驱动器号转移到 OEM 分区、任何具有未识别 GUID 的 GPT 分区或者任何特殊的非数据 GPT 分区(如 ESP 分区)。
您可以使用本节中介绍的命令创建和删除卷、修复容错卷以及导入磁盘。
size 参数始终要
四舍五入,以保持 MB 对齐。不能指定显式偏移量。此卷始终放在第一个足够大的未占用连续磁盘范围内。如果未列出大小,则创建尽可能大的卷。
创建卷后,卷焦点将置于最近创建的卷上。如果卷跨越多个磁盘,当前磁盘焦点将丢失。如果删除卷,卷焦点将丢失。如果删除卷之前已经存在一个有效的磁盘焦点,此磁盘焦点将保留。
注意:当任何空磁盘转换为动态或 GPT 磁盘时,Diskpart 在转换后的磁盘上强制创建一个 MSR 分区。
使用 active 命令可将当前处于焦点的卷设置为“活动的”。此设置通知固件此分区是有效
系统分区。Diskpart 只验证此卷是否可以包含操作系统可启动映像,而不验证分区内容。如果使用此命令,计算机可能无法重新启动。
使用 add 命令可向指定磁盘上的当前处于焦点的卷添加
镜像。仅支持两个镜像丛。当前处于焦点的卷必须是
简单卷。
使用 assign 命令可为当前处于焦点的卷分配驱动器号或装入点。如果未指定驱动器号,则分配下一个可用驱动器号。如果此驱动器号或装入点已在使用,则除非指定 noerr 参数,否则将产生一个错误。
禁止为系统、启动或分页卷分配驱动器号。
默认情况下,两个镜像丛的内容都将保留,原因在于这两个丛都变成了
简单卷。如果指定 nokeep 参数,则只保留指定丛,另一个丛将被删除并转换为空闲空间。
原始卷保留所有驱动器号或装入点。如果未保留丛,则焦点仍然保留在指定磁盘上保留的简单卷上。否则,焦点将更改到指定磁盘上指定的保留丛上。此丛变成简单卷;但是,不为新卷分配驱动器号。
使用 create volume simple 命令可在指定磁盘上以一定长度大小创建一个
简单卷。
如果未指定大小,新的卷可以占用磁盘上剩余的连续空闲空间。如果未指定磁盘,则使用当前处于焦点的磁盘。
创建了卷之后,磁盘焦点就被设置给目标磁盘。
使用 create volume stripe 命令可在指定磁盘上创建带区集卷。
带区卷的总大小为每一磁盘上的带区卷大小与磁盘数目相乘 (*) 之积。
如果未指定大小,则创建尽可能大的带区卷。具有最小连续可用空闲空间的磁盘是确定的。此空闲空间的大小决定带区卷的大小。每个磁盘上所分配的带区卷的大小均相同。
使用 create volume raid 命令可在指定磁盘上创建 Raid-5 集卷。每一个磁盘上均分配相当于“Raid-5 卷大小”的空间量。
如果未指定大小,则创建尽可能大的 Raid 5 卷。具有最小连续可用空闲空间的磁盘是确定的。此空闲空间的大小决定 Raid 5 卷的大小,并且从每个磁盘分配的 Raid 5 卷的大小均相同。实际使用的卷大小小于每一磁盘上的 Raid-5 卷大小与磁盘数目相乘之积,因为有些空间用于
奇偶校验。
使用 delete disk 命令可从磁盘列表中删除缺失的动态磁盘。
如果未指定 override 参数,将删除磁盘上包含的所有
简单卷,并删除所有
镜像丛。如果磁盘用于 Raid 5 卷,此命令将失败。
使用 delete partition 命令可删除当前处于焦点的分区。
Diskpart 禁止删除用于包含现有在线
动态卷的任何分区。但这些卷必须被删除,且磁盘必须转换为
基本磁盘。要删除 ESP、MSR 或已知 OEM 分区,需指定 override 参数。
可以从
动态磁盘上删除分区,但是不能创建这些分区。例如,可以删除动态 GPT 磁盘上未识别的 GPT 分区。如果删除分区,空闲空间将不可用。在无法使用 clean 命令的紧急情况下,可以使用此命令回收损坏的离线动态磁盘上的空间。
使用 delete volume 命令可删除当前处于焦点的卷。使用此命令后,将丢失所有数据。
使用 extend 命令可将当前
简单卷或
扩展卷扩展到指定磁盘上。extend 命令仅适用于 NTFS 卷。
如果未指定大小,此卷可占用指定磁盘上的所有空闲空间。任何现有磁盘焦点都将丢失。
使用 import 命令可导入外部磁盘组中的所有磁盘。
如果在外部磁盘组中的任何磁盘上都设置了焦点,就可以导入该组中的所有磁盘。运行此命令后,任何现有卷或磁盘焦点都将丢失。
使用
online 命令可使以前离线的磁盘或卷重新在线。如果使用此命令,焦点不会发生更改。
使用 remove 命令可删除当前处于焦点的卷的驱动器号或装入点。如果使用 all 参数,将删除所有当前驱动器号和装入点。如果未指定驱动器号或装入点,则删除遇到的第一个路径。
禁止删除系统、启动或分页卷的驱动器号。
使用 retain 命令可准备将动态
简单卷用作启动或系统卷。
如果在基于
x86 的计算机上使用 retain 命令,将在动态简单卷上创建一个具有焦点的 MBR 分区。要创建一个 MBR 分区,动态简单卷必须始自一个柱面对齐的偏移量处,而且其大小必须是柱面大小的整数倍。
如果在基于
Itanium 的计算机上使用 retain 命令,retain 命令将在动态
简单卷上创建具有焦点的 GPT 分区。
转换磁盘的命令
使用 convert mbr 命令可将当前磁盘的分区形式设置为 MBR。磁盘可以是基本磁盘或
动态磁盘,但是切勿包含任何有效数据分区或卷。
使用 convert gpt 命令可将当前磁盘的分区形式设置为 GPT。磁盘可以是
基本磁盘或动态磁盘,但是切勿包含任何有效数据分区或卷。此命令只在基于 Itanium 的计算机上才有效,在基于 x-86 的计算机上可能会失败。
使用 convert dynamic 命令可将基本磁盘改为动态磁盘。磁盘可以包含有效数据分区。
使用 convert basic 命令可将空的
动态磁盘转换为基本磁盘。
其他命令s
使用 exit 命令可停止 Diskpart 并将
控制权返回给操作系统。
使用 clean 命令可通过将
扇区清零,从当前处于焦点的磁盘删除分区或将卷格式化。默认情况下,仅改写 MBR 或 GPT 分区信息及任何有关 MBR 磁盘的隐藏扇区信息。如果指定 all 参数,可将每个扇区都清零,同时可删除驱动器上包含的所有数据。
rem 命令不执行任何操作,但您可以使用此命令注释
脚本文件。
使用 rescan 命令可重新扫描所有 I/O 总线并可因此发现添加到计算机上的任何新磁盘。
帮助命令s
使用 help 命令可显示所有命令列表。
应用
分区增容就是当一个分区的空间不能满足使用需求时,为其额外加大空间的方法。很多朋友遇到这种情况时,一般都使用
PartitionMagic完成的。但实际上,使用Windows XP/Server 2003的用户完全可以使用系统内置的
磁盘管理功能来完成分区的空间“增容”。
一、划出自由空间
假设需要对D盘增容50MB的空间,这个空间需要从
E盘上提取。那么首先要就从E盘上划分出这50MB的空间才行。这个操作的过程如下:
首先将E盘所有数据转移到其它分区,然后单击“开始→运行”,输入“Diskmgmt.msc”后回车,打开“
磁盘管理”窗口。选中E盘并点击右键,在弹出的
快捷菜单中选择“删除此逻辑驱动器”项。在弹出的提示框中点击“是”按钮继续。操作完毕后,将会在“磁盘0”列中出现与删除分区相同大小的可用空间。
二、给分区增容
此时请注意D盘当前空间为855MB,我们来进行为其增加50MB的操作。单击“开始→程序→附件→
命令提示符”,在打开的窗口中依次输入“Diskpart”、“List volume”、“_selectvolume 2”、“Extend Size=50”四条命令。
其中,“Diskpart”命令用来调用
DOS磁盘
管理程序,“Diskpart/?”命令可以看到该命令的DOS下中文帮助信息。“List Volume”用于
显示系统上所有磁盘的详细信息,从而得知所需扩充分区的
卷号。
这里可以看出D盘的卷号为“2”;“_selectVolume 2”命令用于选择卷,这里根据上一步得出的提示选择卷2;“Extend Size=50”用于将D盘空间增容,这个增容的来源空间当然是划分出的自由空间了。从命令执行的结果“DiskPart成功地扩展了卷”来看,我们对D盘的空间增容已经成功了。
最后在“
磁盘管理窗口”中选择剩余的可用空间,依次点击“操作→所有任务→新建逻辑驱动器”命令,根据提示为该空间分配驱动器号和进行格式化操作即可。