virtual machine – VirtualBoxのVMを別のコンピュータに移動させるおすすめの方法は?

virtual-machine virtualbox virtualization

私はUbuntuマシンでVirtualBox 4.1.xを使用しており、いくつかの仮想マシンを設定しています。VirtualBox内の仮想マシンを別のコンピュータに移動させる方法がいくつかあるので、どれがおすすめなのか悩んでいました

  1. インポート/エクスポートユーティリティ」を使用します
  2. .vdiファイルと.vboxファイルを含む仮想マシンフォルダ全体をコピーします
  3. Virtual Media Manager」を使用してVDIをクローンし、ターゲットマシン上にVMを再作成しますが、クローンしたVDIをハードディスクとして使用します

私は何度か1番目の方法を使用して成功しましたが、それはいつもうまくいきました。問題は、エクスポートとインポートの後、ディスクイメージがVDIではなくVDKに変換されてしまうことです

2番目の方法が一番簡単だと思いますが、単にファイルをコピーしただけではターゲットマシン上でうまくいくかどうかはわかりません。この方法について検索してみると、VirtualBox.xmlファイルを編集しないと解決しないという問題を抱えている人がいました!

最後に3つ目の方法ですが、元のVMの構成に近いVMを作るという余計な作業が必要になり、好ましくありません

上記の説明から、私の希望する方法が2番目の方法であることは明らかですが、これがうまくいくかどうかは専門家のアドバイスが必要です。XML編集が邪魔になるのは嫌だ!

VirtualBox を使用して VM を別のコンピュータに安全に転送する最良の方法は何ですか?

  269  Seyed Mohammad  2013-08-18


ベストアンサー

よく調べたわね私は定期的に3つのオプションを使用しています

  1. (「インポート/エクスポートユーティリティ」を使用)。これは最も簡単な方法で、VM全体を一つのファイルにまとめ、毎回問題なく転送することができます。しかし、私の経験では、エクスポート用に OVA または OVF ファイルを作成すると、すべてのスナップショットが破棄されてしまい、間違った処理をすると VMDK ファイルになってしまうことがあります。VMを再インポートする際には、作成するHDDファイルのタイプをVDIかVDKかを選択できるようにしてください

  2. (.vdi.vboxファイルを含む仮想マシンフォルダ全体をコピーします)。これは私の好みのオプションで、何度かXMLファイルを編集しなければならなかったが、何かを台無しにしてしまったのは私自身のせいだ。VM をコピーするときには、それに関連するすべてのファイルを取得するようにしてください。私が遭遇した問題は、特定のスナップショットとセカンダリVDIファイルが間違ったディレクトリにあり、適切にコピーされていない場合でした。すべてのファイル(およびパーミッション)をコピーしていれば、何の問題もないはずです

  3. (「Virtual Media Manager」を使用してVDIをクローンし、ターゲットマシン上にVMを再作成しますが、クローンしたVDIをハードディスクとして使用します)。これは、VMのコピーが2つになり、VDIファイルのクローン方法によっては、ライセンスの問題やネットワークの問題などが発生する可能性があるため、あまり好ましくありません

要約すると、私は間違いなくオプション2をお勧めします、ただ、それを移動するときに必要なファイルをすべて取得することを確認してください

193  tbenz9  2013-08-18


メソッド2は、XMLの修正を必要とせずに(VirtualBox 4.0以降で)正常に動作するようになりました

  1. 仮想マシンを停止します
  2. Exit VirtualBox
  3. VMフォルダを新しい場所にコピーします
  4. VirtualBoxを再起動し、古いVMを削除します
  5. 機械」メニュー≥「追加」に移動し、新しい場所を参照します

That’s it!

ps.私はOSX 10.10でVirtualBox 4.3.20を使用しています

詳細については、この VirtualBox フォーラムの投稿を参照してください

60  David  2015-09-24


私の好ましい選択肢は、同様にオプション2です

  1. .vdi と .vbox ファイルを含む VM フォルダ全体をコピーします

しかし、時々 UUID の不一致が発生することがあります。これは、あるマシンのVDIディスクイメージを別のマシンにコピーしただけで起こることが多いのですが、私はフルディレクトリのストレートコピーでも起こりました

なので、仮想マシンを移動して新しいセットアップで起動しようとした後に表示されるメッセージがこれなら

ハードディスクを開けませんでした

UUIDのハードディスクが既に存在するため、ハードディスクを登録できません

仮想マシンのディレクトリに入るだけです。もちろん、実際のパスは実際のパスに合わせて変更してください

cd /full/path/to/virtualbox/virtualmachine/Sandbox

そして、このコマンドを実行して、ディスクに新しいUUIDを割り当てます

VBoxManage internalcommands sethduuid Sandbox.vdi

