久々に備忘録
最近、linux などのUSBブート用に仕立てた USBメモリが、formatして再利用できなくなっていることに気が付いた。
今どきの linux のUSBブート用のメモリを iso イメージから作った場合、いくつかのパーティションに分断されていることが多い。このため、単純にフォーマットして再利用するわけにはいかなくなってきている。
このため、これらの USBメモリを再利用しようとした場合、一般的には以下の手順をとることになる。
・diskpart などで、分割されたパーティションを1つづつ削除して未使用領域にする。
・すべてのパーティションを削除して全体を一つの大きな未使用領域にまとめる。
・NTFS なり exFATなりの希望の形式にフォーマットする。
ところが、どうも権限の問題からか、削除できないパーティションが残ってしまうことがあって、うまくフォーマットされない(フォーマットできない)ことがある。
一見、これはUSBメモリが壊れたかのように見えるのだが・・・どうもそうではないようだ。
よくわからないけども、USBからブートしようとして、いったんUSBメモリにEFIブート領域が確保されてしまった場合は、Windowsの標準コマンドで削除できないのが原因?
見た感じ、1度でもEFIブートに使用したUSBメモリは先頭のパーティションが削除できないように見えてます。(それ以外の領域を、強引にフォーマットして使う手もありそうですけど、全量が使えないのはなんか嫌ですよね?)
で、発見した解決策。
ChkFlshというツールで、EFIを破壊する。www
このツールの、読み書きチェック機能で物理的にEFIパーティションを破壊したら普通にフォーマットできるようになりました。
読み書きチェックはメディア全体に行わなくても、先頭の少しだけ行って stop しても充分のようです。