意外と便利な Hyper-V の Virtual Floppy Disk
星の数ほど VM を造り続けてきた Hyper-V の猛者たちも、意外と使ったことのない機能。それが Virtual Floppy Disk (vfd) ではありますまいか。かくいう私も、フロッピーディスクなどというレガシーメディアを VM で使うことなど絶無、、、いや、Windows Server 2003 の VM でASR (Automated System Recovery) の検証したときぐらいかな。あ、あと、実は、SCVMM がテンプレート内の VM に応答ファイル(unattend.xml) を食わせるときにひっそり使っているのですが、いずれにせよ、まぁ目立たない機能です。
が、実はこの VFD には便利な性質があります。こいつは Hyper-V の仮想マシンにおいて
スナップショットの影響を受けない、唯一の書込可能ストレージ
なのですよ。
たとえばこんな状況を考えてみてください。
- 私(や、あなた)は仮想マシンの展開を自動化する仕組みを検証しています。
- sysprep 済みイメージから起動した後、 oobeSystem フェーズで実行される SetupComplete.cmd をいろいろいじっています。
- sysprep 直前の状態でスナップショット取得!
- sysprep /generalize /oobe /reboot して展開の検証!
- SetupComlete.cmd が実行されたけど、どうも結果が思わしくないので、このスクリプトをがりがりと修正。
さて、もう一度 sysprep 試そうか、と「3」で取得したスナップショットに戻ったら、残念。せっかく直した SetupComplete.cmd も元に戻ってしまいました。VMware の VM だとスナップショットの影響を受けない独立型の VMDK を作れますが、 Hyper-V には今のところそういうのがありません。
スナップショットで過去に戻る前に、失われては困るファイルはネットワーク越しに別のマシンに逃がしたりすればよいのですが、外界に繋ぎたくない VM ってのもありますよね。。。
そこで VFD ですよ!
Hyper-V マネージャーから「新規」→「フロッピー ディスク」をクリック。
ファイル名を指定して、VFD 作成。
仮想マシンに装着!
これで OK!
ゲスト OS 側で A: にアクセスすると、こんな風に聞かれますので。
ま、普通にフォーマットしてください。なんか懐かしいですね。
1457664 バイト! 懐かしいですね。 (私は 1250304 バイトのほうが懐かしいですが)
あとはこの A: ドライブに、unattend.xml でも setupcomplete.cmd でも、好きなものを保存しましょう。スナップショットで過去に戻っても、A:ドライブは最新のままです。
お試しあれ。
__END__