22  Giacomo1968  2015-09-25


この答えを探している人がいるかもしれませんが、私は5つのVirtual Box VMを同じマシン上の新しいハードドライブ上の別のWin7インストールに移動させることに成功しました(基本的には同じPC上のあるゲストOSから別のOSへの移動)。全く新しいマシンのドライバは、おそらく異なるだろうし、移動に悪影響を及ぼす可能性があることは理解していますが、誰かの助けになればと思い、以下のプロセスを文書化しました

  • VMをクローンしたり、xmlファイルを変更したりする必要はありませんでした。VBのバージョンは、4.3.12r93773とかなり最新のものでした
  • VM の新しいコピーを新しいフォルダ/共有ドライブに作成し、既存/古い VM を無傷で保持しました。新しいセットアップに満足するまでは、冗長性と問題解決のために保持した古いハードドライブから起動することができ、必要に応じて以前の状態の古い VM にアクセスすることができます
  • ドライブレターは、ご使用の環境によっては必要ない場合もあります

古いWin7ホストで

  1. すべての VM の電源がオフになっていることを確認します

新しいWin7ホストで

  1. X:\NewVMs\VirtualBox VMs (From New Win7 machine to ensure permissions OK)という名前の新しいフォルダを作成します
  2. 古いフォルダからこのフォルダにすべてのVMと関連フォルダの内容をコピー/貼り付け(ドラッグしない) (新しいパーミッションを使用)
  3. VirtualBoxをアンインストールします(インストールされている場合)
  4. .virtualbox フォルダとすべてのコンテンツ(既存の場合)を削除します
  5. REBOOT を実行して、プログラム ファイルやレジストリ エントリが残っていないことを確認します (古い VirtualBox をアンインストールする場合)
  6. VirtualBox のインストール/再インストール (古いホスト/マシンで VM が作成された VirtualBox と同じバージョンを使用していることを確認してください (私の場合は ver.4.3.12r93773)) 重要: (インストールの最後に VirtualBox を開く/実行するためのチェックボックスを選択しないでください)
  7. 古いWin7ホスト(通常はC:\Users[username].VirtualBox.Comopy/paste (ドラッグしないでください) .virtualboxフォルダと内容を古いWin7ホストからコピー/ペーストします
  8. ここでVirtualBoxを開きます
  9. 新規作成したDefault VM作成フォルダの環境設定を、新規作成したVirtualBox VMsフォルダと同じファイルパスに設定します。X:\NewVMsVirtualBox VMs
  10. VMのテスト状況

Good luck.

9  Steven Kelly  2014-08-16


特別な場合のために

  • 一つのVMしか持っていない場合(または、すべてのVMを移動したい場合)は、次のようにします
  • とホストが同じハードウェアで同じOSのバージョン(または同じマシンに同じOSを再インストール)であること

この場合、物事は簡単です

  1. 両方のホストでVirtualBoxをシャットダウンします
  2. ソースホストから.config/VirtualBoxVirtualBox VMsフォルダをコピーします
  3. これらのフォルダを宛先ホストにコピーします
  4. 移行先のホストでVirtualBoxを起動します

2  Nicolas Raoul  2016-03-22


第四の道

In VirtualBOX:

  1. VMの電源を切る
  2. 右クリックしてVMを削除します(ファイルは削除しないでください)
  3. file>Virtual Media Managerに移動して、.vdiを削除します
  4. ファイル] > [環境設定] > [全般]に移動し、デフォルトのマシンフォルダを新しい場所に設定します
  5. 新しいVMを作成するには、エキスパートモードを使用して、ハードドライブのないVMを作成します

ファイルエクスプローラで

  1. .vdiファイルを探してコピーします
  2. 新しいデフォルトのマシンフォルダに移動して、中にVMフォルダがあります
  3. .vdiファイルを新しいVMフォルダに貼り付けます

VirtualBOXに戻る

  1. VMを右クリックして設定を開きます
  2. Storage>Controllerに移動します。SATAに移動し、ハードディスクを追加して、既存のディスクを選択してください 11.新しいVMフォルダ内の.vdiファイルを選択します

Note: 方法2でVirtualBOXのインストールが壊れた場合は、C:\Users.VirtualBoxに移動してVirtualBox.xmlを削除し、VirtualBox.xml-prevの名前をVirtualBox.xmlに変更してください

1  peterjtk  2018-06-28


