【bat】diskpartコマンド完全ガイド|ディスク初期化・パーティション作成・フォーマット・VHD操作をバッチで自動化

【bat】diskpartコマンド完全ガイド|ディスク初期化・パーティション作成・フォーマット・VHD操作をバッチで自動化 bat

diskpartは、Windowsに標準搭載されたディスク管理ツールです。GUIの「ディスクの管理」ではできない操作(ボリュームの非表示化・VHD作成・スクリプトによる無人セットアップ)をコマンドラインから実行できます。

「新しいPCを10台セットアップするたびに手動でパーティションを切っている」「USBドライブを毎回同じ構成でフォーマットしている」—そういった繰り返し作業をdiskpart /s スクリプト.txtで完全自動化できます。

本記事ではdiskpartの主要コマンドを体系的に整理し、バッチファイルとの組み合わせによる実践的な自動化パターンを解説します。

diskpartは破壊的な操作が可能です
diskpartで誤ったディスクを選択するとデータが消去されます(元に戻せません)。スクリプト実行前に必ず対象ディスク番号を確認してください。本番環境での実行は特に慎重に行い、事前にバックアップを取ることを強く推奨します。
スポンサーリンク

diskpartとは

diskpartはWindows 2000以降に標準搭載されたディスクパーティション操作ツールです。従来のfdiskの後継として位置づけられており、次の操作が可能です。

  • ディスクの初期化(MBR/GPT形式変換)
  • パーティションの作成・削除・拡張・縮小
  • フォーマット(NTFS/FAT32/exFAT)
  • ドライブ文字の割り当て・変更・削除
  • ボリュームの非表示化(ドライブ文字なし)
  • VHD/VHDX(仮想ハードディスク)の作成・マウント・アンマウント
  • ディスクの属性変更(読み取り専用・ブート不可など)

対話型モードとスクリプト実行

diskpartには2つの実行方法があります。

方法 コマンド 用途
対話型モード diskpart(引数なし) 手動で確認しながら操作する
スクリプト実行 diskpart /s スクリプト.txt バッチから自動実行する
スクリプト実行の基本形
@echo off
:: diskpartスクリプトをherestring的にTEMPに書き出して実行
(
    echo list disk
    echo list volume
) > "%TEMP%\dp_check.txt"

diskpart /s "%TEMP%\dp_check.txt"
del "%TEMP%\dp_check.txt"
管理者権限が必要です
diskpartの実行には管理者権限が必要です。標準ユーザーで実行するとエラーになります。バッチファイルで管理者権限を自動取得する方法と組み合わせることで、ダブルクリックで自動昇格させることができます。

ディスク・ボリューム情報の確認と読み方

操作前に必ず現在のディスク構成を確認してください。

list disk の出力例
DISKPART> list disk

  ディスク      状態           サイズ   空き   Dyn  Gpt
  ------------  -------------  -------  -----  ---  ---
  ディスク 0    オンライン          476 GB    0 B        *
  ディスク 1    オンライン          931 GB  931 GB        *
  ディスク 2    オンライン           58 GB   58 GB
内容
ディスク番号 操作時に使う番号(select disk NのN)
状態 オンライン/オフライン。通常はオンライン
空き 未割り当て領域のサイズ。「0 B」は全領域がパーティション済み
Dyn 「*」はダイナミックディスク(通常はベーシックディスクなので空欄)
Gpt 「*」はGPT形式。空欄はMBR形式
list volume の出力例
DISKPART> list volume

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     C   Windows      NTFS   Partition    475 GB  正常         ブート
  Volume 1         EFI          FAT32  Partition    100 MB  正常         システム
  Volume 2     D   DATA         NTFS   Partition    931 GB  正常
  Volume 3     E                FAT32  Removable     58 GB  正常

「Info」列の意味:ブートは現在起動中のOSがあるボリューム、システムはEFI/ブートローダーが入っているボリューム、Hiddenまたは空欄は通常データ領域です。

GPT vs MBR:どちらを選ぶか

項目 MBR GPT
最大ディスクサイズ 2TB 18EB(事実上無制限)
最大パーティション数 4つ(プライマリ)※拡張パーティション使用で増加可 128個
UEFI対応 BIOS必須(Legacy) UEFI必須
障害耐性 パーティション情報が先頭のみ→壊れると復旧困難 パーティション情報を先頭と末尾に二重保存
Windows対応 Windows XP以降 Windows Vista以降(64bit版)
Windows 11での位置づけ 古いPC向け(非推奨) 標準・推奨
現代のPCはGPT一択
新規でディスクを初期化する場合はGPTを選択してください。2TB以下のディスクでも、Windows 11のUEFI環境・将来の拡張性・障害耐性の観点からGPTが推奨です。MBRを選ぶのは古いPC(BIOS/Legacy環境)との互換性が必要な場合のみです。

