プロセッサによって実行されたときに前記プロセッサに仮想ディスクを暗号化させる機械実行可能命令を含むコンピュータ可読ストレージ媒体916であって、前記仮想ディスクは仮想ディスクイメージを含み、前記機械実行可能命令の実行によって、前記プロセッサが、前記仮想ディスクを受信すること600と、前記仮想ディスクのサイズを増やすこと602と、復号マスターブートレコード及び復号プログラムを前記仮想ディスクに書き込むこと604と、前記仮想ディスクイメージの少なくとも一部を暗号化すること606と、を行い、前記復号プログラムは、前記少なくとも一部が暗号化された仮想ディスクイメージを暗号鍵944によって復号するための復号用機械実行可能命令を含む、コンピュータ可読ストレージ媒体。前記仮想ディスクイメージは第1のパート406及び第2のパート408に分割され、前記仮想ディスクイメージの前記第2のパートは、前記仮想ディスクの第3の部分418に格納され、前記命令の実行によって、さらに、前記プロセッサが、前記仮想ディスクイメージの前記第1のパートを前記仮想ディスクの第4の部分420にコピーし、前記復号マスターブートレコードは前記仮想ディスクの第1の部分414に書き込まれ、前記復号プログラムは前記仮想ディスクの第2の部分416に書き込まれ、前記仮想ディスクイメージの前記第1のパートは前記仮想ディスクの前記第1及び第2の部分からコピーされ、前記命令の実行よって、さらに、前記プロセッサが、前記仮想ディスクの前記第1のパート406’及び第2のパート408’の少なくとも一部を暗号化し、前記仮想ディスクのサイズは前記仮想ディスクの前記第4の部分と前記仮想ディスクの第5の部分422とを作成するように増やされ、前記第5の部分のサイズは前記第2の部分より大きく、前記第1及び第2の部分を合わせたサイズは前記第4の部分のサイズより小さいか又はこれと等しい、請求項1に記載のコンピュータ可読ストレージ媒体。前記仮想ディスクイメージの前記第1のパートは一緒に暗号化される、及び/又は、前記仮想ディスクイメージの前記第2のパートは一緒に暗号化される、請求項1又は請求項2に記載のコンピュータ可読ストレージ媒体。前記仮想ディスクイメージはブロックに分割され、前記ブロックは、所定のブロック暗号化リストに従って選択的に暗号化される、請求項1又は請求項2に記載のコンピュータ可読ストレージ媒体。前記仮想ディスクイメージはブロックに分割され、前記命令の実行によって、前記プロセッサが、前記ブロックの各々を検査して未使用ブロックのリストを作成し、特定のブロックは、それらが未使用ブロックの前記リストにない場合にのみ暗号化される、請求項1、請求項2、又は請求項4に記載のコンピュータ可読ストレージ媒体。プロセッサによって実行されたときに前記プロセッサに暗号化された仮想ディスクを復号させる機械実行可能命令を含むコンピュータ可読ストレージ媒体938であって、前記仮想ディスクは、復号マスターブートレコードと、復号プログラムと、少なくとも一部が暗号化された仮想ディスクイメージとを含み、前記復号プログラムは、前記少なくとも一部が暗号化された仮想ディスクイメージを暗号鍵944によって復号するための復号用機械実行可能命令を含み、前記機械実行可能命令の実行によって、前記プロセッサが、前記暗号化された仮想ディスクを受信すること700、800と、前記復号マスターブートレコードを用いて仮想マシンを起動すること702、802と、前記暗号鍵を受信すること118、216、314、704、804と、前記少なくとも一部が暗号化された仮想ディスクイメージを前記暗号鍵及び前記復号プログラムによって復号すること120、218、316、706、806、808、810、812、814、816、818と、を行う、コンピュータ可読ストレージ媒体。前記少なくとも一部が暗号化された仮想ディスクイメージの前記復号は、前記仮想マシンの配置の際に行われる、請求項6に記載のコンピュータ可読ストレージ媒体。前記仮想ディスクは、前記復号マスターブートレコードを含む第1の部分と、前記復号プログラムを含む第2の部分と、前記仮想ディスクイメージの第2のパートを含む第3の部分と、前記仮想ディスクイメージの第1のパートを含む第4の部分と、ストレージ空間を含む第5の部分とを含み、前記第5の部分のサイズは前記第2の部分より大きいか又はこれと等しく、前記第1及び第2の部分を合わせたサイズは前記第4の部分のサイズより小さいか又はこれと等しく、前記少なくとも一部が暗号化された仮想ディスクイメージは、前記仮想ディスクイメージの前記第2のパートを復号すること806と、前記復号プログラムを前記仮想ディスクの前記第5の部分にコピーすること808と、前記仮想ディスクイメージの前記第1のパートの一部分を復号すること810と、前記仮想ディスクイメージの前記第1のパートの前記復号された部分を前記仮想ディスクの前記第2の部分にコピーすること812と、前記仮想ディスクイメージの前記第1のパートの残りを復号すること814と、前記仮想ディスクイメージの前記第1のパートの前記復号された残りを前記仮想ディスクの前記第1の部分にコピーすること816と、によって復号される、請求項6又は請求項7に記載のコンピュータ可読ストレージ媒体。前記命令の実行によって、さらに、前記プロセッサが、前記仮想ディスクイメージの前記第1のパートの前記復号された残りを前記仮想ディスクの前記第1の部分にコピーした後で、前記仮想ディスクの前記第4及び第5の部分におけるデータを消去する、請求項8に記載のコンピュータ可読ストレージ媒体。前記命令の実行によって、さらに、前記少なくとも一部が暗号化された仮想ディスクイメージを復号した後で、前記仮想マシンが再起動する、請求項6から請求項9のいずれか1項に記載のコンピュータ可読ストレージ媒体。仮想ディスク924を含む暗号化された仮想ディスクのコンピュータ可読ストレージ媒体914、936であって、前記仮想ディスクは、復号マスターブートレコード414と、復号プログラム416と、少なくとも一部が暗号化された仮想ディスクイメージ406’、408’、923とを含み、前記復号プログラムは、前記少なくとも一部が暗号化された仮想ディスクイメージを暗号鍵944によって復号するための機械実行可能命令を含み、前記復号プログラムは、プロセッサ932によって実行されたときに、前記プロセッサに、前記暗号鍵を受信すること118、216、314、704、804と、前記少なくとも一部が暗号化された仮想ディスクイメージを前記暗号鍵及び前記復号プログラムによって復号すること120、218、316、706、806、808、810、812、814、816と、を行わせる前記機械実行可能命令を含む、仮想ディスクのコンピュータ可読ストレージ媒体。前記仮想ディスクは、前記復号マスターブートレコードを含む第1の部分414と、前記復号プログラムを含む第2の部分416と、前記仮想ディスクイメージの第2のパート408’を含む第3の部分418と、前記仮想ディスクイメージの第1のパート406’を含む第4の部分420と、ストレージ空間を含む第5の部分422と、を含み、前記第5の部分のサイズは、前記第2の部分より大きいか又はこれと等しく、前記第1及び第2の部分を合わせたサイズは、前記第4の部分のサイズより小さいか又はこれと等しい、請求項11に記載の仮想ディスクのコンピュータ可読ストレージ媒体。前記少なくとも一部が暗号化された仮想ディスクイメージは、前記仮想ディスクイメージの前記第2のパートを復号すること806と、前記復号プログラムを前記仮想ディスクの前記第5の部分にコピーすること808と、前記仮想ディスクイメージの前記第1のパートの一部分504を復号すること810と、前記仮想ディスクイメージの前記第1のパートの前記復号された部分を前記仮想ディスクの前記第2の部分にコピーすること812と、前記仮想ディスクイメージの前記第1のパートの残りを復号すること814と、前記仮想ディスクイメージの前記第1のパートの前記復号された残り506を前記仮想ディスクの前記第1の部分にコピーすること816と、によって復号される、請求項12に記載の仮想ディスクのコンピュータ可読ストレージ媒体。前記仮想ディスクは、前記少なくとも一部が暗号化された仮想ディスクイメージの前記復号の進行を格納するための復号状態データファイルを含み、前記復号プログラムの前記機械実行可能命令の実行によって、さらに、前記プロセッサが、前記少なくとも一部が暗号化された仮想ディスクイメージの復号の際に、前記復号状態データファイルを更新することと、前記少なくとも一部が暗号化された仮想ディスクイメージの前記復号を開始するときに、前記復号状態データファイルをチェックすることと、を行う、請求項11又は請求項13に記載の仮想ディスクのコンピュータ可読ストレージ媒体。仮想ディスクイメージを含む仮想ディスクを暗号化するための方法であって、前記仮想ディスクを受信すること600と、前記仮想ディスクのサイズを増やすこと602と、復号マスターブートレコード及び復号プログラムを前記仮想ディスクに書き込むこと604と、前記仮想ディスクイメージの少なくとも一部を暗号化すること606と、を含み、前記復号プログラムは、前記少なくとも一部が暗号化された仮想ディスクイメージを暗号鍵944によって復号するために提供される、方法。配布前に仮想ディスクイメージ全体を暗号化することは、幾つかの不利な点を有する。第一に、あるフォーマットの仮想ディスクイメージが、復号されず、別のフォーマットに変換されない場合がある。第二に、仮想ディスクイメージを復号及びインストールするために、管理者が必要である。これは、仮想ディスクイメージを復号するための暗号鍵又は認証情報を管理者に提供する必要があるため、問題となる場合がある。仮想ディスクシステムのエンドユーザ又はオペレータは、暗号鍵又は認証情報を管理者と共有することを望む場合もあるし、望まない場合もある。本発明は、仮想ディスクを暗号化するための命令を含むコンピュータ可読ストレージ媒体と、暗号化された仮想ディスクを復号するための命令を含むコンピュータ可読ストレージ媒体と、独立請求項における仮想ディスクを含む暗号化された仮想ディスクのコンピュータ可読ストレージ媒体とを提供する。実施形態は、従属請求項において与えられる。本発明の実施形態は、これら及び他の問題を、少なくとも一部が暗号化された仮想ディスクイメージを復号するための復号プログラムとともに、暗号化マスターブートレコードを暗号化された仮想ディスクイメージ上に配置することによって、解決することができる。暗号化マスターブートレコードは、仮想マシンを起動するために用いられるマスターブートレコードである。次に、仮想マシン自身が、復号プログラム及び暗号認証情報を用いて、暗号化された仮想ディスクイメージを復号する。これによって、暗号認証情報をオペレータに提供する必要はなくなる。本発明の実施形態は、仮想ディスクから仮想ディスクを暗号化又は復号することができるという利点を有する。本発明の実施形態は、使用済みブロックのみを暗号化するように本方法を設定することができるという利点を有する。このことによって、より速い暗号化と、暗号化するデータ量の減少とがもたらされる。本発明の実施形態は、仮想ディスクをオンザフライで暗号化及び復号することができるという利点を有する。さらに、仮想ディスクの一部のみを暗号化することができる。例えば、仮想ディスクのブロックを選択的に暗号化することができる。仮想ディスクの特定のフォーマットに特有のデータ又はレコードを含む仮想ディスクの部分は、暗号化されないまま残しておくことができる。これによって、仮想ディスクを復号することなく仮想ディスクを変換することが可能になる。本明細書において用いられるコンピュータ可読ストレージ媒体は、コンピュータ装置のプロセッサによって実行可能な命令を格納することができるいずれかの有形のストレージ媒体を含む。コンピュータ可読ストレージ媒体は、一時的でないコンピュータ可読ストレージ媒体と呼ばれることがある。コンピュータ可読ストレージ媒体は、有形のコンピュータ可読媒体と呼ばれることもある。幾つかの実施形態においては、コンピュータ可読ストレージ媒体は、コンピュータ装置のプロセッサがアクセスすることができるデータを格納することが可能なものとすることもできる。コンピュータ可読ストレージ媒体の例として、フロッピーディスク、磁気ハードディスクドライブ、固体ハードディスク、フラッシュメモリ、USBサムドライブ、ランダムアクセスメモリRAM、読み出し専用メモリROM、光ディスク、磁気光ディスク、及びプロセッサのレジスタファイルを挙げられるが、これらに限定されるものではない。光ディスクの例として、例えばCD-ROM、CD-RW、CD-R、DVD-ROM、DVD-RW、又はDVD-Rディスクといった、コンパクトディスクCD及びデジタル多用途ディスクDVDが挙げられる。コンピュータ可読ストレージ媒体という用語はまた、コンピュータ装置がネットワーク又は通信リンクを介してアクセスすることができる種々のタイプの記録媒体を指す。例えば、モデム、インターネット、又はローカルエリアネットワークを介して、データを取得することができる。コンピュータメモリは、コンピュータ可読ストレージ媒体の一例である。コンピュータメモリは、プロセッサが直接的にアクセス可能ないずれかのメモリである。コンピュータメモリの例として、RAMメモリ、レジスタ、及びレジスタファイルが挙げられるが、これらに限定されるものではない。コンピュータストレージは、コンピュータ可読ストレージ媒体の一例である。コンピュータストレージは、いずれかの不揮発性コンピュータ可読ストレージ媒体である。コンピュータストレージの例として、ハードディスクドライブ、USBサムドライブ、フロッピィドライブ、スマートカード、DVD、CD-ROM、及び固体ハードドライブが挙げられるが、これらに限定されるものではない。幾つかの実施形態においては、コンピュータストレージは、コンピュータメモリである場合もあるし、その逆の場合もある。本明細書において用いられるコンピュータ装置又はコンピュータシステムは、プロセッサを含むいずれかの装置を指す。本明細書において用いられるプロセッサは、プログラム又は機械実行可能命令を実行することができる電子部品を含む。プロセッサを含むコンピュータ装置というときには、1つより多くのプロセッサを含む場合があるものとして解釈されるべきである。コンピュータ装置という用語はまた、各々がプロセッサを含むコンピュータ装置の集合体又はネットワークを指す場合があるものとして解釈されるべきである。多くのプログラムは、同一のコンピュータ装置内に存在するか又は複数のコンピュータ装置にわたって分散する場合もある複数のプロセッサによって実行される命令を有する。本明細書において用いられるユーザインターフェースは、ユーザ又はオペレータがコンピュータ又はコンピュータシステムと対話できるようにするインターフェースである。ユーザインターフェースは、情報又はデータをオペレータに提供し、及び/又は、オペレータから情報又はデータを受信することができる。データ又は情報をディスプレイ又はグラフィカルユーザインターフェース上に表示することは、情報をオペレータに提供することの一例である。キーボード、マウス、トラックボール、タッチパッド、ポインティングスティック、グラフィックスタブレット、ジョイスティック、ゲームパッド、ウェブカム、ヘッドセット、ギアスティック、ステアリングホイール、ペダル、有線グローブ、ダンスパッド、リモートコントロール、及び加速度計を通じてデータを受信することは全て、オペレータから情報又はデータを受信することの例である。本明細書において用いられる仮想化ソフトウェア、仮想化プログラム、及び仮想化モジュールは全て、コンピュータシステムが仮想コンピュータシステムを動作させられるようにするソフトウェア又はコンピュータ実行可能命令を指す。本明細書において用いられる仮想マシン又は仮想コンピュータシステムは、仮想的に実装されるコンピュータシステム又はコンピュータシステム上で動作しているソフトウェアによってシミュレートされるコンピュータシステムを含む。本明細書において用いられる暗号鍵又は暗号認証情報は、データファイルを復号するために復号アルゴリズムが用いることができる鍵、認証情報、又はパスワードを含む。本明細書において用いられる仮想ディスクは、仮想化プログラムが仮想ディスクイメージとして用いることができるデータを含む。仮想ディスクは、仮想化システム又は仮想システムがアクセスすることができるファイルシステムを含む場合がある。仮想ディスクはまた、起動可能なオペレーティングシステムを含む場合がある。1つの態様において、本発明は、プロセッサによって実行されたときにプロセッサに仮想ディスクを暗号化させる機械実行可能命令を含むコンピュータ可読ストレージ媒体を提供する。仮想ディスクは、仮想ディスクイメージを含む。仮想ディスクイメージは、既存のディスクファイルシステムのイメージ、又は仮想ディスクイメージを作成する目的で構築されたディスクファイルシステムのイメージである。機械実行可能命令の実行によって、プロセッサが仮想ディスクを受信する。機械実行可能命令の実行によって、さらに、プロセッサが仮想ディスクのサイズを増やす。仮想ディスクは、実質的に、コンピュータ可読ストレージ媒体又は異なるコンピュータ可読ストレージ媒体上に格納されたファイルとすることができる。仮想ディスクのサイズは、仮想ディスクの最初又は最後にブロックを追加することによって、増やすことができる。機械実行可能命令の実行によって、さらに、プロセッサが復号マスターブートレコード及び復号プログラムを仮想ディスクに書き込む。復号マスターブートレコードは、仮想コンピュータ又はコンピュータシステムが仮想ディスクイメージを用いるときに起動するマスターブートレコードである。復号マスターブートレコードは、仮想コンピュータシステムが仮想ディスクを復号するために復号プログラムを動作させることができるようにする。機械実行可能命令の実行によって、さらに、プロセッサが仮想ディスクイメージの少なくとも一部を暗号化する。復号プログラムは、少なくとも一部が暗号化された仮想ディスクイメージを暗号鍵によって復号するための復号用機械実行可能命令を含む。仮想ディスクイメージは、暗号鍵に基づいて復号プログラムを用いて仮想ディスクイメージを復号することができるように、暗号化される。幾つかの実施形態においては、仮想ディスクイメージ全体が暗号化される。他の実施形態においては、仮想ディスクイメージの特定の部分のみが暗号化される。例えば、仮想ディスクの一部が未使用の場合には、ディスクイメージのこれらの部分は暗号化する必要がない。仮想ディスクの特定の部分が、例えばアプリケーションプログラム又は機密データといった暗号化によって保護されることが望ましい機密情報を含むかどうかを判定することも可能な場合がある。仮想ディスクイメージの復号は、保護される必要がある仮想ディスクのこれらの部分を選択的に用い、保護される必要のない部分を暗号化しないことによって、高速化することができる。本発明の実施形態は、幾つかの利点を有する。例えば、復号マスターブートレコードを仮想ディスク及び復号プログラムに追加することによって、エンドユーザが仮想ディスクイメージの復号を行うことができるようになる。これによって、管理者がこのタスクを行う必要がなくなる。別の実施形態においては、仮想ディスクイメージは、第1のパート及び第2のパートに分割される。仮想ディスクは、第1、第2、第3、第4、及び第5の部分に分割される。仮想ディスクイメージは、元々、仮想ディスクの第1、第2、及び第3の部分にわたって存在する。仮想ディスクイメージの第2のパートは、仮想ディスクの第3の部分に格納される。命令の実行によって、さらに、プロセッサが仮想ディスクイメージの第1のパートを仮想ディスクの第4の部分にコピーする。仮想ディスクイメージの第1のパートは、仮想ディスクの第1及び第2の部分から、仮想ディスクの第4の部分にコピー又は移動される。復号マスターブートレコードは、仮想ディスクの第1の部分に書き込まれる。仮想ディスクが仮想システムにロードされ、仮想システムが仮想ディスクを起動するときに、復号マスターブートレコードは、仮想システムに復号プログラムを動作させることになる。復号プログラムは、仮想ディスクの第2の部分に書き込まれる。上述されたように、仮想ディスクイメージの第1のパートは、仮想ディスクの第1及び第2の部分からコピーされる。仮想ディスクイメージの第1のパートは、復号マスターブートレコード及び復号プログラムがそれぞれ仮想ディスクの第1の部分及び第2の部分に書き込まれる前に、仮想ディスクの第1及び第2の部分からコピーされる。命令の実行によって、さらに、プロセッサが仮想ディスクイメージの第1のパート及び第2のパートの少なくとも一部を暗号化する。仮想ディスクのサイズは、仮想ディスクの第4の部分と仮想ディスクの第5の部分とを作成するように増やされる。第5の部分のサイズは、第2の部分より大きいか又はこれと等しい。第1及び第2の部分を合わせたサイズは、第4の部分のサイズより小さいか又はこれと等しい。復号マスターブートレコードが、第1の部分にあり、仮想システムに復号プログラムを起動させることになるため、本発明のこの実施形態は有利な場合がある。別の実施形態においては、仮想ディスクイメージの第1のパートは一緒に暗号化される。この実施形態においては、仮想ディスクイメージの第1のパート全体は、単一の暗号化されたデータファイルとして暗号化される。別の実施形態においては、仮想ディスクイメージの第2のパートは一緒に暗号化される。この実施形態においては、仮想ディスクイメージの第2のパートは、単一のデータファイルとして暗号化される。別の実施形態においては、仮想ディスクイメージは、ブロックに分割される。本明細書において用いられるブロックは、ディスク又は仮想ディスクイメージのデータの一部又は下位部分である。ブロック内のデータは、ディスク又は仮想ディスクによってアドレス指定可能である。ブロックは、所定のブロック暗号化リストに従って選択的に暗号化される。ブロック暗号化リストは、仮想ディスクイメージの暗号化の際に暗号化されるブロックのリストである。例えば、オペレータは、仮想ディスクイメージのどのブロックが、暗号化によって保護されることが望ましいデータを含むかを判定することができる。例えば、これらのブロックは、機密のデータ又は情報を含む場合がある。同様に、これらのブロックは、ライセンスが購入されるアプリケーションを含む場合がある。プログラムがインターネット上で送信される場合には、コード又はデータの実行可能なバージョンを保護することが望ましい。別の実施形態においては、仮想ディスクイメージは、ブロックに分割される。命令の実行によって、プロセッサが、ブロックの各々を検査して未使用ブロックのリストを作成する。特定のブロックは、それらが未使用ブロックのリストにない場合にのみ暗号化される。コンピュータ可読ストレージ媒体は、使用されないブロックを暗号化することを避けるため、この実施形態は特に有利である。これらのブロックは使用されないので、これらを保護する必要はない。幾つかの仮想ファイルシステムにおいては、未使用データは、ファイルシステムの一部であるが使われない場合がある。ファイルシステムのこれらの部分を暗号化しないことによって、仮想ディスクをより小さくすることができる。コンピュータ可読ストレージ媒体の前述の実施形態はまた、本発明の他の態様を提供する。例えば、本発明によって、本発明の一実施形態によるコンピュータ可読ストレージ媒体に収容された機械可読命令を収容する又は含むコンピュータシステムが提供される。同様に、機械実行可能命令の実行によって、プロセッサが、同じく方法及びコンピュータ実装方法を提供する種々のステップ又はアクションを行う。コンピュータ可読ストレージ媒体の実行可能命令はまた、コンピュータプログラム製品及び/又はコンピュータシステムを提供する。別の態様においては、本発明は、プロセッサによって実行されたときにプロセッサに暗号化された仮想ディスクを復号させる機械実行可能命令を含むコンピュータ可読ストレージ媒体を提供する。仮想ディスクは、復号マスターブートレコードと、復号プログラムと、少なくとも一部が暗号化された仮想ディスクイメージとを含む。復号プログラムは、少なくとも一部が暗号化された仮想ディスクイメージを暗号鍵によって復号するための復号用機械実行可能命令を含む。機械実行可能命令の実行によって、プロセッサが、暗号化された仮想ディスクを受信する。機械実行可能命令の実行によって、さらに、プロセッサが復号マスターブートレコードを用いて仮想マシンを起動する。機械実行可能命令の実行によって、さらに、プロセッサが暗号鍵を受信する。暗号鍵を受信する順序は重要ではない。例えば、プロセッサは、仮想ディスクイメージが復号される前のいずれかの時点で、暗号鍵を受信することができる。機械実行可能命令の実行によって、さらに、プロセッサが、少なくとも一部が暗号化された仮想ディスクイメージを暗号鍵及び復号プログラムによって復号する。機械実行可能命令によって、プロセッサが仮想ディスクを起動し、仮想ディスクは、復号マスターブートレコードを介して、暗号化された仮想ディスク上のオペレーティングシステムを起動する。次いで、これによって、仮想マシンが復号プログラムを動作させる。次いで、復号プログラムは、少なくとも一部が暗号化された仮想ディスクイメージを復号する。少なくとも一部が暗号化された仮想ディスクイメージを復号するためには、暗号鍵と復号プログラムの両方が必要である。別の実施形態においては、少なくとも一部が暗号化された仮想ディスクイメージの復号は、仮想マシンの配置の際に行われる。現状の技術水準においては、管理者が、暗号化された仮想ディスクを受信し、それを復号することになる。しかしながら、これは、多くの場合、仮想マシンのエンドユーザ又はオペレータが復号の実施を管理者に依存することになるため望ましいことではない。本発明の実施形態は、エンドユーザ又はオペレータ自身が復号を行うことができるという利点を有する。別の実施形態においては、仮想ディスクは、復号マスターブートレコードを含む第1の部分を含む。仮想ディスクは、復号プログラムを含む第2の部分をさらに含む。仮想ディスクは、仮想ディスクイメージの第2のパートを含む第3の部分をさらに含む。仮想ディスクは、仮想ディスクイメージの第1のパートを含む第4の部分をさらに含む。幾つかの実施形態においては、仮想ディスクイメージの第1のパートは、仮想ディスクイメージに含まれたオペレーティングシステムを起動するためのマスターブートレコードを含むことがある。少なくとも一部が暗号化された仮想ディスクイメージの復号が完了すると、第4の部分におけるこのマスターブートレコードを用いて、仮想マシンを起動することができる。仮想ディスクは、ストレージ空間を含む第5の部分を含む。第5の部分のサイズは、第2の部分より大きい。第1及び第2の部分を合わせたサイズは、第4の部分のサイズより小さいか又はこれと等しい。少なくとも一部が暗号化された仮想ディスクイメージは、仮想ディスクイメージの第2のパートを復号することによって復号される。少なくとも一部が暗号化された仮想ディスクイメージは、さらに、復号プログラムを仮想ディスクの第5の部分にコピーすることによって復号される。少なくとも一部が暗号化された仮想ディスクイメージは、仮想ディスクイメージの第1のパートの一部分を復号することによって復号される。少なくとも一部が暗号化された仮想ディスクイメージは、さらに、仮想ディスクイメージの第1のパートの復号された部分を仮想ディスクの第2の部分にコピーすることによって復号される。仮想ディスクイメージは、さらに、仮想ディスクイメージの第1のパートの残りを復号することによって復号される。仮想ディスクイメージは、さらに、仮想ディスクイメージの第1のパートの復号された残りを仮想ディスクの第1の部分にコピーすることによって復号される。このように復号を行うことは、復号をいずれかの時点で中断することができるという利点を有する。例えば、第5の部分は、復号プロセスの状態を保持するデータファイルを含むことができる。別の実施形態においては、命令の実行によって、さらに、プロセッサが、仮想ディスクイメージの第1のパートの復号された残りを仮想ディスクの第1の部分にコピーした後で、仮想ディスクの第4及び第5の部分におけるデータを消去する。別の実施形態においては、命令の実行によって、さらに、少なくとも一部が暗号化された仮想ディスクイメージを復号した後で、仮想マシンが再起動する。コンピュータ可読ストレージ媒体の前述の実施形態はまた、本発明の他の態様を提供する。例えば、本発明によって、本発明の一実施形態によるコンピュータ可読ストレージ媒体に収容された機械可読命令を収容する又は含むコンピュータシステムが提供される。同様に、機械実行可能命令の実行によって、プロセッサが、同じく方法及びコンピュータ実装方法を提供する種々のステップ又はアクションを行う。コンピュータ可読ストレージ媒体の実行可能命令はまた、コンピュータプログラム製品及び/又はコンピュータシステムを提供する。別の態様においては、本発明は、仮想ディスクを含む暗号化された仮想ディスクのコンピュータ可読ストレージ媒体を提供する。仮想ディスクは、復号マスターブートレコードと、復号プログラムと、少なくとも一部が暗号化された仮想ディスクイメージとを含む。復号プログラムは、少なくとも一部が暗号化された仮想ディスクイメージを暗号鍵によって復号するための機械実行可能命令を含む。別の言い方をすれば、復号プログラムと暗号鍵との組み合わせを用いて、少なくとも一部が暗号化された仮想ディスクイメージを復号する。復号プログラムは、プロセッサによって実行されたときにプロセッサに暗号鍵を受信させる機械実行可能命令を含む。幾つかの実施形態においては、暗号鍵は、復号プログラムによって入力されるように指示される場合があり、又は、暗号鍵は、別のプログラムによって復号プログラムに渡される場合がある。例えば、仮想コンピュータシステムを動作させるための仮想化ソフトウェアが、復号プログラムに暗号鍵を渡す場合がある。復号プログラムの機械実行可能命令の更なる実行によって、プロセッサが、少なくとも一部が暗号化された仮想ディスクイメージを暗号鍵及び復号プログラムによって復号する。別の実施形態においては、仮想ディスクは、復号マスターブートレコードを含む第1の部分を含む。仮想ディスクは、復号プログラムを含む第2の部分をさらに含む。仮想ディスクは、仮想ディスクイメージの第2のパートを含む第3の部分をさらに含む。仮想ディスクは、仮想ディスクイメージの第1のパートを含む第4の部分をさらに含む。仮想ディスクは、ストレージ空間を含む第5の部分をさらに含む。第5の部分のサイズは、第2の部分より大きいか又はこれと等しい。第1及び第2の部分を合わせたサイズは、第4の部分のサイズより小さいか又はこれと等しい。別の実施形態においては、少なくとも一部が暗号化された仮想ディスクイメージは、仮想ディスクイメージの第2のパートを復号することによって復号される。仮想ディスクは、さらに、復号プログラムを仮想ディスクの第5の部分にコピーすることによって復号される。仮想ディスクイメージは、さらに、仮想ディスクイメージの第1のパートの一部分を復号することによって復号される。仮想ディスクは、さらに、仮想ディスクイメージの第1のパートの復号された部分を仮想ディスクの第2の部分にコピーすることによって復号される。仮想ディスクは、さらに、仮想ディスクイメージの第1のパートの復号された部分を仮想ディスクの第2の部分にコピーすることによって復号される。仮想ディスクイメージは、さらに、仮想ディスクイメージの第1のパートの残りを復号することによって復号される。仮想ディスクイメージは、さらに、仮想ディスクイメージの第1のパートの復号された残りを仮想ディスクの第1の部分にコピーすることによって復号される。別の実施形態においては、仮想ディスクは、少なくとも一部が暗号化された仮想ディスクイメージの復号の進行を格納するための復号状態データファイルを含む。復号プログラムの機械実行可能命令の実行によって、さらに、プロセッサが、少なくとも一部が暗号化された仮想ディスクイメージの復号の際に復号状態データファイルを更新する。復号プログラムの機械実行可能命令の実行によって、さらに、プロセッサが、少なくとも一部が暗号化された仮想ディスクイメージの復号を開始するときに復号状態データファイルをチェックする。復号状態データファイルの状態をチェックすることによって、復号が元々中断されていた場合には、途中から復号を開始することができる。別の実施形態においては、命令の実行によって、さらに、プロセッサが、仮想ディスクイメージの第1のパートの復号された残りを仮想ディスクの第1の部分にコピーした後で、仮想ディスクの第4及び第5の部分のデータを消去する。別の実施形態においては、命令の実行によって、さらに、少なくとも一部が暗号化された仮想ディスクイメージを復号した後で、復号プログラムを実行する仮想マシンを再起動する。コンピュータ可読ストレージ媒体の前述の実施形態はまた、本発明の他の態様を提供する。例えば、本発明によって、本発明の一実施形態によるコンピュータ可読ストレージ媒体に収容された機械可読命令を収容する又は含むコンピュータシステムが提供される。同様に、機械実行可能命令の実行によって、プロセッサが、同じく方法及びコンピュータ実装方法を提供する種々のステップ又はアクションを行う。コンピュータ可読ストレージ媒体の実行可能命令はまた、コンピュータプログラム製品及び/又はコンピュータシステムを提供する。以下において、本発明の好ましい実施形態が、単なる例として、添付の図面への参照を行いながらより詳細に説明される。以下において、これらの図面における同様の符号が付された要素は、類似の要素であるか、又は同等の機能を果たす。機能が同等の場合には、先に説明された要素が必ずしも後の図面で説明されるわけではない。図1は、本発明の一実施形態による仮想ディスク100の復号を示す。仮想ディスク100は、暗号化されている仮想ディスクイメージ102と、仮想ディスクイメージ102を復号するための復号プログラム104とを含む。図には、仮想コンピュータシステム又はマシンを動作させるための仮想化ソフトウェアを含むコンピュータシステム106も示される。図1には、オペレータ108及びユーザ110が示される。図1に示される図は、本発明の一実施形態による仮想ディスク100を用いるときに、オペレータ108及びユーザ110によって取られるアクションを説明している。図1に示されるステップは、仮想ディスク及びその復号を最初に起動するためのものである。ステップ1は、112と表記される。このステップにおいて、オペレータ108は、仮想ディスク100をコンピュータシステム106に格納する。ステップ2すなわち114において、ユーザ110は、コンピュータシステム106の仮想化ソフトウェアを用いて仮想マシンを起動する。ステップ3すなわち116において、復号プログラム104が開始され、ユーザ110に認証情報又はパスワードを要求する。ステップ4すなわち118において、ユーザ110は、認証情報又はパスワードを復号プログラム104に提供する。ステップ5すなわち120において、復号プログラム104は、認証情報又はパスワードを用いて、仮想ディスクイメージ102を復号する。ステップ6すなわち122において、仮想マシンは再起動し、このとき仮想マシンは、復号された仮想ディスクイメージ102から起動する。本発明の一実施形態による仮想ディスク100を用いる際には、2つの異なる使用シナリオが可能である。仮想ディスクイメージ102のインポートの際に復号が行われる場合があり、仮想ディスクイメージ102の配置の際に復号が行われる場合もある。仮想システムのインポートの際に仮想ディスクイメージ102が復号される場合には、オペレータは、認証情報を知っており、これを、仮想システムを管理するための1つ又は複数のプログラムに渡す。次いで、仮想システムを管理するためのプログラムは、イメージをインポートし、それをオンザフライで復号する。配置の際に復号を行う第2の可能性の場合には、オペレータは、認証情報を知らず、復号せずにイメージをインポートするよう求める。仮想ディスクイメージは、ユーザが認証情報について指示される配置時に、仮想システムのデータベースに格納される。図2は、仮想システムのインポートの際の復号の例を示す。図2においては、仮想システムイメージサーバ202として機能するコンピュータシステム200が示される。仮想システムイメージサーバ202は、オペレータ208によって要求されたときに、仮想システムのイメージを提供する。同じく格納されるか、又はコンピュータシステム200によってアクセス可能であるのは、仮想システムイメージサーバ202を介してアクセス可能な仮想ディスクのリポジトリである仮想ディスクリポジトリ204である。図1に示される復号プログラム104と同等の復号モジュール206も存在する。ステップ1において、オペレータ208は、仮想ディスクをダウンロードする。ステップ2すなわち212において、オペレータは、仮想システムイメージサーバ202によって管理されるシステムへの仮想ディスクのインポートを要求する。ステップ3すなわち214において、仮想システムイメージサーバ202は、オペレータ208に認証情報又はパスワードを要求する。ステップ4すなわち216において、オペレータ208は、認証情報又はパスワードを仮想システムイメージサーバ202に提供する。ステップ5において、仮想システムイメージサーバ202は、仮想ディスクから仮想ディスクイメージをインポートし、オペレータ208によって提供された認証情報又はパスワードを用いて、仮想ディスクイメージをオンザフライで復号する。図3は、配置の際における仮想ディスクイメージの復号を示す。この図において示されるのは、仮想ディスクリポジトリ204に格納された仮想ディスクイメージを管理する仮想システムイメージサーバ202を伴うコンピュータシステム200である。図3に示される例においては、仮想ディスクイメージの配置の際における復号に用いられる第2のコンピュータシステム300が存在する。第2のコンピュータシステム300は、ターゲット仮想システム302を動作させるためのものである。ターゲットシステム302内には、オペレーティングシステム配置ツール301がある。オペレーティングシステム配置ツール301は、仮想ディスクイメージ内の仮想システムを配置するために設けられる。ターゲット仮想システム内には、復号モジュール303もある。復号モジュールは、パスワード又は暗号認証情報を用いて仮想ディスクイメージを復号するためのソフトウェアモジュール又は復号プログラムである。オペレータ304及びユーザ306が示される。参照符号308で示される第1のステップにおいて、オペレータ304は、第2のコンピュータシステム300への仮想システムの配置を要求又は始動させる。第2のステップ2参照符号310で示されるにおいて、ターゲット又は仮想システムは、オペレーティングシステム配置ツール301上で起動する。第3のステップ3参照符号312で示されるにおいて、オペレーティングシステム配置ツール301は、ユーザ306に暗号パスワード又は認証情報を要求する。第4のステップ4参照符号314で示されるにおいて、ユーザ306は、暗号パスワード又は認証情報をオペレーティングシステム配置ツール301に提供する。第5のステップ5316としても参照されるにおいて、オペレーティングシステム配置ツールは、仮想ディスクイメージをダウンロードし、これを、暗号パスワード又は認証情報と復号モジュール303とを用いて復号する。ステップ6318としても参照されるにおいて、仮想ディスクイメージが復号された後で、仮想システムの配置は、復号された仮想ディスクイメージ上で続行する。図4aから図4eは、本発明の一実施形態による仮想ディスクイメージのブロックベースの暗号化の方法を示す。図4aにおいては、仮想ディスク400及び仮想ディスクイメージ402が示される。仮想ディスクイメージを構成するブロックは、1~nと表記される。次に、ユーザは、仮想ディスクイメージを暗号化するために、暗号化ツール又はプログラムを開始させる。第1のステップにおいて、暗号化ツールは、仮想ディスクのサイズを増やす。このことが、図4bに示されている。仮想ディスク400の最後に、空のオペレーティングシステムブロック404の領域が作成される。次のステップにおいて、仮想ディスクイメージは、第1のパート406と第2のパート408とに分割される。仮想ディスクイメージの第1のパート406は、仮想ディスクイメージ400の最後にある空のオペレーティングシステムブロック404にコピーされる。図4dにおいて、暗号化ツールが復号マスターブートレコード410及び復号プログラム412を仮想ディスク400の第1のパート及び第2のパートにコピーすることが示される。図4eは、最終ステップを示す。暗号化ツール又はソフトウェアは、仮想ディスクイメージの第1のパート406’を暗号化し、仮想ディスクイメージの第2のパート408’を暗号化する。暗号化された仮想ディスクイメージ406’、408’のブロックの全てが暗号化されることもあり、ブロックが選択的に暗号化されることもある。図4eにおいては、仮想ディスク400が5つの部分に分割されていることも示される。仮想ディスクの第1の部分414は、復号マスターブートレコード410を含む。仮想ディスクの第2の部分416は、復号プログラム412を含む。仮想ディスクの第3の部分418は、仮想ディスクイメージの暗号化された第2のパート408’を含む。仮想ディスクの第4の部分420は、仮想ディスクイメージの暗号化された第1のパート406’を含む。仮想ディスクの第5の部分422は、仮想ディスク400の最後に位置する。種々の実施形態においては、第5の部分422は、復号状態を記録したデータ、ジャーナルデータ、復号において用いられる一時データ、及びそれらの組み合わせを含むことができる。図5a~図5dは、仮想マシンから起動されたときの仮想ディスク400の仮想ディスクイメージ406’、408’の復号を示す。図5aは、図4eと同一である。第1のステップにおいて、仮想マシンは、仮想ディスク400上で起動し、仮想ディスクのマスターブートレコード410を起動する。次に、マスターブートレコード410は、復号プログラム412をロードする。次いで、復号プログラム412は、暗号化された仮想ディスクイメージ406’、408’を復号するために用いる暗号認証情報又はパスワードを要求する。図5bにおいては、復号プロセスが示される。仮想ディスク400の2つの異なる図が示されている。500と表記されたブロックは、仮想ディスクイメージの第2のパートにおける復号されたブロックである。502と表記されたブロックは、仮想ディスクイメージの第2のパートにおける暗号化されたブロックである。図5bに示される上の図では、4と表記されたブロックのみが復号されたブロック500である。仮想ディスクイメージの第2のパートの残りは、暗号化されている。図5bの下の部分は、仮想ディスクイメージの第2のパート408の全てのブロックが復号されたブロック500であることを示す。図5cは、仮想ディスク400の復号の更なる進行を示す。仮想ディスクイメージの第2のパート408の全てのブロックが復号された後で、復号プログラム412は、仮想ディスクの第5の部分422にコピーされる。次に、仮想ディスクイメージの第1のパート406’の一部が復号され、仮想ディスクの第2の部分416にコピーされる。仮想ディスクイメージの第1のパート406’の残り506が復号され、仮想ディスクの第1の部分414にコピーされる。この実施形態においては、仮想ディスクイメージの第1のパートの残り506は、マスターブートレコード410を上書きした。仮想ディスクイメージの暗号化された第1のパート406’及び復号プログラム412は上書きされ、空のオペレーティングシステムブロック404が残る場合がある。5dに示される図は、図4bに示されるものと同等である。これは、仮想ディスク400の少なくとも一部が暗号化された仮想ディスクイメージ402を復号するために、図5に示される方法をどのように用いたかを示している。図6は、本発明による仮想ディスクイメージを暗号化する実施形態を説明する流れ図を示す。ステップ600において、仮想ディスクが受信される。仮想ディスクは、仮想ディスクイメージを含む。ステップ602において、仮想ディスクのサイズが増やされる。ステップ604において、復号マスターブートレコード及び復号プログラムが仮想ディスクに書き込まれる。ステップ606において、仮想ディスクイメージの少なくとも一部が暗号化される。図7は、本発明の一実施形態による仮想ディスクを復号する方法を説明する流れ図を示す。ステップ700において、暗号化された仮想ディスクが受信される。ステップ702において、仮想ディスクに含まれる復号マスターブートレコードを用いて、仮想マシンが起動される。ステップ704において、暗号鍵が受信される。仮想ディスクは、少なくとも一部が暗号化された仮想ディスクイメージを含む。ステップ706において、少なくとも一部が暗号化された仮想ディスクイメージが、仮想ディスク上にある復号プログラムを用いて復号される。復号プログラムは、復号するために、少なくとも一部が暗号化された仮想ディスクイメージの復号を行うための復号プログラムと共に、暗号鍵を用いる。図8は、本発明の更なる実施形態による、暗号化された仮想ディスクを復号する方法を説明する流れ図を示す。ステップ800において、暗号化された仮想ディスクが受信される。ステップ802において、復号マスターブートレコードを用いて、仮想マシンが起動される。ステップ804において、暗号鍵が受信される。ステップ806において、仮想ディスクイメージの第2のパートが、暗号鍵と仮想ディスク上に配置された復号プログラムとを用いて復号される。ステップ808において、復号プログラムが仮想ディスクの第5の部分にコピーされる。ステップ810において、仮想ディスクイメージの第1のパートの一部分が復号される。ステップ812において、仮想ディスクイメージの第1のパートの復号された部分が、仮想ディスクの第2の部分にコピーされる。ステップ814において、仮想ディスクイメージの第1のパートの残りが復号される。ステップ816において、仮想ディスクイメージの第1のパートの復号された残りが、仮想ディスクの第1の部分にコピーされる。ステップ818において、仮想マシンが再起動される。図8において示される方法は、図5によって示される方法と同様のものである。図9は、2つのコンピュータシステム、すなわち、仮想ディスクを暗号化するための第1のコンピュータシステム900と、仮想ディスクを復号するための第2のコンピュータシステム902とを示す。第1のコンピュータシステム900と第2のコンピュータシステム902との間には、ネットワーク通信904が存在する。第1のコンピュータシステムは、コンピュータネットワーク904に接続するためのネットワークインターフェース906を有し、第2のコンピュータシステム902は、コンピュータインターフェース904に接続するためのネットワークインターフェース908を有する。ネットワーク接続904は、イーサネット接続又はインターネット接続のような、いずれかの標準的なコンピュータインターフェースとすることができる。第1のコンピュータシステム900は、ユーザインターフェース912及びネットワークインターフェース906に接続されたプロセッサ910を有する。プロセッサ910は、コンピュータストレージ914及びコンピュータメモリ916にも接続される。コンピュータストレージ914内には、暗号化されていない仮想ディスク918がある。暗号化されていない仮想ディスクは、暗号化されていない仮想ディスクイメージを含む。同じくコンピュータストレージ914内には、復号マスターブートレコード920がある。同じくコンピュータストレージ914内には、復号プログラム922がある。同じくコンピュータストレージ914内には、暗号化された仮想ディスク924がある。暗号化された仮想ディスク924は、復号マスターブートレコード920と、復号プログラム922と、少なくとも一部が暗号化された仮想ディスクイメージ923とを含む。暗号化された仮想ディスク924はまた、少なくとも一部が暗号化された仮想ディスクイメージを含むこともある。コンピュータメモリ916は、暗号化ツール926を含む。暗号化ツール926は、プロセッサ910に、暗号化されていない仮想ディスク918と、復号マスターブートレコード920と、復号プログラム922とを用いて、暗号化された仮想ディスク924を作成させる機械実行可能命令を含む、ソフトウェアモジュール又はプログラムである。暗号化ツール926を用いて、図4及び図6に示される方法を実装することができる。幾つかの実施形態においては、コンピュータメモリ916は、暗号モジュール928と、暗号認証情報生成モジュール930とを含む。暗号モジュール928は、暗号化されていない仮想ディスク918を暗号化するために用いられる。暗号認証情報生成モジュール930は、任意のモジュールであり、暗号認証情報を生成するために用いることができる。例えば、暗号認証情報生成モジュールを用いて、非対称暗号化アルゴリズムのための暗号鍵ペアを生成することができる。第2のコンピュータシステム902はまた、プロセッサ932を含む。プロセッサ932は、ネットワークインターフェース908及びユーザインターフェース934に接続される。プロセッサ932は、コンピュータストレージ936及びコンピュータメモリ938にも接続される。コンピュータストレージ936は、第1のコンピュータシステム900からの暗号化された仮想ディスク924を含む。この実施形態においては、ネットワーク接続904を用いて、暗号化された仮想ディスク924を転送した。また、コンピュータストレージ936内には、暗号化用暗号鍵944がある。コンピュータメモリ938は、仮想化モジュール942を含む。仮想化モジュール942は、プロセッサ932が、仮想コンピュータシステムを動作させ、操作できるようにする。図に示されるように、暗号化された仮想ディスク924を復号するのに必要なのは、仮想化モジュール942及び暗号鍵944だけである。この図面はまた、エンドユーザが、暗号化された仮想ディスク924をオペレータの支援なしにどのように復号することができるかを示している。