2020-07-08

format コマンドでデータ消去

家族が使っているノート PC の HDD を SSD に換装したので、HDD を廃棄するためにデータを消去する手順を確認した。

いまどきの HDD と Windows であれば、Windows 標準の format コマンドだけで十分なデータ消去ができるようだ。
ただし、不良セクターの代替処理がおこなわれている場合やハードウェア障害によりエラーが発生している場合には関連するセクターのデータ消去はできない恐れがある。

format コマンドによる上書き処理

/P スイッチを使ってゼロ埋めと追加の上書きを指示する。

PS C:\WINDOWS\system32> format /?
(略)
  /P:count        Zero every sector on the volume.  After that, the volume
                  will be overwritten "count" times using a different
                  random number each time.  If "count" is zero, no additional
                  overwrites are made after zeroing every sector.  This switch
                  is ignored when /Q is specified.
(略)

以下、私による訳 

ボリュームの各セクターをゼロ埋めする。その後、毎回異なる乱数を使用して指定回数上書きする。0回を指定すると、ゼロ埋め後に追加の上書きはおこなわれない。このスイッチは /Q (クイック フォーマット)時には無視される。

要求される上書き回数

データの完全消去 - Wikipedia によると 1回で良い。以下引用

アメリカ国立標準技術研究所NIST)が2006年に発表したSpecial Publication 800-887ページでは、次のように述べられている。『2001年以降の(15GBytes以上の)集積度の高いATAハードディスクにおいては、データの完全消去はディスク全域に1回のみ上書きすれば事足りる』[4][7]。 また、Center for Magnetic Recording Researchは、次のように述べている『データの完全消去はディスクに対する1回の上書きのことである。アメリカ国家安全保障局も推奨要綱にて、同相信号除去比(CMRR)試験をした結果、複数回の上書きは何ら安全性の向上に優位な差をもたらさず、1回の上書きで十分であることを認めている』[8]。 

実際の作業コマンド ライン

実際には処分する HDD をまっさらにしてから単一のボリューム(パーティション) を作成し、そのボリュームに対して format コマンドを実行した。

PS C:\WINDOWS\system32> diskpart

Microsoft DiskPart version 10.0.19041.1

Copyright (C) Microsoft Corporation.
On computer: CXAXUKLUTH

DISKPART> list disk

  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online          476 GB  5120 KB        *
  Disk 1    Online          298 GB  7168 KB        *

DISKPART> select disk 1

Disk 1 is now the selected disk.

DISKPART> clean

DiskPart succeeded in cleaning the disk.

DISKPART> create partition primary

DiskPart succeeded in creating the specified partition.

DISKPART> assign LETTER=x

DiskPart successfully assigned the drive letter or mount point.

DISKPART> exit

Leaving DiskPart...
PS C:\WINDOWS\system32> format x: /P:1
The type of the file system is RAW.
The new file system is NTFS.

WARNING, ALL DATA ON NON-REMOVABLE DISK
DRIVE X: WILL BE LOST!
Proceed with Format (Y/N)? y
Formatting 298.1 GB
Volume label (32 characters, ENTER for none)?
Creating file system structures.
Format complete.
     298.1 GB total disk space.
     298.0 GB are available.

追記@2024/07/14 16:46

最近は再利用するかもしれないことを考えて convert gpt している。以下のファイルとコマンドラインで手間を省いている。環境ごとに diskpart スクリプトを作ってけばディスクを誤選択することもなく安全だと思う。

select disk 1
clean
convert gpt
create partition primary
format fs=ntfs label="cleantarget" quick
assign letter=x
exit
cmd /c diskpart /s diskpart_clean_disk.txt && timeout /t 15 && echo cleantarget | format x: /P:1 /V:CLEAN /Y