ディスクをフォーマットする format

現在ではあまり必要性がないかもしれないが、Windowsにはディスクをフォーマットするためにformatというコマンドが用意されている。このコマンドを使用すると、ドライブが割り当てられたストレージデバイスをフォーマットしてファイルを格納可能な状態にすることができる。

formatコマンドの基本的な使い方は次のとおり。

formatコマンドの基本的な使い方

format ボリューム [/fs:{FAT|FAT32|NTFS}] [/v:ラベル] [/q] [/a:ユニットサイズ] [/c] [/x] [/p:パス数] [/f:サイズ] [/t:トラック数 /n:セクタ数]

formatコマンドに指定できるパラメータとその内容は次のとおり。

パラメータ 内容
/fs:ファイルシステム FAT、FAT32、NTFSのどれかを指定する。フォーマットするファイルシステムを指定
/v:ラベル ボリュームラベルを指定。/vを指定しなかった場合にはフォーマット後にラベルの入力を求めるプロンプトが表示される
/a:ユニットサイズ アロケーションユニットサイズを指定。アロケーションユニットサイズを指定しなかった場合にはディスクのサイズに応じて自動的にユニットサイズが指定される。/aは指定せずにデフォルトで選択される値を使うことが推奨されている。指定できる値は512、1024、2048、4096、8192、16K、32K、64K。FATおよびFAT32ではセクタサイズに128Kおよび256Kを指定することも可能
/q クイックフォーマットを実行。ファイルテーブルと以前にフォーマットされたボリュームのルートディレクトリの削除を実行し、不良領域のセクタ毎のスキャンは実行しない
/f:サイズ フォーマットするフロッピーディスクのサイズを指定
/t:トラック数 ディスクのトラック数を指定。可能であればこのパラメータは指定せずに/fパラメータを使うことが好ましい
/n:セクタ数 トラック毎のセクタ数を指定。可能であればこのパラメータは指定せずに/fパラメータを使うことが好ましい
/p:パス数 指定されたパスの回数分、ボリューム上のセクタをゼロ処理する
/c ファイルシステム上に作成されるファイルを自動的に圧縮する(NTFSのみ)
/x フォーマットする前に必要に応じてボリュームのマウントを解除する

formatコマンドではファイルシステムとしてFAT、FAT32、NTFSの3つのファイルシステムが指定できるようになっている。デフォルトではNTFSでフォーマットが実施される。

formatコマンドは、たとえば新しいハードディスクやSSD、NVMeを購入してきてPCに接続した場合などに、最初に対象をフォーマットする目的で使用できる。通常はドライブとして認識させた段階でフォーマットを実施することになるので、明示的にformatコマンドを使うことは少ないのではないかと思うが、フォーマットはformatコマンドでも行うことができる。

もうひとつはディスクを綺麗にまっさらな状態にしたいとか、USBメモリの内容をまっさらな状態にしたいといった場合に、formatコマンドを使うことができる。formatコマンドを使うと対象のドライブは中身がクリアされるので(実際にデータがすべて上書きされるわけではないのだが、基本的にもうフォーマット前のデータにはアクセスできなくなる)、再度フレッシュな状態で使い出すことができる。

formatコマンドの実行サンプル

formatコマンドはドライブなどを指定する必要があるので、対象のディスクにドライブが割り当てられている必要がある。新しいハードディスクを取り付けた場合などは、次のように「ディスクの管理」を使って先にハードディスクにドライブを割り当てる必要がある。

ディスクの管理からドライブの割当を実施する

どのように割り当てるかはボリュームウィザード経由で実施可能

この例だとE:ドライブとして新しく接続したハードディスクが認識された

formatコマンドのパラメータを指定せずにドライブだけ指定して実行すると次のようになる。ファイルシステムはNTFSが選択された状態でフォーマットが実行されることがわかる。なお、formatコマンドの実行には管理者権限のコマンドプロンプトが必要だ。

ドライブだけを指定してformatコマンドを実行

次の例はそれぞれファイルシステム(FAT、FAT32、NTFS)を指定してフォーマットを実行した結果だ。指定したファイルシステムでフォーマットされたことがわかる。

FATでフォーマット

FAT32でフォーマット

NTFSでフォーマット

formatコマンドで明示的に指定するのはファイルシステムの種類とラベルと、あとは処理時間を短くしたい場合に/qを指定するといったくらいだろうか。それ以外はデフォルトで計算される値が使われれば特に問題なく利用を開始することができると思う。

知っておいていいかもformatコマンド

インターネットを経由してファイルのやり取りが可能になった現在では、以前のようにリムーバブルディスクを使っていたときよりもformatコマンドが使われるシーンは少なくなったように思う。USBメモリは最初からフォーマットされているし、そもそもファイルエクスプローラから操作が可能なので、特別にコマンドプロンプトから作業する必要性が低いといえる。

特段必須というわけではないのだが、formatコマンドは知っておくと「なんとなくプロっぽくてよい」かもしれない。

なお、必要なデータが格納されたドライブはformatコマンドでフォーマットしてはいけない。データが消えてしまうからだ。

formatコマンドはそう頻繁に利用するコマンドではないので、利用する時は指定するドライブに充分注意して欲しい。誤ってデータが消えると大惨事である。

参考資料