主要コマンド一覧

オブジェクト選択・確認コマンド

コマンド 内容
list disk ディスク一覧(番号・サイズ・空き・MBR/GPT)
list volume ボリューム一覧(番号・ドライブ文字・ラベル・FS・サイズ)
list partition 選択中ディスクのパーティション一覧
list vdisk VHD/VHDX一覧
select disk N ディスク番号Nを選択
select volume N ボリューム番号Nを選択(ドライブ文字でも指定可: select volume C
select partition N パーティション番号Nを選択
detail disk 選択ディスクの詳細情報
detail volume 選択ボリュームの詳細情報
detail partition 選択パーティションの詳細情報

ディスク操作コマンド

コマンド 内容
clean パーティションテーブルを消去(高速・先頭/末尾セクターのみ)
clean all 全セクターを0書きして完全消去(時間がかかる)
convert mbr GPT → MBR 変換(パーティションが全て削除される)
convert gpt MBR → GPT 変換(パーティションが全て削除される)
convert dynamic ベーシック → ダイナミックディスク変換

パーティション・ボリューム操作コマンド

コマンド 内容
create partition primary [size=N] プライマリパーティション作成(NはMB単位。省略で最大)
create partition extended [size=N] 拡張パーティション作成(MBRのみ)
create partition logical [size=N] 論理パーティション作成(拡張パーティション内)
format fs=ntfs label="名前" quick クイックフォーマット(ntfs/fat32/exfat)
assign letter=X ドライブ文字Xを割り当て
remove letter=X ドライブ文字Xを削除
delete partition [override] パーティション削除(overrideで保護パーティションも削除可)
extend [size=N] パーティションを拡張(省略で最大まで)
shrink [desired=N] パーティションを縮小(NはMB単位の縮小量)
active 選択パーティションをアクティブ(ブータブル)に設定
inactive アクティブフラグを解除

ディスク情報をファイルに保存する

disk_info_save.bat
@echo off
set OUT=C:\logs\disk_info_%COMPUTERNAME%_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%.txt
if not exist C:\logs mkdir C:\logs

(
    echo list disk
    echo list volume
    echo exit
) | diskpart > "%OUT%"

echo ディスク情報を保存しました: %OUT%
type "%OUT%"

より詳しいディスク空き容量の取得(変数への格納・GB換算)にはwmicコマンドwmic logicaldiskが便利です。

USBドライブのフォーマット

実行前に必ずディスク番号を確認
USBドライブのディスク番号は環境によって異なります。上記のlist diskでサイズ列を見てUSBに該当するディスク番号を特定してからDISK_NUMを設定してください。

FAT32でフォーマット(汎用USBドライブ)

usb_format_fat32.bat
@echo off
setlocal

:: !! 重要: diskpart list disk でUSBのディスク番号を確認してから実行 !!
set DISK_NUM=1

echo ディスク %DISK_NUM% をFAT32でフォーマットします。
echo このディスクの全データが消去されます。
set /p CONFIRM=続行しますか? [y/N]: 
if /i not "%CONFIRM%"=="y" (
    echo キャンセルしました。
    exit /b 0
)

(
    echo select disk %DISK_NUM%
    echo clean
    echo create partition primary
    echo format fs=fat32 label="USB" quick
    echo assign
    echo exit
) > "%TEMP%\dp_usb.txt"

diskpart /s "%TEMP%\dp_usb.txt"
del "%TEMP%\dp_usb.txt"

if %errorlevel% equ 0 (
    echo フォーマット完了しました。
) else (
    echo エラーが発生しました。管理者権限で実行しているか確認してください。
)

exFATでフォーマット(4GB超ファイル対応)

usb_format_exfat.bat
@echo off
setlocal
set DISK_NUM=1
set LABEL=DATA

(
    echo select disk %DISK_NUM%
    echo clean
    echo create partition primary
    echo format fs=exfat label="%LABEL%" quick
    echo assign
    echo exit
) > "%TEMP%\dp_exfat.txt"
diskpart /s "%TEMP%\dp_exfat.txt"
del "%TEMP%\dp_exfat.txt"
ファイルシステムの選び方
FAT32: 互換性が最高(家電・カーナビ等でも読める)。1ファイルの上限4GB。
exFAT: 4GB超のファイルに対応。WindowsとmacOSで読み書き可能。現代のUSB用途に最適。
NTFS: Windows専用(macOSでは読み取り専用)。ACL・圧縮・暗号化対応。企業内PC間でのデータ共有向け。

新規ディスクの初期設定(GPT/NTFS)

新しく追加したHDD/SSDをGPT方式でNTFSフォーマットする標準的なパターンです。

new_disk_setup_gpt.bat
@echo off
setlocal

:: !! 正しいディスク番号を指定(list diskで確認)!!
set DISK_NUM=2
set DRIVE_LETTER=D
set LABEL=DATA

(
    echo select disk %DISK_NUM%
    echo clean
    echo convert gpt
    echo create partition primary
    echo format fs=ntfs label="%LABEL%" quick
    echo assign letter=%DRIVE_LETTER%
    echo exit
) > "%TEMP%\dp_new_gpt.txt"

diskpart /s "%TEMP%\dp_new_gpt.txt"
del "%TEMP%\dp_new_gpt.txt"

if %errorlevel% equ 0 (
    echo セットアップ完了: %DRIVE_LETTER%ドライブ(%LABEL%)
) else (
    echo セットアップに失敗しました。
)

複数パーティション構成(システム用+データ用)

システム領域とデータ領域を別パーティションに分割する構成のサンプルです。OS再インストール時にデータ領域を保持したい場合に有効です。

new_disk_multipartition.bat
@echo off
setlocal
set DISK_NUM=2
set OS_SIZE=102400
:: ^^ システム用: 100GB(MB単位)
:: データ用は残り全部(size省略で自動)

(
    echo select disk %DISK_NUM%
    echo clean
    echo convert gpt

    echo :: --- システム用パーティション ---
    echo create partition primary size=%OS_SIZE%
    echo format fs=ntfs label="System" quick
    echo assign letter=C

    echo :: --- データ用パーティション(残り全領域)---
    echo create partition primary
    echo format fs=ntfs label="Data" quick
    echo assign letter=D

    echo exit
) > "%TEMP%\dp_multi.txt"

diskpart /s "%TEMP%\dp_multi.txt"
del "%TEMP%\dp_multi.txt"
スクリプト内のコメント(:: )について
diskpartスクリプトファイル内では::行は無視されません。::はdiskpartに認識されないコマンドとして実行され、エラーになる場合があります。コメントを残したい場合はバッチ側のコメントとして管理し、diskpartに渡すスクリプトからはコメント行を除くのが安全です。

パーティションの拡張・縮小・削除

パーティションを最大サイズに拡張

extend_partition.bat
@echo off
:: ボリュームCを拡張可能な最大サイズまで拡張
(
    echo select volume C
    echo extend
    echo exit
) > "%TEMP%\dp_extend.txt"

diskpart /s "%TEMP%\dp_extend.txt"
del "%TEMP%\dp_extend.txt"

:: 10GBだけ拡張する場合
:: extend size=10240

パーティションを縮小する

Cドライブを縮小して新しいパーティション用の領域を確保するパターンです。縮小後に未割り当て領域が生まれ、新しいパーティションを作れるようになります。

shrink_partition.bat
@echo off
:: Cドライブを50GB縮小する
set SHRINK_MB=51200

(
    echo select volume C
    echo shrink desired=%SHRINK_MB%
    echo exit
) > "%TEMP%\dp_shrink.txt"

diskpart /s "%TEMP%\dp_shrink.txt"
del "%TEMP%\dp_shrink.txt"

:: 縮小可能な最大サイズを調べるだけの場合(実際には縮小しない)
:: shrink querymax

ドライブ文字の変更

change_drive_letter.bat
@echo off
:: ボリュームEのドライブ文字をFに変更する
(
    echo select volume E
    echo remove letter=E
    echo assign letter=F
    echo exit
) > "%TEMP%\dp_letter.txt"

diskpart /s "%TEMP%\dp_letter.txt"
del "%TEMP%\dp_letter.txt"

パーティションの削除

delete_partition.bat
@echo off
:: !! データが消えるため対象を必ず確認 !!
:: ディスク1のパーティション2を削除する例
(
    echo select disk 1
    echo select partition 2
    echo delete partition
    echo exit
) > "%TEMP%\dp_del.txt"

diskpart /s "%TEMP%\dp_del.txt"
del "%TEMP%\dp_del.txt"

:: システム/保護パーティションを削除する場合は override を追加
:: delete partition override

VHD/VHDX(仮想ハードディスク)の操作

VHD(Virtual Hard Disk)はWindowsが標準でサポートする仮想ディスクファイルです。バックアップ領域の確保・テスト環境の構築・ポータブルデータ領域として活用できます。ファイルを削除するだけでディスクを丸ごと廃棄できるため、管理が非常に楽です。

形式 最大サイズ 対応OS 推奨度
VHD 2TB Windows Vista以降 古いPCとの互換性が必要な場合
VHDX 64TB Windows 8/Server 2012以降 現代の環境では推奨

VHDXファイルの作成とマウント

create_vhdx.bat
@echo off
setlocal
set VHD_PATH=C:\VHDs\backup.vhdx
set VHD_SIZE=51200
:: ^^ 50GB(MB単位)。expandableなら実際はデータ分だけ消費
set DRIVE_LETTER=V

if not exist C:\VHDs mkdir C:\VHDs

(
    echo create vdisk file="%VHD_PATH%" maximum=%VHD_SIZE% type=expandable
    echo select vdisk file="%VHD_PATH%"
    echo attach vdisk
    echo create partition primary
    echo format fs=ntfs label="BACKUP" quick
    echo assign letter=%DRIVE_LETTER%
    echo exit
) > "%TEMP%\dp_vhdx_create.txt"

diskpart /s "%TEMP%\dp_vhdx_create.txt"
del "%TEMP%\dp_vhdx_create.txt"

if %errorlevel% equ 0 (
    echo VHD作成・マウント完了: %DRIVE_LETTER%ドライブ
)

既存VHD/VHDXのマウント・アンマウント

mount_vhdx.bat
@echo off
setlocal
set VHD_PATH=C:\VHDs\backup.vhdx

:mount
(
    echo select vdisk file="%VHD_PATH%"
    echo attach vdisk
    echo exit
) > "%TEMP%\dp_mount.txt"
diskpart /s "%TEMP%\dp_mount.txt"
del "%TEMP%\dp_mount.txt"
echo マウント完了
goto :eof

:unmount
(
    echo select vdisk file="%VHD_PATH%"
    echo detach vdisk
    echo exit
) > "%TEMP%\dp_umount.txt"
diskpart /s "%TEMP%\dp_umount.txt"
del "%TEMP%\dp_umount.txt"
echo アンマウント完了

読み取り専用でVHDをマウント(スナップショット参照)

mount_vhdx_readonly.bat
@echo off
:: 読み取り専用でマウントするとファイルを変更しても内容が保存されない
set VHD_PATH=C:\Snapshots\snap_20250101.vhdx

(
    echo select vdisk file="%VHD_PATH%"
    echo attach vdisk readonly
    echo exit
) > "%TEMP%\dp_ro.txt"
diskpart /s "%TEMP%\dp_ro.txt"
del "%TEMP%\dp_ro.txt"

実践パターン

パターン1: 複数USBドライブの一括フォーマット

PC展開作業などで大量のUSBドライブを同じ構成でフォーマットするパターンです。ディスク番号リストに対してループ処理します。

bulk_usb_format.bat
@echo off
setlocal enabledelayedexpansion

:: !! 必ずdiskpart list diskで事前確認すること !!
set DISK_LIST=1 2 3
set LABEL=COMPANY_USB
set LOG=C:\logs\format_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%.txt
if not exist C:\logs mkdir C:\logs

for %%d in (%DISK_LIST%) do (
    echo [%%d] フォーマット開始: %DATE% %TIME% >> "%LOG%"
    echo ディスク %%d をフォーマット中...

    (
        echo select disk %%d
        echo clean
        echo create partition primary
        echo format fs=fat32 label="%LABEL%" quick
        echo assign
        echo exit
    ) > "%TEMP%\dp_bulk_%%d.txt"

    diskpart /s "%TEMP%\dp_bulk_%%d.txt" >> "%LOG%" 2>&1
    del "%TEMP%\dp_bulk_%%d.txt"

    if !errorlevel! equ 0 (
        echo [%%d] 完了 >> "%LOG%"
        echo   ディスク %%d 完了
    ) else (
        echo [%%d] エラー >> "%LOG%"
        echo   ディスク %%d エラー
    )
)

echo 処理終了。ログ: %LOG%

パターン2: VHDを使った定期バックアップ領域作成

日付付きのVHDXファイルを作成し、ROBOCOPYでバックアップを書き込むパターンです。VHDXは.vhdxファイルを削除するだけで完全消去できるため世代管理が楽です。

daily_vhd_backup.bat
@echo off
setlocal
set DATE_STR=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
set VHD_PATH=E:\Backups\backup_%DATE_STR%.vhdx
set VHD_SIZE=102400
:: ^^ 100GB(実際の使用量は最大でこのサイズ、expandableなので普段は少ない)
set MOUNT_LETTER=Z
set SRC=C:\Users
set LOG=C:\logs\backup_%DATE_STR%.log

:: VHDXを作成してマウント
(
    echo create vdisk file="%VHD_PATH%" maximum=%VHD_SIZE% type=expandable
    echo select vdisk file="%VHD_PATH%"
    echo attach vdisk
    echo create partition primary
    echo format fs=ntfs label="BK_%DATE_STR%" quick
    echo assign letter=%MOUNT_LETTER%
    echo exit
) > "%TEMP%\dp_bk.txt"
diskpart /s "%TEMP%\dp_bk.txt"
del "%TEMP%\dp_bk.txt"

:: ROBOCOPYでバックアップ
robocopy "%SRC%" "%MOUNT_LETTER%:\Users" /e /xjd /r:1 /w:3 /log:"%LOG%"

:: アンマウント
(
    echo select vdisk file="%VHD_PATH%"
    echo detach vdisk
    echo exit
) > "%TEMP%\dp_umount.txt"
diskpart /s "%TEMP%\dp_umount.txt"
del "%TEMP%\dp_umount.txt"

echo バックアップ完了: %VHD_PATH%

パターン3: ディスク構成の資産管理レポート

diskpartとwmicを組み合わせてディスク構成をファイルに記録します。タスクスケジューラで定期実行すれば自動的に台帳が更新されます。

disk_inventory.bat
@echo off
setlocal
set OUT=C:\logs\disk_inv_%COMPUTERNAME%_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%.txt
if not exist C:\logs mkdir C:\logs

(
    echo === ディスク構成レポート ===
    echo PC: %COMPUTERNAME%
    echo 収集日時: %DATE% %TIME%
    echo.
    echo [物理ディスク一覧(diskpart)]
) > "%OUT%"

(
    echo list disk
    echo list volume
    echo exit
) | diskpart >> "%OUT%"

echo. >> "%OUT%"
echo [ドライブ空き容量(wmic)] >> "%OUT%"
wmic logicaldisk get DeviceID,VolumeName,FreeSpace,Size /format:csv >> "%OUT%"

echo レポート作成完了: %OUT%

パターン4: 新PC一括セットアップスクリプト

PC展開時にディスク初期化・パーティション作成・ACL設定まで自動化するフルセットアップスクリプトです。実行後にicaclsコマンドでアクセス権を設定するステップを組み合わせます。

new_pc_disk_setup.bat
@echo off
setlocal

:: !! 実行前にlist diskで各ドライブのディスク番号を必ず確認 !!
set OS_DISK=0
set DATA_DISK=1

echo === ディスクセットアップ開始 ===

:: --- データディスクの初期化 ---
echo データディスク(ディスク%DATA_DISK%)を初期化...
(
    echo select disk %DATA_DISK%
    echo clean
    echo convert gpt
    echo create partition primary
    echo format fs=ntfs label="DATA" quick
    echo assign letter=D
    echo exit
) > "%TEMP%\dp_setup.txt"
diskpart /s "%TEMP%\dp_setup.txt"
del "%TEMP%\dp_setup.txt"

if %errorlevel% neq 0 (
    echo [ERROR] ディスクセットアップに失敗しました。
    exit /b 1
)

:: --- フォルダ作成 ---
mkdir D:\Work 2>nul
mkdir D:\Logs 2>nul
mkdir D:\Backups 2>nul

:: --- アクセス権設定(icacls) ---
icacls D:\Work /grant "Users:(OI)(CI)M" /T >nul
icacls D:\Logs /grant "Users:(OI)(CI)M" /T >nul

echo === セットアップ完了 ===
echo Dドライブ(DATA)が使用可能になりました。

よくあるエラーと対処

エラー・症状 原因 対処
「管理者として実行する必要があります」 管理者権限なし コマンドプロンプトを「管理者として実行」で起動。自動昇格バッチと組み合わせると便利
「選択したディスクには保護されたパーティションがあります」 システム/回復パーティションが含まれる delete partition overrideを使う(OS起動に影響するパーティションは削除しないこと)
formatが非常に遅い quickを指定していない format fs=ntfs quickのようにquickを追加する
VHD作成で「ディスク容量が不足しています」 保存先ドライブの空き容量不足 保存先ドライブの空き容量を確認。type=expandableなら実際は少ない容量しか消費しない
assign後にドライブが表示されない フォーマットが未完了 create partition → format → assignの順を守る。formatを忘れるとドライブが表示されない
ディスク番号が変わってしまう USBの抜き差しや再起動でディスク番号が変動 スクリプト実行前に必ずlist diskで番号を確認する
shrinkで縮小できる量が少ない 断片化やシステムファイルが末尾にある デフラグ後にshrink querymaxで最大縮小量を確認する。またはclean allで全消去してから再パーティション
スクリプト内の::でエラー diskpartがコロン2つをコマンドとして解釈しようとする diskpartスクリプトファイル内にコメントは書かない。コメントはバッチ側で管理する
ディスク番号の変動に注意
USBドライブを抜き差しするたびにlist diskのディスク番号が変わることがあります。固定番号でスクリプトを組むと、意図しないディスクを操作してしまう危険があります。自動化する際は必ず実行前にlist diskでオペレーターに番号確認を促す一時停止ステップを入れてください。

よくある質問

Qdiskpartとディスクの管理(GUI)の違いは何ですか?
AGUIの「ディスクの管理」では操作できないこと(ドライブ文字のない非表示ボリュームの操作・スクリプトによる無人自動化・VHD/VHDXの作成)がdiskpartでは可能です。また、diskpartはバッチファイルと組み合わせて複数PCへの自動展開ができます。
Qディスク0を誤って操作してしまいそうで怖いです。
A一般的にディスク0はOSが入っているCドライブです。スクリプトにselect disk 0を書く際は特に注意が必要です。安全策として、スクリプトの冒頭でlist diskを実行して一時停止し、オペレーターに番号確認させるステップを必ず入れることをお勧めします。
Qdiskpart /s のスクリプトファイルはどこに置けばよいですか?
A%TEMP%に一時作成して実行後に削除するパターンが一般的です。複数スクリプトが競合しないようファイル名にディスク番号や日時を含めると安全です。
Qフォーマット後にパーティションにアクセス権を設定するには?
Aicaclsコマンドを使います。フォーマット完了後にicacls D:\ /grant "Users:(OI)(CI)F"のように設定できます。
QVHDとVHDXどちらを使うべきですか?
A新規で作成するならVHDXを推奨します。最大64TBの容量・停電に対する堅牢性・良好なパフォーマンスが特長です。古いWindowsとの互換性が必要な場合のみVHDを選択してください。
Qdiskpartで作成したVHDをPC起動時に自動マウントするには?
Aタスクスケジューラでログオン時にマウントスクリプトを実行するトリガーを設定します。またはimdisk(フリーウェア)でシステム起動時にVHDを自動マウントする設定も可能です。
Qdiskpart clean と clean all の違いは何ですか?
Acleanはパーティションテーブルと先頭・末尾のセクターを消去するだけで高速(数秒)です。clean allはディスク全体を0で上書きするため完全消去になりますが、容量によっては数時間かかります。通常の初期化はcleanで十分で、廃棄時のデータ消去目的ならclean allを使います。
QGPTディスクにプライマリパーティションは何個まで作れますか?
AGPTは最大128個のパーティションをサポートします。MBRは4つのプライマリパーティション(または3つのプライマリ+1つの拡張)が上限です。現代のPC用途では128個まで必要になることはほぼありませんが、サーバー用途では複数パーティションを使う場面があります。

まとめ

diskpart /s スクリプトファイルを使えば、通常は手動操作が必要なディスク管理を完全自動化できます。

本記事のポイントをまとめます。

  • スクリプト実行は diskpart /s ファイル.txt: TEMPに一時ファイルを作成して実行後削除が定番パターン
  • 実行前に必ず list disk でディスク番号を確認: 番号は環境・タイミングで変わる。誤操作防止が最優先
  • 現代のPC環境はGPT一択: 2TB超対応・128パーティション・障害耐性の観点で優れる
  • ファイルシステム選択: 汎用USB→FAT32、4GB超→exFAT、Windowsのみ→NTFS
  • VHDXはポータブルな仮想ディスク: バックアップ・テスト環境に使いやすく、ファイル削除で完全廃棄できる
  • diskpartスクリプト内にコメント(::)は書かない: diskpartが認識できずエラーになる場合がある
  • ログを必ず残す: diskpart /s file.txt >> log.txtで実行結果を記録しログ管理と組み合わせる