私は同様に方法2を使用して仮想マシンを移動し、私はXMLファイルに変更を加える必要はありませんでしたが、USBとファイル共有でいくつかのエラーが発生したので、以下はプロセスと一緒にそれらを修正する方法です

  1. 仮想マシンを古いPCから新しいPCにコピーします。仮想マシンのファイルは、Oracle Virtual Machine 自体とは異なります。これらのファイルは、通常 c:users\\VirtualBox VMs\ にあります。VirtualBox VMs全体をピックアップして、新しいPCの似たような場所にコピーしてみました。これで、元のPCにあった全ての仮想マシンがコピーされました

  2. 今度は新しいPCでバーチャルボックスを起動して、Menu > Machine > Addと進み、コピーしたフォルダから.vboxファイルを選択します。これで完了です

  3. 今、新しいPCで仮想マシンを起動すると、起動時にエラーが出るようになりました

enter image description here

  1. 元のパソコンでも同じように動作していたので、なぜかUSBコントローラが動作していませんでした。私は先に進み、VirtualBox Extension Packをインストールしました

  2. 今回のインストールは、インストールのダウンロードが実行ファイルではなかったので、ちょっと変な感じでした。Oracle_VM_VirtualBox_Extension_Pack-5.1.4-110228.vbox-extpackをクリックして、「インストールされているプログラムのリストからプログラムを選択」を選択し、Oracel virtualboxを選択すると、拡張機能がインストールされました。これで問題は解決しましたが、もう一つの望ましくない解決策は、USBを無効にすることです

  3. 元のVMに共有フォルダがあった場合は、共有フォルダが違っていてエラーになることがあります。設定」の「共有フォルダ」を確認して、壊れているものを削除してください。エラーメッセージは以下のように表示されます

this

That’s all.

0  zar  2016-09-12


zar, まず第一に… 保存された状態のマシンを絶対に移動させないでください

また、両方のホストで同じバージョンのVirtualBOXを使用していることを確認しますが、VirtualBOXのバージョンだけでなく、拡張パックのvesion…または少なくとも新しいホストは高いバージョンを持っていますが、決して2つのいずれかに低いバージョンを持っていません

そして最後に、VirtualBOX上のSHAREDフォルダの設定を削除してから、正しい方法で作成しなおすことを学びました…ホストが異なるOS(WindowsとLinuxのホスト)の場合にはとても重要です

そして、余談ですが…私は常に、常に、常に、データVDIのためだけでなく、OSのためにインミュータブルハードディスクVDIファイルを使用しています(同じデータVDIをゲスト以上に使用することができます)、特に4GiB pagefile.sysのためのトリック

その最後の部分、インミュータブルでないVDIファイルを再利用すると、VirtualBOXには大きなバグがあります

バグの動作を見るには

  • インミュータブルなVDIを1つ作成します(pagefile.sysに使用しているような)
  • VirtualBOX上に2つまたは3つのVMを作成します
  • そのうちの1つをリストの一番上に移動させる(自分のどれかが傷つかないようにするため)
  • 作成した各マシンの.vboxファイルをバックアップしてください(BUG発生後の比較のため)
  • そのインミュータブルVDIを、そのマシンの複数のマシン(リストの一番上にあるものを除く)に貼り付けてください
  • リストの一番上にあるマシンの.vboxを見てください

そのマシンは編集され、それは他のマシンへの参照を持っています inmutable VDI

ということでBUGです。別の 1 つによって使用される inmutable VDI を追加する 1 つのマシンを編集すると、リストのトップにあるマシンに影響を与えます

なぜすべてのWindowsマシンで同じ4GiBのVDIを再利用しているのか?簡単に、それは私がpagefile.sysを置くFAT32パーティションを持つMBRディスクで、それが不変であるので、すべての仮想マシンは、彼らが変更を格納するスナップショットフォルダにファイルを作成し、それは次のブートで失われるので、私はホストディスク上に格納されている各ゲストのための4GiBを必要としません、ちょうど1つだけ…私は私自身のために開発したアプリをテストするために20以上の異なるウィンドウを持っているので、そのように私はGiBの多くを保存する方法は、(XP、Vista、7、8、8.1、10)*(32ビット、64ビット)*のすべての組み合わせ(32ビット、64ビット)*(ちょうど最初のインストールであるように、各ServicePackの後、フルウィンドウズアップデートの後に)、私は多くのゲストの多くを得る…ので、それらのすべてで私は仮想ラム(pagefile.sys)のためのinmutable 4GiB VDIを共有しています

さらにバグを放置していると、これらのマシンを別の VirtualBOX ホストに移動させてみると (それらは設定があるだけの仮想マシンであり、ゲストがまだインストールされていないことを覚えておいてください)、いくつかの VDI が見つからないために VirtualBox がそれらを追加させてくれないのがわかるでしょう (これは FALSE と TRUE のどちらかです。)

では、それら全ての.vboxファイルをprevios BackUpで比較してみましょう…1つが間違って修正されていることに注意してください…そう、一番上にあるのがそれです

