8/29の演習会の最中に、FAU の dd.exe を使って作成した USB メモリの exFAT パーティションのイメージファイルを、編集してから USB メモリに書き戻すって作業をしようとしていたのですが、ukky3 さんに VDK でやれば書き戻さずにそのままマウントしてテストできるから簡単!と教えていただいたのでやり方を忘れないうちにメモ。
VDK は Windows Vista でも動くってことで、とりあえず手元の Vista Sp1 な環境へダウンロード。
Virtual Disk Driver Version 3
http://chitchat.at.infoseek.co.jp/vmware/vdkj.html#top
インストールは vdk install とすればよいだけなので簡単。
さて、FAU の dd.exe でとりあえず USB メモリ上にある exFAT の領域をイメージ作成。USB メモリが 2GB あるので、そのまま全体をイメージ作成すると大きくなり扱いにくいので、exFAT でフォーマットした領域(32MB)だけをコピー。(例:dd.exe if=\\.\f: of=c:\temp\exFAT.dd --localwrt)
exFAT のイメージファイルでディレクトリエントリを勝手に編集とかした後、その結果を確認したい場合に、VDK を使ってイメージをマウントしてみます。とりあえず、8/29 もこんな感じで実行した気がするので、まず実行。
c:\temp\vdk32-050406>vdk open * c:\temp\exfat.dd /WB /L:h Virtual Disk Driver for Windows version 3.1 http://chitchat.at.infoseek.co.jp/vmware/ Virtual Disk ドライバを開始しました。 'c:\temp\exfat.dd' ファイル種別が判別できませんでした。 単純なセクタイメージファイルとして開きます。 仮想ディスク 0 アクセス種別 : 書き込みブロック ディスク容量 : 64197 セクタ (31 MB) ジオメトリ : (C) 31 * (H) 64 * (S) 32 総ファイル数 : 1 種別 サイズ パス ------- ------- ---- FLAT 64197 c:\temp\exfat.dd パーティション : # 開始セクタ サイズ 種別 -- ------------ --------------------- ---- 0 0 64197 ( 31 MB) <disk>
で、Vista 上からドライブが見えない状態だったので、別途リンク作業を実施した気がするので実行。
c:\temp\vdk32-050406>vdk link 0 0 h: Virtual Disk Driver for Windows version 3.1 http://chitchat.at.infoseek.co.jp/vmware/ ドライブ文字 'H' をディスク 0 パーティション 0 に割り当てました。
確かこんな流れだったような(笑)リンクの解除は >vdk ulink 0 0 とかすれば OK みたいですね。
ディスク全体ではなく、ボリュームイメージなのでそもそものマウント時に
vdk open * c:\temp\exfat.dd /WB /P:0 /L:h
とかすればいいんですかね。あれ?エクスプローラから H: を見ると無効なパスを参照してますとか言われるなぁ。でもコマンドプロンプトからは問題ないんですけど>Vistaさん
演習会の時にはうまく動いていたので、手元の Vista が腐っている気がしないでもないので、いちど再起動しよう。