diskpart - ディスク・パーティションの管理

にメンテナンス済み
目次

diskpartコマンドは、ディスクやパーティション、ボリュームを操作するためのコマンドです。パーティションの作成・削除、フォーマット、ドライブ文字の割り当てなど、ディスクの管理画面で行える操作の多くをコマンドで実行できます。

「USB メモリが読み取り専用になって書き込めない」「ディスクの管理画面では削除できないパーティションが残っている」といったトラブルの解消にもよく使われます。

操作を間違えるとデータが消えます

diskpartは、選択したディスクの内容を一瞬で消去できる強力なコマンドです。操作対象のディスク番号を必ず確認してから実行してください。重要なデータがあるディスクは、事前にバックアップを取っておくことをおすすめします。

diskpartの基本的な使い方

diskpartは、管理者として実行したコマンドプロンプトで使います。通常の権限で起動すると、昇格を求められたり、エラーになったりします。起動方法は関連記事を参照してください。

diskpart

起動すると、プロンプトがDISKPART>に変わります。ここからは通常のコマンドではなく、diskpart専用のコマンドを入力します。

- □ ×
コマンド プロンプトのアイコン
管理者: 管理者: コマンド プロンプト - diskpart
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>diskpart
Microsoft DiskPart バージョン 10.0.xxxxx.xxxx
Copyright (C) Microsoft Corporation.
コンピューター: DESKTOP-ABC123
DISKPART>

終了するときはexitと入力します。

DISKPART> exit

操作の基本は「選択してから実行」

diskpartの操作は、次の流れで行います。

  1. list系のコマンドで一覧を表示する
  2. selectで操作対象を選ぶ
  3. 選択した対象に対して、フォーマットや削除などを実行する

selectで選んだ対象に対してコマンドが実行されるため、どれを選んでいるかを意識することが大切です。選択中の対象には、一覧の左端に*が付きます。

ディスクの一覧を確認する

DISKPART> list disk
- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
DISKPART> list disk
ディスク ### 状態 サイズ 空き領域 動的 GPT
------------ ------------- ------- -------- --- ---
ディスク 0 オンライン 476 GB 0 B *
ディスク 1 オンライン 29 GB 0 B

表示の意味は次の通りです。

列意味
ディスク ###ディスク番号。select diskで指定する番号です
状態オンライン/オフラインなど
サイズディスクの容量
空き領域パーティションに割り当てられていない容量
動的動的ディスクの場合に*が付く
GPTGPT 形式の場合に*が付く(付かなければ MBR 形式)
ディスクはサイズで見分ける

ディスク 0 は多くの場合 Windows が入っている内蔵ディスクですが、そうとは限りません。list volumeでC:がどのディスクにあるかを確認し、USB メモリや外付けドライブは、サイズ(容量)で判断します。不安なときは、一度 USB メモリを抜き差ししてlist diskを比べると、増減した番号が対象のディスクだとわかります。

ディスクの詳細を確認する

ディスクを選択すると、詳細情報を表示できます。

DISKPART> select disk 1
DISKPART> detail disk

detail diskでは、モデル名、種類(USB・SATA・NVMe など)、読み取り専用かどうか、ディスク上のボリュームなどを確認できます。消去する前の最終確認に便利です。

パーティション・ボリュームを確認する

ディスクを選択した状態でlist partitionを実行すると、そのディスク内のパーティションが表示されます。

DISKPART> select disk 1
DISKPART> list partition

ドライブ文字やファイルシステムを確認したいときは、list volumeが便利です。

DISKPART> list volume
- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
DISKPART> list volume
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 C Windows NTFS Partition 475 GB 正常 ブート
Volume 1 E USB_DRIVE FAT32 Partition 29 GB 正常

ボリュームを操作するときは、select volume 1のようにボリューム番号で指定するか、select volume Eのようにドライブ文字で指定します。

USB メモリを初期化してフォーマットする

USB メモリを丸ごと初期化し、新しくパーティションを作ってフォーマットする手順です。ディスクの内容はすべて消えます。

USBメモリを初期化してフォーマットする
DISKPART> list disk
DISKPART> select disk 1
DISKPART> detail disk
DISKPART> clean
DISKPART> create partition primary
DISKPART> format fs=ntfs quick label=USB_DRIVE
DISKPART> assign
DISKPART> exit

各コマンドの役割は次の通りです。

コマンド役割
select disk 1操作対象をディスク 1 に決める。番号は必ず確認する
cleanディスク上のパーティション情報とボリューム情報をすべて削除する
create partition primary空き領域をすべて使うプライマリ パーティションを作成する
format fs=ntfs quick label=USB_DRIVENTFS でクイック フォーマットし、ラベルを付ける
assign空いているドライブ文字を自動で割り当てる
select disk の番号を間違えない

cleanは、選択中のディスクのパーティション構成を即座に削除します。select disk 0のように内蔵ディスクを選んだまま実行すると、Windows が起動しなくなる恐れがあります。select diskの直後にdetail diskを実行し、サイズ・モデル名・種類が目的のディスクと一致するかを必ず確認してください。diskpartには確認画面も取り消し機能もありません。

ファイルシステムの選び方

formatのfs=には、用途に合わせてファイルシステムを指定します。

指定特徴
fs=ntfsWindows 向け。4 GB を超えるファイルも扱える
fs=exfatWindows・Mac の両方で使いやすく、大きなファイルも扱える。USB メモリや SD カード向け
fs=fat32互換性が高い。1 ファイルの上限は 4 GB 未満。diskpartでは 32 GB を超えるボリュームを FAT32 でフォーマットできない
クイック フォーマットとフル フォーマット

quickを付けるとクイック フォーマットになり、短時間で終わります。quickを省略するとフル フォーマットになり、容量が大きいと時間がかかります。通常はクイック フォーマットで十分です。

