MORE INFORMATION
Diskpart differs from many command-line utilities because it does not
operate in a single-line mode. Instead, after you start the utility,
the commands are read from standard input/output (I/O). You can direct
these commands to any disk, partition, or volume.
Comparison with Disk Management
Diskpart enables a superset of the actions that are supported by the
Disk Management snap-in. The Disk Management snap-in prohibits you from
inadvertently performing actions that may result in data loss. It is
recommended that you use the Diskpart utility cautiously because Diskpart
enables explicit control of partitions and volumes.
You can use Diskpart to convert a basic disk to a dynamic disk. The basic disk
can either be empty or contain either primary partitions or logical drives.
The basic disk can be a data disk or system or boot drive. The basic disk cannot
have fault-tolerant disk driver (FtDisk) sets such as stripes or mirrors. To
convert basic disks that have FtDisk driver sets, use Disk Management on Windows
2000 or convert the disk before you upgrade to Windows XP.
You can use Diskpart to convert a dynamic disk to a basic disk. You must delete
any dynamic volumes before the conversion process. It is not recommended that
you delete partitions on a dynamic disk except in emergency situations. It
is recommended that you delete all volumes on the drive, and then convert the
disk to basic. You must delete all dynamic data partitions. Also, never mix
the basic primary and dynamic partitions on the same drive. If you do so, the
computer may be unable to restart.
You can use Diskpart to create a partition at an explicit disk offset. The
Disk Management snap-in places the partition at the end of any occupied area
or on the first sufficiently large area. On master boot record (MBR) disks,
the partition offset and the size are rounded to preserve the required cylinder
alignment. Offsets are rounded to the closest valid value, and the size is
always rounded up to the next valid value. Diskpart does not assign a drive
letter to a newly created partition. Use the
assign command
to assign either a mount point or a drive letter.
Diskpart follows the same policy as the snap-in. Dynamic disks can only be
created on fixed disks. You cannot convert removable disks, such as 1394 or
universal serial bus (USB) drives, to dynamic disks.
Diskpart permits certain partition deletion operations that are blocked by
the snap-in. For example, you can use Diskpart to delete MBR OEM partitions.
However, these partitions often contain files that are important to the platform
operation. Diskpart blocks the deletion of the current system, boot, or paging
volumes and partitions. Also, Diskpart blocks deletion of the partitions that
underlie dynamic disks.
You cannot use Diskpart to create a partition on removable media. Windows supports
at most one MBR partition on removable media. If the media is manufactured
with an MBR, that MBR cannot be altered, but the MBR is followed even if multiple
partitions or logical drives are configured. If the media is manufactured without
an MBR, the media is treated as a "superfloppy" and no partition structure
is written to the media.
The drive letter for a removable drive is associated with the drive, and not
with the media. You can use Diskpart to change the drive letter.
Diskpart causes disk signatures, GUID partition table (GPT) disk globally unique
identifiers (GUIDs), and GPT partition GUIDs to be generated. You cannot explicitly
set these items by using Diskpart.
The Diskpart utility (like the snap-in) includes support for the new Itanium
disk partition scheme called GPT. You cannot use GPT disks on any x86-based
Windows XP-based or Windows 2000-based computers. Diskpart enables the conversion
of GPT partitioning to MBR partitioning only for empty disks.
You can use Diskpart to delete missing dynamic disks. Dynamic disks contain
a shared database; all of the dynamic disks on a computer have knowledge of
all other dynamic disks on that computer. When dynamic disks are moved, the
original computer considers theses disks as "missing".
Drive letters are not automatically assigned when you use Diskpart. To ensure
that a given partition or volume has a drive letter, you must explicitly assign
a drive letter. You can either assign the drive letter or allow the next available
drive letter to be allocated.
Setting Focus
Most Diskpart commands operate on a specific target disk, partition, or volume.
The targeted object has "focus." Focus simplifies the common configuration
task in which you create multiple partitions on the same disk. An object is
put into focus by the
select command. All Commands except
for
list,
help,
rem,
exit,
or
help require focus.
Use the
select command to explicitly change the focus. To
implicitly change the focus, use a command such as
create.
You must set the disk focus before you manage a basic disk. On basic disks,
the partition focus and volume focus are the same. If you change the focus
on one item, you change the focus on the other. On dynamic volumes, only the
volume focus is important because the previous partition focus is always lost
and the disk focus is only important for simple volumes.
Consider the following examples of a computer that has two disks:
- Each disk contains two primary partitions. The first disk contains the
C and D partitions; the second disk contains the E and F partitions. You
must set the disk focus to disk 1 before you set the partition focus to
either the C or D partitions. You can set the volume focus to either the
C, D, E, or F partitions at any time. In this example, if you set the volume
focus to the C or D partition, the disk focus does not change; however,
if you set the volume focus to the E or F partitions, the disk focus may
be moved to the other disk.
- Each disk is dynamic and contains a simple volume and free space. The
first disk contains the C partition, and the second disk contains the E
partitions. You must set the disk focus before you add a simple volume
to the first disk. To extend the C partition, you need to set only the
volume focus. Similarly, to add a mirror to the E partition, you need to
set only the volume focus to the E partition. If you create a simple volume
or extend an existing volume onto the same disk, you do not change the
disk focus. If you add a mirror, create a stripe set, or extend an existing
volume onto a different disk, you can cause the disk focus to be lost.
Scripting
Diskpart supports scripted operations. To initiate a Diskpart script, use the
diskpart
/s script.txt command. You can script Diskpart on Windows XP, Windows
2000, Remote Installation Services (RIS) unattended install environments, or
on the Windows Preinstall Environment (PE) for OEMs.
By default, Diskpart can quit command processing and return an error code if
there is a problem in the script. To continue to run a script in this scenario,
include the
noerr parameter on the command. This parameter
allows you to use a single script to delete all partitions on all data drives,
regardless of the total number of drives. However, not all commands support
the
noerr parameter. Even if you use the
noerr parameter,
an error is always returned on command syntax errors.
The following list describes the error codes for Diskpart:
- 0 - No error occurred. The entire script ran without failure.
- 1 - A fatal exception occurred. There may be a serious problem.
- 2 - The arguments specified on a Diskpart command line were incorrect.
- 3 - Diskpart was unable to open the specified script or output file.
- 4 - One of the services Diskpart uses returned a failure.
- 5 - A command syntax error occurred. The script failed because an object
was improperly selected or was invalid for use with that command.
After you run Diskpart, the Diskpart version and current computer name are
displayed.
Command Summary
Commands to Set Focus
select
Use the
select command to set the focus to the specified target.
To obtain a list of focus types, leave the
Type field blank.
If you do not specify an identification (ID) number, the current focus object
is displayed.
select disk[=n]
Use the
select disk command to set the focus to the disk that
has the specified Windows NT disk number. If you do not specify a disk number,
the command displays the current in-focus disk.
select partition[=n/l]
Use the
select partition command to set the focus to the specified
partition. If you do not specify a partition, the current in-focus partition
is displayed.
On basic disks, you can specify the partition by either index, drive letter,
or mount point. You can only specify the partition by index on dynamic disks.
select volume[=n/l]
Use the
select volume command to set the focus to the specified
volume. If you do not specify a volume, the command displays the current in-focus
volume.
You can specify the volume by either index, drive letter, or mount point path.
On a basic disk, if you select a volume, the corresponding partition is put
in focus.
Commands to Display Disk Configuration
Use the
list command to display a summary. To display more
information, set the focus, and then use the
detail command.
detail disk
Use the
detail disk command to obtain the detailed information
about the current in-focus disk, for example:
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
Use the
detail partition command to obtain detailed information
about the current in-focus 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
Use the
detail volume command to obtain the detailed information
about the current in-focus volume, for example:
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
Use the
list disk command to obtain summary information about
each disk in the computer. The disk with the asterisk (*) has the current focus.
Only fixed disks (for example, integrated device electronics [IDE] or small
computer system interface [SCSI]) or removable disk (for example, 1394 or USB)
are listed. The removable drives are not displayed.
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
Use the
list partition command to obtain information about
each partition on the in-focus disk, for example:
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
Use the
list volume command to obtain information about each
volume in the computer, for example:
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
Commands to Manage Basic Disks
This section describes commands that you can use to create and delete partitions
and to assign drive letters and mount points. The commands in this section
apply only to basic disks. Refer to the following sections for commands that
are valid on dynamic disks or for commands that you can use to convert basic
disk to dynamic disks.
On all MBR disks, the
size or
offset parameters
are rounded up to cylinder alignment. On GPT disks, the
size or
offset parameters
are rounded to sector alignment. If an
offset parameter is
not specified, the partition is placed in the first unoccupied contiguous disk
extent that is large enough. If a
size parameter is not listed,
the partition may be extended to occupy the determined disk extent up to the
size of the entire disk.
After the new disks are first discovered, they are assumed to be MBR disks.
You must explicitly convert a disk to GPT before you attempt to create a GPT
partition. It is recommended that you create the MSR as the first partition
on every data disk and the second partition (after the ESP) on any system or
boot disk. After you convert from MBR to GPT, the MSR partition is automatically
created on the disk.
After you create any new partition, the newly created partition gains the partition
focus. After you delete any partition, the partition focus is lost. The disk
focus remains unchanged in all cases.
active
Use the
active command to set the current in-focus partition
to "active." This setting informs the firmware that the partition is a valid
system partition. Diskpart does not validate the partition contents.
NOTE: If you use this command, the computer may be unable
to restart.
assign [[letter=l]/[mount=path]] [noerr]
Use the
assign command to assign a letter or mount point to
the current in-focus partition. If you do not specify a drive letter, the next
available drive letter is assigned. If the letter or mount point is already
in use, an error is generated unless you use the
noerr parameter.
You can use this command to change the drive letter that is associated with
a removable drive.
The drive letter assignment is blocked on the system, boot, or paging volumes.
This command cannot be used to assign a drive letter to an OEM partition or
any GPT partition, other than the Msdata partition.
create partition primary [size=n] [offset=n] [id=byte/guid] [noerr]
Use the
create partition primary command to create a primary
partition of length size and a starting address offset on the current drive.
If an ID byte is not specified on an MBR disk, this command creates a partition
with type "0x6." You can use the
ID parameter to specify the
partition type. There is no validity or other checking of the ID byte.
If you do not specify an ID GUID on a GPT disk, this command creates an Msdata
partition. You can use the
ID parameter to specify any GUID.
There is no validity, duplication, or other checking of the GUID. The partition
instance GUID is automatically generated.
MBR and GPT partitions are created so that Windows does not automatically allocate
drive letters. You must explicitly assign a drive letter.
create partition extended [size=n] [offset=n] [noerr]
Use the
create partition extended command to create an extended
partition of length size and starting address offset on the current drive.
The drive must be an MBR disk.
After the partition is created, the new extended partition gains the focus.
You can create only one extended partition. You can create logical drives only
after you create an extended partition.
create partition logical [size=n] [offset=n] [noerr]
Use the
create partition logical command to create a logical
drive of length size and starting address offset in an existing extended partition
on the current disk. The drive must be an MBR disk.
If an offset is not listed, the logical drive is placed in the first unoccupied
contiguous disk extent in the extended partition that is large enough. If a
size is not listed, the partition may be extended to occupy the entire extended
partition.
After you create the partition, the logical drive gains the partition focus.
create partition msr [size=n] [offset=n] [noerr]
The
create partition msr command is the equivalent of creating
the partition with the MSR GUID E3C9E316-0B5C-4DB8-817D-F92DF00215AE.
create partition esp [size=n] [offset=n] [noerr]
The
create partition esp command is the equivalent of creating
the partition with ESP GUID C12A7328-F81F-11D2-BA4B-00A0C93EC93B.
delete partition [noerr] [override]
Use the
delete partition command to delete the current in-focus
partition.
Diskpart blocks the deletion of the current system, boot, or paging volume.
To delete either an ESP, MSR, or a known OEM partition, you must specify the
override parameter.
extend [size=n][noerr]
Use the
extend command to cause the current in-focus volume
to be extended into contiguous unallocated space. The unallocated space must
follow (it must be of higher sector offset than) the in-focus partition. The
intended use of this command is to grow an existing basic data partition into
newly created space on an extended hardware Raid logical unit number (LUN).
If the partition had been previously formatted with the NTFS file system, the
file system is automatically extended to occupy the larger partition, and data
loss does not occur. If the partition had been previously formatted with any
file system format other than NTFS, the command is unsuccessful and does not
change the partition.
Diskpart blocks the extension of only the current system or boot partition.
remove [[letter=l]/[mount=path]/[all]] [noerr]
Use the
remove command to remove a letter or mount point from
the current in-focus partition. If you specify the
all parameter,
all of the current drive letters and mount points are removed. If you do not
specify a letter or mount point, the drive letter is removed.
Use this command to change the drive letter that is associated with a removable
drive.
The drive letter removal is blocked on the system, boot, or paging volumes.
You cannot use this command to remove a drive letter to an OEM partition, any
GPT partition with an unrecognized GUID, or any of the special non-data, GPT
partitions, such as, the ESP partition.
Commands to Manage Dynamic Disks
You can use the commands that are described in this section to create and delete
volumes, repair fault tolerant volumes, and import disks.
The
size parameters are always rounded up to MB alignment.
You cannot specify an explicit offset. The volume is always placed in the first
unoccupied contiguous disk extent that is large enough. If a size is not listed,
the largest possible volume is created.
After a volume is created, the volume focus is put on the newly created volume.
The current disk focus is lost if the volume spans the disks. The volume focus
is lost if a volume is deleted. If there had been a valid disk focus before
you deleted the volume, that disk focus remains.
NOTE: Diskpart forces the creation of an MSR partition on
any empty disk when that disk is converted to a dynamic or GPT disk.
active
Use the
active command to set the current in-focus volume
as "active." This setting informs the firmware that the partition is a valid
system partition. Diskpart verifies only that the volume is capable of containing
an operating system bootable image, but the utility does not validate the partition
contents. If you use this command, the computer may not be able to restart.
add disk=n [noerr]
Use the
add command to add a mirror to the current in-focus
volume on the specified disk. Only two mirror plexes are supported. The current
in-focus volume must be a simple volume.
assign [[letter=l]/[mount=path]] [noerr]
Use the
assign command to assign a letter or mount point to
the current in-focus volume. If you do not specify a drive letter, the next
available drive letter is assigned. If the letter or mount point is already
in use, an error is generated unless you specify the
noerr parameter.
The drive letter assignment is blocked on the system, boot, or paging volumes.
break disk=n [nokeep] [noerr]
Use the
break command to break the current in-focus mirror.
By default, the contents of both mirror plexes are retained because both plexes
become simple volumes. If you specify the
nokeep parameter,
only the specified plex is retained, the other plex is removed and converted
to free space.
The original volume retains any and all drive letters or mount points. If the
plex is not kept, the focus remains on the retained simple volume on the specified
disk. Otherwise, the focus is changed to the specified retained plex on the
specified disk. The plex becomes a simple volume; however, a drive letter is
not assigned to the new volume.
create volume simple [size=n] [disk=n] [noerr]
Use the
create volume simple command to create a simple volume
of length size on the specified disk.
If you do not specify a size, the new volume can take up the remaining contiguous
free space on the disk. If you do not specify a disk, the current in-focus
disk is used.
After the volume is created, the disk focus is given to the targeted disk.
create volume stripe [size=n] disk=n[,n[,...]] [noerr]
Use the
create volume stripe command to create a stripe set
volume on the specified disks. The total size of the stripe volume is the size
multiplied by (*) the number of disks.
If you do not specify a size, the largest possible stripe volume is created.
The disk with the smallest available contiguous free space is determined. The
size of that free space determines the size for the stripe volume. The same
size is allocated on each disk.
create volume raid [size=n] disk=n[,n[,...]] [noerr]
Use the
create volume raid command to create a Raid-5 set
volume on the specified disks. An amount of space that is equal to "size" is
allocated on each disk.
If you do not specify a size, the largest possible Raid 5 volume is created.
The disk with the smallest available contiguous free space is determined. The
size of that free space determines the size for the Raid 5 volume and the same
size is allocated from each disk. The actual usable size of the volume is less
than the size multiplied by the number of disks, because some of the space
is used for the parity.
delete disk [noerr][override]
Use the
delete disk command to delete a missing dynamic disk
from the disk list.
If you do not specify the
override parameter, all of the simple
volumes that are contained on the disk are deleted and any mirror plexes are
removed. If the disk contributes to a Raid 5 volume, the command is unsuccessful.
delete partition [noerr] [override]
Use the
delete partition command to delete the current in-focus
partition.
Diskpart blocks the deletion of any partitions that are used to contain existing
online dynamic volumes. Those volumes must be deleted and the disk converted
to basic. To delete an ESP, MSR, or known OEM partition, specify the
override parameter.
You can delete partitions from dynamic disks, but you cannot create them. For
example, you can delete an unrecognized GPT partition on a dynamic GPT disk.
If you delete a partition, the free space does not become available. You can
use this command to reclaim the space on a corrupted offline dynamic disk in
an emergency situation in which you cannot use the
clean command.
delete volume [noerr]
Use the
delete volume command to delete the current in-focus
volume. After you use this command, all data is lost.
extend disk=n [size=n] [noerr]
Use the
extend command to extend the current simple or the
extended volume onto the specified disk. The
extend command
only works with NTFS volumes.
If you do not specify a size, the volume can occupy all of the free space on
the specified disk. Any existing disk focus is lost.
import [noerr]
Use the
import command to import all of the disks from a foreign
disk group.
If you set the focus on any disk in the foreign disk group, you can import
all disks in the group. After you run this command, any existing volume or
disk focus is lost.
online [noerr]
Use the
online command to bring a disk or volume that had
previously been taken offline back online. A change in focus does not occur
if you use this command.
remove [[letter=l]/[mount=path]/[all]] [noerr]
Use the
remove command to remove a letter or mount point from
the current in-focus volume. If you use the
all parameter,
all of the current drive letters and mount points are removed. If you do not
specify a letter or mount point, the path that is encountered first is removed.
The drive letter removal is blocked on the system, boot, or paging volumes.
retain
Use the
retain command to prepare a dynamic simple volume
to be used as a boot or system volume.
If you use the
retain command on an x86-based computer, an
MBR partition on the dynamic simple volume is created with focus. To create
an MBR partition, the dynamic simple volume must start at a cylinder aligned
offset and be an integral number of cylinders in size.
If you use the
retain command on an Itanium-based computer,
the
retain command creates a GPT partition on the dynamic
simple volume with focus.
Commands to Convert Disks
convert mbr [noerr]
Use the
convert mbr command to set the partitioning style
of the current disk to MBR. The disk may be a basic disk or a dynamic disk
but the disk must not contain any valid data partitions or volumes.
convert gpt [noerr]
Use the
convert gpt command to set the partitioning style
of the current disk to GPT. The disk may be a basic or a dynamic disk but it
must not contain any valid data partitions or volumes. This command is valid
only on Itanium-based computers; it may be unsuccessful on x-86-based computers.
convert dynamic [noerr]
Use the
convert dynamic command to change a basic disk into
a dynamic disk. The disk may contain valid data partitions.
convert basic [noerr]
Use the
convert basic command to change an empty dynamic disk
to basic.
Miscellaneous Commands
exit
Use the
exit command to stop Diskpart and return control to
the operating system.
clean [all]
Use the
clean command to remove partition or volume formatting
from the current in-focus disk by zeroing sectors. By default, only the MBR
or GPT partitioning information and any hidden sector information on MBR disks
is overwritten. If you specify the
all parameter, each and every sector
can be zeroed, and all data that is contained on the drive can be deleted.
rem [...]
The
rem command does nothing, and you can use it to comment
script files.
rescan
Use the
rescan command to rescan all I/O buses and cause any
new disks that have been added to the computer to be discovered.
Help Commands
help
Use the
help command to display a list of all commands.
For additional information on the Diskpart utility, search on
Diskpart in
the Help and Support Center in Windows XP.