Windowsのディスクを管理したいとき、古の時代からdiskpartコマンドがあります。
https://technet.microsoft.com/ja-jp/library/cc766465(v=ws.10).aspx
https://www.atmarkit.co.jp/ait/articles/0812/26/news119.html
しかし現在これらのdiskpart操作をを使うことはありません。PowerShellでより高度、安全に操作できるからです。
こういったディスクの初期化処理は、AWSやAzureにおいてディスク追加するときにも必要になることがあります。
そこで今回はその例を少し見てみましょう。
GUI のディスク管理
Windows 10を例にします。 Win +x > kによって ディスクの管理 を起動できます。

例えば以下のディスク構成があります。

この中のディスク3は、現在はプライマリパーティション1つの単一パーティション構成です。こういった場合はGUIでボリュームの削除して綺麗に構成可能です。

しかし、以前OSをインストールしていたディスクの場合はGUIで行えることに制限があります。*1
ディスクの管理では、OSインストール時に自動構成された回復パーティションを削除できません。
そこで古代においては、diskpartを使って操作することがありました。
今回は、OSが入ったりしたディスク3を消去 > 単一パーティション > NTFSフォーマットまで構成してみましょう。
diskpart
コマンドプロンプトからdiskpartを入力すると、管理者へのUAC昇格と共にdiskpartの対話モードが開始します。

まずはlist diskでディスク一覧を呼び出して対象を把握します。

次に操作対象ディスクをselect disk 3で選択します。

操作内容として、回復パーティションも含めて綺麗にするので、cleanコマンドでディスクを消去します。


という感じです。
PowerShell で初期化する
PowerShellには、ディスクやPartition、Volume操作用のCmdletがあります。これらをパイプラインで繋げれば、初期化からフォーマットまでワンライナーで綺麗に完了します。*2
https://gist.github.com/guitarrapc/3755ade7430fef73964d3f124430acf3
どうでしょうか? 先のディスク3の初期化も一発です。かつ、ディスクの製品名から指定もできたり、BootDiskを除外してまとめて行ったりも可能です。

操作もCmdletが明確に意図を示しています。
| Cmdlet | やっていること |
|---|---|
Get-Disk |
ディスク一覧の取得 |
where FriendlyName -Match ST3500 |
ST3500という製品名に該当するディスクにフィルタ |
Clear-Disk -RemoveData -RemoveOEM -PassThru |
ディスクを消去 |
Initialize-Disk -PartitionStyle MBR -PassThru |
ディスクを MBRで初期化 |
New-Partition -UseMaximumSize -AssignDriveLetter |
新規パーティションをディスク全体を単一として、ドライブレターを自動付与で作成 |
Format-Volume -FileSystem NTFS -Force |
作成したボリュームを NTFS でフォーマット |
簡単ですね。
まとめ
diskpartしかできないという操作はそうそうありません。回復コンソールなど、極めて限定的なシーンでの利用となるでしょう。
こういったWindowsシステム系の操作はPowerShellだと本当に楽に書けるのでぜひ試してみるといいです。