パーティションの種類を変える(MBR / GPT)

cleanした直後の何もないディスクであれば、パーティション スタイルを変換できます。

DISKPART> convert gpt
DISKPART> convert mbr

convertは、ディスク上にパーティションやボリュームが残っているとエラーになります。先にcleanなどで空にしてから実行してください。なお、MBR 形式では 2 TB を超える領域を使えません。

USB メモリが読み取り専用になっているとき

書き込めない USB メモリは、ディスクに「読み取り専用」の属性が付いていることがあります。次の手順で確認と解除ができます。

DISKPART> list disk
DISKPART> select disk 1
DISKPART> attributes disk
DISKPART> attributes disk clear readonly

attributes diskを実行すると、現在の読み取り専用状態: はいのように、現在の状態が表示されます。clear readonlyで属性を解除すると、データを消さずに書き込めるようになります。

物理スイッチのある SD カードなど

SD カードや一部の USB メモリには、本体に物理的な書き込み禁止スイッチがあります。スイッチがロック側になっていると、diskpartで属性を解除しても書き込めません。先にスイッチの位置を確認してください。

パーティションを削除する

ディスク全体ではなく、特定のパーティションだけを削除したい場合は、delete partitionを使います。

DISKPART> select disk 1
DISKPART> list partition
DISKPART> select partition 2
DISKPART> delete partition

システム領域など保護されたパーティションは、通常のdelete partitionでは削除できません。delete partition overrideを付ければ削除できますが、EFI システム パーティションや回復パーティションなども確認なしで消えてしまいます。どの領域を消すのか理解できない場合は使わないでください。

ドライブ文字を変更する

ボリュームを選択して、ドライブ文字を割り当てたり外したりできます。

DISKPART> select volume 1
DISKPART> assign letter=F

すでにドライブ文字が割り当てられているボリュームは、いったん外してから割り当て直します。

DISKPART> select volume 1
DISKPART> remove letter=E
DISKPART> assign letter=F
使用中のドライブ文字は変更に注意

C:などシステムが使用しているドライブ文字は、変更するとプログラムの動作に影響する恐れがあります。外付けドライブや追加したディスクに対してのみ実行しましょう。

ボリュームを拡張・縮小する

ボリュームを選択して、サイズを変更できます。単位は MB です。

ボリュームを
DISKPART> select volume 1
DISKPART> extend size=10240
ボリュームを
DISKPART> select volume 1
DISKPART> shrink querymax
DISKPART> shrink desired=10240
  • extend size=10240は、ボリュームを 10240 MB(10 GB)広げます。同じディスク上で、ボリュームのすぐ後ろに未割り当ての空き領域が必要です。sizeを省略すると、使える空き領域をすべて使って拡張します
  • shrink querymaxは、縮小できる最大サイズを表示します。先に実行して確認しましょう
  • shrink desired=10240は、ボリュームを 10240 MB(10 GB)縮小します。ボリューム内に移動できないファイルがあると、希望するサイズまで縮小できないことがあります

extendは NTFS(新しい Windows では ReFS も)、shrinkは NTFS のボリュームが対象です。FAT32 や exFAT のボリュームは拡張も縮小もできません。

スクリプトで自動実行する

diskpartのコマンドをテキストファイルに書いておき、/sオプションで読み込ませることで、まとめて実行できます。

format-usb.txt
select disk 1
clean
create partition primary
format fs=ntfs quick label=USB_DRIVE
assign
exit
diskpart /s format-usb.txt
スクリプトは確認なしで実行される

diskpartは対話モードでも確認メッセージを出しませんが、スクリプトでは内容を確認する機会もなく最後まで実行されます。select diskの番号が実行時にずれていると、意図しないディスクを消去してしまいます。USB メモリの抜き差しなどでディスク番号が変わる場合は、スクリプトの自動実行は避け、手作業で確認しながら進めてください。

よく使うコマンド早見表

やりたいことコマンド
ディスクの一覧を表示list disk
ディスクを選択select disk <番号>
ディスクの詳細を表示detail disk
パーティションの一覧を表示list partition
ボリュームの一覧を表示list volume
ディスクを空にするclean
パーティションを作成create partition primary
フォーマットformat fs=ntfs quick label=<ラベル>
ドライブ文字を割り当てassign letter=<文字>
ドライブ文字を外すremove letter=<文字>
読み取り専用を解除attributes disk clear readonly
スクリプトを実行diskpart /s <ファイル名>
終了exit
clean all について

clean allは、ディスク全体のすべてのセクターにゼロを書き込む操作です。データの復元を難しくできますが、ディスクの容量によっては非常に長い時間がかかり、SSD では通常不要です。通常のフォーマットのやり直しには、cleanで十分です。

関連記事

練習問題

練習問題

diskpartで、操作対象のディスクを選ぶ前に、接続されているディスクの一覧を表示するコマンドはどれでしょうか?

正しいものを 1 つ選んでください。

  1. show disk
  2. list disk
  3. dir disk

練習問題

diskpartでcleanを実行すると、どうなるでしょうか?

正しいものを 1 つ選んでください。

  1. 選択中のディスクの不要なファイルだけが削除される
  2. 選択中のディスクのパーティション情報とボリューム情報がすべて削除される
  3. ディスクのエラーが検出され、修復される

練習問題

USB メモリを読み取り専用の状態から解除するために、ディスクを選択した後に実行するコマンドはどれでしょうか?

正しいものを 1 つ選んでください。

  1. attributes disk set readonly
  2. attributes disk clear readonly
  3. format fs=ntfs quick
#コマンドプロンプト #コマンドライン #コマンド #diskpart #ディスク #パーティション #フォーマット