Sizka Super-microDX付属USBメモリのブート可能なコピーの作り方

Super-microDX付属のUSBメモリは保証の対象外らしい。取扱説明書とは別のぺら紙に書いてあった。

なのでコピーを作っておきたいのだが、付属のUSBメモリFreeDOSをブートできるようになっているので、コピーしたUSBメモリもやはりFreeDOSが起動してくれると非常に嬉しい。

思いつく安直な方法といえば、

  1. ddでUSBメモリのRAWイメージを吸い出す(catでもOK)
  2. 吸い出したイメージを他のUSBメモリに書き込む。

――というものだけど、これだと吸い出したイメージより大きなUSBメモリを使わなくてはならないし、イメージを書き込んだUSBメモリは実質的に2GBの容量となってしまう*1

しかも運が悪いことに、付属のUSBメモリもコピー先として使いたいUSBメモリも2GBなのだけど、コピー先の方が微妙に小さい。2GBといいつつもbyte単位に直すと少しばかり容量が異なるのだ。

という訳で別解を考えてみた。

  1. 事前にコピー先USBメモリを確認し、パーティション(基本領域)が存在する一般的(?)なタイプか確認しておく(世の中にはMBRパーティションもないフォーマットが可能なツールがあるらしい)。違ったら直しておく。ここでは基本領域が1つだけでUSBメモリ全体を使用している状態だとする。
  2. コピー先となるUSBメモリパーティションをアクティブにしておく。
  3. 他のPC等にて、付属USBのファイルをそのままコピー先USBメモリに全てコピーする。
  4. コピー先USBメモリを接続した状態でSuper-microDXを起動し、内蔵FLASHメモリのFreeDOSをブート。
  5. 「fdisk /info」で接続したUSBメモリのドライブ番号を確認。仮に 1 だったとする。
  6. 「fdisk /mbr 1」でUSBメモリMBRにブートストラップローダを書き込む。
  7. 「fdisk /reboot」で再起動し、再度内蔵FLASHメモリのFreeDOSをブート。*2
  8. 接続したUSBメモリのドライブレターが C だったとする。「sys C: bootonly」でPBRのみを書き込む。
  9. これで再起動してUSBメモリからブートすると、USBメモリ側のFreeDOSが起動する。

USBメモリの中身は500〜600MB程度だったので、この方法なら1GBのUSBメモリにコピーすることも可能かもしれない。

パーティションをアクティブにする作業はFreeDOSのfdiskでも可能かもしれないけど、試していない。私の場合はUbuntu上でファイルをコピーした際に合わせてアクティブにした。

あと気になるのはパーティションタイプで、付属のUSBメモリもコピー先もFAT32(0B)だったのだけど、FAT32 LBA(0C)でも大丈夫だろうか? 確かFreeDOSはLBAをサポートしていたはずだけど、ブートもOKなのだろうか?

*1:これ、後からパーティションを操作して元の容量まで大きくできたかなあ?

*2:もしかしたらこの作業は不要かもしれない。