さて、このBUGは数年前にVirtualBOXに通知されていましたが、未だに修正されておらず、多くの問題を引き起こしています

また、仮想マシンの一番上のものを低い位置に移動し、VirtualBoxを閉じて再起動すると、いくつかのマシンが破損していて起動できないことを教えてくれます…そう、リストの最初のものは、多くのトラブルを取得したくない場合は、別の形式で処理する必要があります

それは私に多くの日を取った本当に悪いバグである discoverd (いくつかの年前) 私はそれをハードな方法を学びます!

私はそれを克服したのは、私が呼んだ機械を持っていたからです

  • 一般的な不変ディスク

それは空の構成と1つのVDIを持っています、はい、あなたは正しい、あなたはそれを推測している、私は残りのすべての仮想マシンのために共有するinmutable VDIを持っています

さて、.VCOX ファイルを開くと、その中に <MediaRegistry> <HardDisks> セクションにたくさんの行があり、そのインミュータブルVDIを使用しているマシンごとに1行ずつあります

<MediaRegistry>
<HardDisks>
<HardDisk uuid="...UUID..." location="D:\VDIs\_Virtual_Memory_.vdi" format="VDI" type="Immutable">
<HardDisk uuid="{...UUID...}" location="Snapshots\{...UUID...}.vdi" format="VDI" autoReset="true"/>
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows001 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows002 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows003 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows004 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows005 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows006 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows007 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows008 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows009 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows010 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows011 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows012 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows013 ... // This belongs to other virtual Machine
... and so on ...  // This belongs to other virtual Machine
</HardDisk>
</HardDisks>
</MediaRegistry>

かなりのバグで、何年も解決していません

さて、そのようなマシンを移動するには… .VBOX ファイルをリストに追加する前に、.VBOX ファイルを手動で編集して、最初のマシン(リストの一番上にあるもの)の新しいホストにそのようなすべてのディスクの参照を置く必要があります

別のマシンで使用されているVDIを接続するたびに、VirtualBOXは2つのマシンの.vboxファイル(使用しているマシンに属するもの)とリストの最初のものに更新するため、事が発生します

私は完全に私が見るものを見て、それに接続されている最初の1つは、そのような一般的なVDIを持っていないときに何が起こるかわからない…それを試してみない方が良い、私は完全に確信していません

そのため、別の HOST への移行は、.VBOX ファイルの内部構造の実装が非常に悪いことと、VirtualBOX の編集時に大きなバグが発生しているため、見た目よりもずっと複雑です

Fails:

  • 内部構造(XML)はHOST(WindowsまたはLinux)に依存します
  • 1台のマシンを編集すると、編集された1台だけでなく、別の1台を変更することができます
  • ……..それ以上?

もっと必要… 私はいつもこの方法でマシンを移行しています(そして、これまで一度も問題がありませんでした)

  1. 全マシンのリスト(順番、グループ分けなど)をメモしておく
  2. リストの最初の1つに注意してください(そのすべての設定)
  3. 別のホストに移動したいマシンのプロパティをすべてメモしておきます
  4. .vboxファイルを.txtファイルとしてコピーします(リストの一番上にあるもの+移行したい全てのマシン)
  5. 新しいホスト上でVirtualBox内のすべてのマシンを再作成します(リストの一番上に特別なマシンがあります)
  6. 新しいホストでVirtualBoxを閉じます
  7. Diffは、古い.txtと新しい.vboxファイルを比較して、.txtから.vboxに人間の方法でいくつかの部分をコピー&ペーストするだけではありません
  8. VirtualBoxを開き、すべてのVDIを正しい順序でアタッチします
  9. 新しいホストで再度VirtualBoxを閉じます
  10. Diffは、新しい.vboxファイルと古い.txtを比較して、.txtから.vboxに人間の方法でいくつかの部分を修正して、ただのコピー&ペーストではありません

残りの部分(スナップショットフォルダとVDIファイル)は、通常の方法でコピーしています(File System Copy&Paste)

すべてのハードな手動作業は、大きなバグVirtualBoxによって引き起こされます。それはあなたが複数のマシン上で使用されているinmutable VDIを添付したときに変更されていないマシンを編集/変更し、それ以外の場合は、単純なCopy&貼り付け.VBOXファイルで十分でしょう(共有フォルダのパスなどを修正した後)

-1  Laura  2017-01-03


マシンが入っているフォルダを目的地にコピーし、メニューから”Machine” —> “Add “を選択し、vdiファイルではなく、vboxファイルを選択します。私の場合、これは完璧に成功しました。運が良かったのか、それともこのように動作するようになっているのかはわかりません

-2  Thia Zol  2017-04-27


タイトルとURLをコピーしました