仮想マシンを物理環境に変換することは可能ですか?
.vdiファイルをCDやDVDに焼いてインストーラーのようにすることができる.isoに変換することは可能ですか?それとも、仮想マシンを物理環境に変換することは可能でしょうか?
.vdiファイルをCDやDVDに焼いてインストーラーのようにすることができる.isoに変換することは可能ですか?それとも、仮想マシンを物理環境に変換することは可能でしょうか?
VDIをディスクイメージに変換するには、VBoxManageツールを使用します。このコマンドは 登録された仮想ディスクイメージを別のイメージファイルにクローンする です。仮想ディスクを別の形式に変換したい場合は、これが公式のVirtualBoxツールです[*]。
VBoxManage clonehd file.vdi output.img --format RAW
VBoxManage internalcommands converttoraw file.vdi output.img
But… 出力されるIMGファイルはISOイメージではありませんし、インストールされているOSは起動可能なCD/DVDから実行するように設定されていません。あなたは、ハードドライブ上のIMGを “焼く"(書き込み)することができ、それは裸のハードウェア(例えば、仮想マシンではない)上で起動することがあります。しかし、IMG にインストールされている OS は VirtualBox が提供する仮想ハードウェアを見ることを期待しているので、期待していない実際のハードウェア上で起動しているかもしれません。
Windows の一部のバージョンはこの状況をうまく処理できません。このように、ある環境から別の環境へ移行するために(事前または事後に)OSを設定することが可能な場合もありますが、具体的な手順は移行するOSに完全に依存します。
Windowsの場合、プログラムのフルパスを指定する必要がある場合があります。
"C:\Program Files\Sun\VirtualBox\VBoxManage.exe" [...]
Add C:\Program Files\Sun\VirtualBox to your PATH to the short version.
[*] 私は、”–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を使ってrawファイル内の各パーティション用のデバイスを作成する。
# 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
終了後、再度デバイスマッピングを削除します。
答えは、あなたのホストとゲストシステムが Linux の場合、間違いなく yes です。これは qemu
と TKLPatch
のパッケージで行われます。VDI ファイルと VMDK ファイルの両方を使うことができます。
続きを読む
VBoxManage clonehd file.vdi output.img --format RAW
を 受理された答え から試してみましたが、あまり成功しませんでした。
Windows 7ホスト上のWindows 8.1仮想マシンでうまくいったのは以下の通りです。
1.VirtualBoxでWindows 8.1マシンを作成し、通常のVMと同じようにインストールして使用します。
2. 2. Virtual Boxの.vdiハードディスクをWindows VHDに変換 VBoxManage clonehd source.vdi target.vhd --format vhd
3. VHDをホストWindowsマシンにドライブとしてマウントする ](http://blogs.msdn.com/b/virtual_pc_guy/archive/2009/02/05/mounting-vhds-with-windows-7.aspx) (コンピュータ管理のディスクマネージャーでVHDをマウントできます。)
4.
4. ドライブとしてマウントしたVHDを別の新しいハードディスク(私の場合はUSB接続のラップトップのHD)にクローンする DriveImage XML または同様のディスククローンツールを使用します。これで基本的には、仮想ハードディスク.vdiをベアメタルにクローンしたことになります。
5. 5. 新しいハードディスクをマシンにインストールします。(私の場合はラップトップのHDDをスワップ)
6. Windows 8.1をインストールしたUSB/CDを挿入し、そこから起動して、詳細オプションと自動修復を選択。自動修復で新しいハードディスクが起動可能になります。
7. クローン化されたWindows 8.1をインストールした新しいハードディスクから起動し、Windows Updateを実行します。これにより、VirtualBoxでWindowsを起動した時にはわからなかったコンピュータのハードウェア用のドライバがダウンロードされます。不足しているドライバがあれば、手動でインストールする必要があります。
8. VirtualBox ゲスト追加をアンインストールします。オプションで VirtualBox をインストールして、ベアメタルの Windows 8.1 を VirtualBox ホストにできるようにします。
私はこの処理を、Linuxでたった2行のコマンドで、非常に高速に行っています:
#
VBoxManage internalcommands converttoraw your yourdisk_virtual.vmdk your_diskvirtual.img
OR
#
VBoxManage internalcommands converttoraw your_disk img
OR
#
VBoxManage internalcommands converttoraw yourdisk_virtual.vdi yourdisk_virtual.img0x6& mv yourdisk_virtual.img yourdisk_virtual.iso
My full article. http://www.previsioni.com.br/jailsonjan/?p=389