USBメモリのフォーマットでは消せない領域

最終更新日

フォーマットでは、USBメモリのMBRが消えない。

USBメモリをDOS起動ディスクとして使ったりしていると、Windowsによるフォーマットではリセットされない領域が作られていることがあります。

USBメモリ用のDOS起動ディスク作成ソフトを使用し、容量がどう変わるのかを調べてみました。

  • 作業1: RufusでFreeDOS起動ディスクを作成
  • 作業2: RMPrepUSBでFreeDOS起動ディスクを作成

    RMPrepUSBの場合はさらに3種類の設定で試行。

    • no MBR (MBRなし)
    • with MBR (MBRあり)
    • 2PTN(パーティションを2つ作成。内一つは隠しパーティション)

使用したUSBメモリは500MB。フォーマットはWindowsの標準機能で行っています。

USBメモリの容量表示の変化
エクスプローラ上の容量(MB) フォーマット画面の容量(MB)
初期化直後 - 492
初期化→フォーマット[基準] 491 492
作業1→フォーマット 490 491
作業1→フォーマット→作業2(2PTNS)→フォーマット 470 470
作業2(no MBR)→フォーマット 491 492
作業2(with MBR)→フォーマット 477 477
作業2(2PTNS)→フォーマット 470 470
作業2(2PTNS)→フォーマット→作業1→フォーマット 490 491

上の表からわかるのは、MBR有りや複数パーティションで処理したものは、1度フォーマットし直した後も容量が回復できていないことです。

USBメモリのブートセクタや隠しパーティションは、フォーマットしても消されずに残っています。エクスプローラからは見えませんが、バイナリエディタ等で見ることができます。

USBメモリの内容をバイナリエディタで見る方法

バイナリエディタを使ったことがない場合は、入手してください。とりあえず、HxDで説明します。

HxD - Freeware Hex Editor and Disk Editor
https://mh-nexus.de/en/hxd

HxD ダウンロード
https://mh-nexus.de/en/downloads.php?product=HxD

HxDはフリーのバイナリエディタで、ストレージの内容を直接見ることができます。インストール版とポータブル版があります。

  1. HxD.exeを管理者として実行。
  2. メニューのエクストラ(X)→ディスクを開く(D)
  3. 論理ディスクのUSBメモリ、または物理ディスクのリムーバブルディスクの中からUSBメモリに該当するものを選ぶ。
  4. ok

USBメモリの先頭セクタを消去

バイナリエディタを使って手作業ですることもできますが、ソフトを使う方が簡単です。コマンドでも可能です。

ソフトで消去

いくつかありますが、私が普段使っているソフト(2つ)だけ紹介します。

  • HDD LLF Low Level Format Tool
  • RMPrepUSB Portable版

HDD LLF Low Level Format Tool

http://hddguru.com/software/HDD-LLF-Low-Level-Format-Tool

ローレベルフォーマット(ゼロフィル)をするソフトです。Perform quick wipeにチェックを入れれば、パーティション情報やMBRだけを消去できます。

USBメモリ・SDカード等のフラッシュメモリやHDDに対して使用可能。

シェアウェアですが、個人・ホームユースの場合は無料で使えます。(処理速度制限あり、50MB/sまで。USBメモリの容量なら気にしないでよいでしょう。USB2.0以下なら50MB/s未満です)

使い方
  1. HDDLLF.4.40.exeを起動
  2. 消去したいUSBメモリを選択
  3. Continue
  4. LOW-LEVEL FORMATタブ選択
  5. Perform quick wipe (just remove partitions and MBR)にチェック
  6. FORMAT THIS DEVICE

RMPrepUSB Portable版

フリーのブータブルUSBストレージ作成ソフトです。ダウンロード方法等は、前回の記事のRMPrepUSB Portable版の部分をご参照ください。MBRや隠しパーティションを消去するには、Cleanボタンを使います。

使い方
  1. RMPREPUSB.exeを起動
  2. 消去したいUSBメモリを選択(画面上の方)
  3. Cleanボタンをクリック(画面右下)
  4. 英語のメッセージウインドウが表示される。(内容は、指定のUSBメモリを消去して良いか)
    →OK
  5. 他のウインドウが最小化され、コマンドプロンプト画面とメッセージウインドウが表示される。(ウインドウメッセージの内容はやっぱり、消去して良いか)
    →OK
  6. "Driver MBR has been wiped"と表示されたら、消去成功。
    →OK

Cleanコマンドで消去 (Windowsの場合)

  1. コマンドプロンプト(cmd.exe)を管理者として起動
  2. diskpart
  3. list disk
    (USBメモリのdisk番号を確認)
  4. select disk (上で確認した数字)
  5. clean
  6. このままではフォーマットできないため、パーティションを作成 *

    create partition primary

Diskpart→Cleanコマンドで消去

* cleanコマンドを実行後に、USBメモリをフォーマットしようとすると、容量が「不明な容量」と表示されます。

この状態では、Windowsでフォーマットしようとしても失敗し、「Windowsはフォーマットを完了できませんでした。」と表示されます。(RufusやRMPrepUSB等で起動ディスクを作成する場合は問題なし)

いったんdiskpart、またはディスクの管理(diskmgmt.msc)[あるいはコンピューターの管理→記憶域→ディスクの管理(ローカル)]からパーティションを作成してからフォーマットしなければなりません。

HDDLLFで消去した場合 … フォーマット可能

HDDLLFで消去後はパーティション有

Cleanコマンドで消去した場合 … フォーマット不可

Cleanコマンドで消去した直後はパーティション無

Cleanコマンドで消去した後、パーティションを作成 … フォーマット可能

Cleanコマンド→パーティション作成後

消去の結果

消去方法によって消される範囲は少し違うようですが、ちゃんとMBRや隠しパーティション領域が解放されるので問題ありません。

左: 消去前の状態
右: HDDLLFでQuick Low-Level Format。セクタ0、セクタ1ともに消去。

bin_USBflash_b4_wipeMBR.pngHDDLLFでQuick Low-Level Format

左: RMPrepUSBでClean処理。セクタ0消去、セクタ1残存。
右: WindowsでCleanコマンド使用。セクタ0残存、セクタ1消去。

RMPrepUSBでClean処理したUSBメモリの内容 WindowsでCleanコマンド使用後のUSBメモリの内容

※ とりあえずセクタ0と1だけ比較。他のセクタについては未確認。

USBメモリ全体を消去 (先頭セクタも含めて)

先頭セクタ等だけでなく、USBメモリの全領域をきれいさっぱり消したい時に。(USBメモリにも寿命がありますので、必要な時だけにしてください)

前章のHDD LLF Low Level Format Toolでローレベルフォーマットすれば、先頭セクタも含めて全部消されます。

  1. HDDLLF.4.40.exeを起動
  2. 消去したいUSBメモリを選択
  3. Continue
  4. LOW-LEVEL FORMATタブ選択
  5. Perform quick wipe (just remove partitions and MBR) チェックなし
  6. FORMAT THIS DEVICE
関連記事