.vdiファイルをcdまたはdvdに書き込むことができ、インストーラのようにすることができる.isoに変換することは可能です。それとも、仮想マシンを物理環境に変換することは可能ですか?
はいといいえ。
VBoxManageツールを使用すると、canVDIをディスクイメージに変換できます。このコマンド は、登録されている仮想ディスクイメージ を別のイメージファイルに複製します。仮想ディスクを別のフォーマットに変換したい場合は、これが[*]を使用するための公式のVirtualBoxツールです。
VBoxManage clonehd file.vdi output.img --format RAW
VBoxManage internalcommands converttoraw file.vdi output.img
しかし...その出力IMGファイルはISOイメージではなく、インストールされているOSは起動可能なCD/DVDから実行するように設定されません。 IMGをハードドライブに「書き込む」(書き込む)ことができます。そうすると、(仮想マシンではなく)ベアハードウェアで起動する可能性があります。しかし、そのIMGにインストールされているOSはVirtualBoxが提供する仮想ハードウェアを見ることを期待しており、期待していない実際のハードウェアで起動しているためです。
Windowsのバージョンによってはこの状況をうまく処理できません。一部のLinuxディストリビューションでは可能です。このようにOSをある環境から別の環境に移行するように(事前または事後に)OSを設定することは可能ですが、特定の手順は移行されるOSに完全に依存します。
Windowsでは、プログラムへのフルパスを指定する必要があります。
"C:\Program Files\Sun\VirtualBox\VBoxManage.exe" [...]
短いバージョンを使用するには、PATHにC:\ Program Files\Sun\VirtualBoxを追加します。
[*]" - format RAW"オプションを標準のディスクイメージに変換すると仮定します。物理ハードドライブ上のddコマンド。しかし、率直に言って、私はこれを裏付けるいかなる文書も見つけていないので、これは正しくないかもしれないことに注意してください。
[+]VirtualBox 3.1.2で両方のコマンドをテストしたところです。両方の出力ファイルはmd5sumに従って同一ですが、出力ファイルを完全にはテストしていません。
VirtualBoxフォーラムの "すべてのVDIについて"チュートリアル もご覧ください。
Vdiファイルにパーティションが含まれていて、そのうちの1つだけを抽出したい場合は、次のようにします。
まず、quack quixoteが前述したように、vdiファイルを生のイメージファイルに変換します。
# VBoxManage clonehd file.vdi file.raw --format RAW
それから画像のループデバイスを設定します。
# loopdev=$(losetup --show -r -f file.raw)
生ファイルの各パーティションにデバイスを作成するには、kpartxを使用します。
# apt-get install kpartx
# kpartx -a $loopdev
私たちが今持っているデバイスを見てください。この例では、rawイメージにはパーティションが1つしかないため、デバイスは1つだけです。
# ls /dev/mapper/loop*
/dev/mapper/loop0p1
マウントして、すべてが正しく動作することを確認します。
# mkdir /mnt/part1
# mount /dev/mapper/loop0p1 /mnt/part1
# ls /mnt/part1
# umount /mnt/part1
パーティションの内容を別のターゲットパーティションにコピーするには、ddを使用します。
# dd if=/dev/mapper/loop0p1 of=/dev/sda2 bs=1M
完了したら、デバイスのマッピングをもう一度削除します。
# kpartx -d file.raw
あなたのホストとゲストシステムがLinuxの場合、答えは明確です。それはqemu
とTKLPatch
パッケージで行われます。 VDIファイルとVMDKファイルの両方を使用できます。
続きを読む:
私は 受け入れられた答え からVBoxManage clonehd file.vdi output.img --format RAW
を試しましたが、あまり成功しませんでした。
Windows 7ホスト上のWindows 8.1仮想マシンで私にとってうまくいったのはこれです:
VBoxManage clonehd source.vdi target.vhd --format vhd
付きでWindows VHD に変換します私はこのプロセスを非常に速く、Linuxではたった2行のコマンドで実行します。
#
VBoxManage内部コマンドconverttoraw your_disk_virtual.vmdk your_disk_virtual.img
OR
#
VBoxManage内部コマンドconverttoraw your_disk_virtual.vdi your_disk_virtual.img
#
mv your_disk_virtual.img your_disk_virtual.iso
次のコマンドを使って変換します。
VBoxManage clonehd CactiEZ-disk1.vmdk output.iso --format VMDK
これが出力です。
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VMDK'. UUID: 7f297ac6-95eb-4814-9237-1acfd6be976c