VirtualBoxファイルを移動する方法は?


165

デフォルトでは、VirtualBoxはすべてのデータをホームディレクトリの下のディレクトリに保存します。変更方法は知っていますが、既存の画像の場所を(VirtualBox.xmlを手動で編集せずに)変更するにはどうすればよいですか?

私はWindowsで作業していますが、NTFSリンクを使用しようとは思いません


4
Awww、私はシンボリックリンクを提案するつもりでした(それらはEverything™を解決します)が、あなたはそのアイデアをブロックしました... :(
DMA57361

2
Windows上のリンクをまったく信用していません。NTFSには対応していますが、Windows XPはそれについて何も知らず、既に十分な問題があります。私は不臆病者かもしれ...
maaartinus

ああ、ええ、XPでは触れません。しかし、7のサポートは非​​常に堅実です。まだcmd行からビルドする必要がありますが、それはそれほど面倒なことではありません。Vistaについては
わかり

さらに悪いことに、NTFSのXPバージョンはハードリンクをサポートしますが、これらは複数のボリュームにまたがることはできません。明らかに、データを別のパーティションに移動したかったのです。
maaartinus

ハードリンクはできません、これまでのボリュームにまたがる、唯一のシンボリックリンクが可能です(この種のもののために使用することができ、自分のユーザーフォルダはすべて、たとえば、私の第二HDDにシンボリックリンクされています)。しかし、個人的には、XPのハードリンクは(オプションであったとしても)避けたいと思います。
DMA57361

回答:


138

すべてのVMをまったく新しい場所に移動する場合は、次の2つの返信に従うだけです。

ここに投稿をコピーします:

  1. VirtualBoxをシャットダウンし、.VirtualBox \ VirtualBox.xmlファイルをバックアップします。
  2. 既存の「Virtualbox VMs」フォルダーを見つけ、内容を含むフォルダー全体を新しいドライブEにコピーします(移動しない)。
  3. VirtualBoxを実行してから、VMごとに順番に:

    3.1 VM名を右クリックして、ポップアップメニューから[削除]を選択します。「物理的にファイルを削除しますか?」質問。

    3.1bは、UIからVMを削除した後、VirtualBoxを閉じ、バックグラウンドのVBoxSVCタスクがタイムアウトして終了するのに十分な時間、閉じたままにする必要があります。次に、VirtualBoxアプリを再度起動し、Machine | Addを使用して、前の手順で削除したVMを追加します。

    3.2 [Machine | Add ..]メニュー項目を選択し、ドライブE:のVMの新しい場所に移動して、.vboxファイルを選択します。

    3.3。残りのVMについても繰り返します。

  4. [ファイル|設定]で、デフォルトのマシンパスを「E:\ VirtualBox VMs」に設定します
  5. 各VMをテストします。それらがすべて機能することを確認した後にのみ、フォルダを含む古いVMを削除します。つまり、「C:\ VirtualBox VMs」を削除します。

私はリンククローンマシン用にこれを行うと、彼らが起動に失敗する
ナム・G VU

1
これはうまくいきましたが、.VirtualBox\VirtualBox.xmlファイルを編集し、検索/置換を実行して、各ハードディスクとスナップショットイメージへのパスを更新する必要もありました。また、に含まれるすべてのファイルではなく、MachinesHardDiskフォルダーのみを移動しました。これは.VirtualBoxすべてのグローバル構成とログ記録などであるためです。
デイブアンデルセン

4
Mac OS Xユーザーの場合VirtualBox.xmlは、にあります~/Library/VirtualBox/VirtualBox.xml。VMはにあります~/VirtualBox VMs
シウチンポン

2
Virtual Box 4.3.0+は「Last Important Thing」を解決しました。それを閉じる必要さえありませんでした- 指示
PCaetano 14

おそらく、コマンドラインの「バージョン」も追加できます。1)を介して既存のVMをリストしますVBoxManage list vms。2)VMの名前の横、中括弧内に、それらのUUIDが参照されます。興味のあるものをコピーします。詳細については、を介して取得できますVBoxManage showvminfo UUID。3)で目的のVMの登録を解除しますVBoxManage unregistervm UUID。4)対象のVMのディレクトリを移動します。5)最後に、次の方法でマシンを登録VBoxManage register NameOfVM.vboxします。NameOfVMは、.vbox登録するVM ファイルの実際の名前を意味します。
ニコスアレクサン

58

VMが2つしかないので、VirtualBoxのデフォルトのストレージの場所を変更して、VMのクローンを作成するだけでよいことがわかりました。クローンは、私が望んでいた新しいHDの新しい場所に作成されました。すべてがそのままで、スナップショットであり、仮想HDの場所を再マップする必要はありません。


3
+1これが最良の方法だと思います。VirtualBoxは、すべてをきちんとまとめて移動します。
デイブアンデルセン

3
これが最良の方法であり、手動でcfgを編集する必要はありません
Bojan Bjelic

これどうやってやるの???
FlipFloop

これは本当に受け入れられた答えである必要があります
-theV0ID

1
警告:Cloneは完全なコピーを作成しないため、マシン/ディスクIDが変更されると、インストールされているソフトウェアのライセンスを更新する必要が生じる場合があります。VM上のQuickenの古いコピーを新しいディスクに移動するときにこれに遭遇しました。
MZB

36

最も簡単な方法では、仮想マシンを削除して設定を変更する必要はありません。

  1. Virtualbox VMsフォルダーを新しいドライブにコピーします。

  2. Virtual Box Machine Managerを実行します。メディアマネージャーファイル->仮想メディアマネージャーを実行します

    2a。ストレージを移動するVMを選択します。[ リリース ]ボタンをクリックしてから、[ 削除 ]ボタンをクリックします。次のダイアログで、仮想ドライブを削除または保持できます。Virtualbox Machine Managerに残っているマネージャーを閉じます。

  3. メディアを削除したばかりのVMを選択し、[ 設定]ボタンをクリックして、[ ストレージ]セクションをクリックします。メディア(通常はSATA)のコントローラーを追加し、ハードドライブを追加して既存のディスクを選択し、新しい場所でVDを選択します。

  4. 移動するマシンごとに繰り返します

新しい場所で仮想マシンを起動して確認します。次回Virtual Media Managerにアクセスすると、VMエントリにカーソルを合わせると、VDが保存されている場所が表示されます。

使用している場合は、新しいドライブを指すようにスナップショットフォルダーを変更してください。各マシンにはスナップショットフォルダーの設定があり、VM Managerの[ファイル]-> [設定]にデフォルトマシンのフォルダー設定もあります。これらの設定も変更する必要があります。

さらに、xmlファイルのパスも変更する必要がありました。その後、問題なく動作しました。

注:これが書かれてから状況は少し変わっています。Robの答えをご覧ください。今では非常に簡単です。


2
これが最も簡単な方法だと思います。
ピーターPerháč16年

17

はるかに簡単です。1)新しい場所に移動します2)仮想ボックスメニューから削除を右クリックします3)マシンメニューから[追加]を選択します4) '仮想ボックスマシン定義'タイプの8kb Blueアイコンを見つけます それを選択すると、virtualboxリストに追加されます。仮想マシンをダブルクリックすると機能します。


これよりもさらに簡単なのは、VMをVirtualBoxに再び追加する場合*.vboxで、そのフォルダー内のファイルをクリックするだけです。
ジョエルメロン

2
3年間で物事がどのように変化するか。彼らがこれを見に来るための私の答えにメモを追加しました。
フィアスコラボ

1
これは本当に高いはずです。私はいじくり回しましたが、機能しませんでした。UIで「アクセスできない」ものを削除してから、.vboxファイルをダブルクリックして、新しい場所を使用して再度追加しました。
ウェンバート

Linuxホストでは機能しません。このエラーの取得:電源をオンにする前にVMセッションが閉じられました。結果コード:NS_ERROR_FAILURE(0x80004005)コンポーネント:SessionMachineインターフェイス:ISession {7844aa05-b02e-4cdd-a04f-ade4a762e6b7}
最大N

1
この方法の「削除」部分は、設定が失われるという悪い考えのように感じますが、そうではありません。この方法はすべての設定を維持し、私が試したすべての方法の中で最も簡単です。Windows 7とWindows Sever 2016の両方のゲストを持つWindows 10ホストで機能しました。
夜のフクロウ

13

Macでは、このファイルのパスを編集します。

/Users/pleddy/Library//VirtualBox/VirtualBox.xml

それは簡単でした!


3
彼はWindowsを使用しており、VirtualBox.xmlを編集することも望んでいません。
ChrisN

4
Macを使用している場合、この質問はまだグーグルであるため、これは私にとっては役に立ちました。
NReilingh

私はMacユーザーであり、Googleはここに私を上陸させました、そして、この解決策はすべての中で最も単純で、完全に理にかなっていて、私のために働きました:)
Mohit Singh

私はLinuxを使用しており、この回答の音が気に入りましたが、ファイルの上部にある警告によって延期されました。それでもXMLを直接編集することをお勧めしますか?警告は次のとおりです:**このファイルを編集しないでください。VirtualBox関連のアプリケーションの実行中にこのファイルを変更すると、変更は有効にならずに後で上書きされます。VBoxManageまたはVirtualBox Manager GUIを使用して変更を加えます。**
craq

11

(Arch LinuxでVirtualbox 5.0.12を使用して)この問題に1日費やした後、thomthomの答えが示唆する方法でようやく解決しました。正確な手順が不明な場合、マシン全体(スナップショットを含む)を複製するコマンドは次のとおりです。

VBoxManage clonevm --mode all --basefolder </new/path/> --register <VM_to_clone>

でVMの名前を取得します

VBoxManage list vms

必要に応じて、パスと名前を引用してください。

最後に、すべてが正常かどうかを確認し、元のファイルを削除します。

これですべてです。xmlファイルや16進エディターを気にする必要はありません。GUIを使用する必要もありません。

http://www.virtualbox.org/manual/ch08.html#vboxmanage-clonevm


これは私のために働いた唯一の答えでした。高くする必要があります。
マックスN

2
VM_to_cloneVMのUUIDまたは名前です。指定されたコマンド(UUIDを使用)を使用して、ディレクトリが作成され/new/path/_<UUID>_ Clone、含まれるファイルも_<UUID>_ Clone名前として使用されました。より明確な名前を明示的に指定するには、--name "Your preferred name here"フラグを使用します。
ロブW

...そして、CLIを介して元のVMを削除するには、VBoxManage unregistervm UUID(元の名前を保持VBoxManage list vmsするために使用--nameする場合、同じ名前の複数のVMがあるため、VMを使用してVMのUUIDを取得しないでください)
Rob W

警告:Cloneは完全なコピーを作成しないため、マシン/ディスクIDが変更されると、インストールされているソフトウェアのライセンスを更新する必要が生じる場合があります。VM上のQuickenの古いコピーを新しいディスクに移動するときにこれに遭遇しました。
MZB

とにかく、今は専用のコマンドがあるようです:virtualbox.org/manual/ch08.html#vboxmanage-movevm
Michael P

4

ルーカスPotterskyのと同じ操作を行うために、答えが、コマンドライン(Windows上で置き換えてvboxmanageVBoxManage.exe):

  1. すべての仮想マシンをリストします。

    vboxmanage list vms
    

    または実行中のみ:

    vboxmanage list runningvms
    

    各マシンに対して名前とUUIDを出力します。

    移動するマシンごとに次の手順を実行します。

  2. それを正常にシャットダウンします。

    vboxmanage controlvm UUID acpipowerbutton
    
  3. 登録解除:

    vboxmanage unregistervm UUID
    
  4. 仮想マシンのフォルダーを新しい場所に移動します。

  5. .vboxファイルへのパスを指定して、登録し直します。

    vboxmanage registervm /path/to/machine.vbox
    

2

これは、VirtualBoxのMacOSリリース(リリース4.1.12)でも機能しました。VirtualBoxが終了するまで5〜10秒待ってから再起動しました。アクティビティモニターで、VBoxSVCが正常に終了したことを確認しました。

これを行わないと、次のようなエラーが表示されます(Windowsからの誰かのエラーメッセージをコピーして貼り付けています)。このエラーが発生した場合、単にVirtualBoxを終了していないか、VBoxSVCが終了するまで十分に待機していないことが原因です。

Failed to open virtual machine located in E:/<path>/<machine_name>/<machine_name>.vbox.

Cannot register the hard disk 'E:\<path>\<machine_name>\Snapshots/{0ece4bff-9185-4cff-9069-b3d1f4536394}.vdi' {0ece4bff-9185-4cff-9069-b3d1f4536394} 
because a hard disk 'C:\<path>\<machine_name>\Snapshots/{0ece4bff-9185-4cff-9069-b3d1f4536394}.vdi' with UUID {0ece4bff-9185-4cff-9069-b3d1f4536394} already exists.

Result Code: E_INVALIDARG (0x80070057)
Component: VirtualBox
Interface: IVirtualBox {c28be65f-1a8f-43b4-81f1-eb60cb516e66}

2

VirtualBox v4.3.14を搭載したOS Xでは.vbox、新しい場所からファイルをダブルクリックするだけで、VirtualBoxが開き、利用可能なVMのリストに追加されました。


回答として「ありがとう」を追加しないでください。代わりに、役に立つと思う答えに投票してください。
スコット14

私の答えは「ありがとう」ではありません。私は文言を編集して、それをより明確にしました。ありがとう。
タイソンファルプ14

2

VirtualBoxの下の設定にはデフォルトの保存場所があります。 http://mattvelic.com/default-vm-location/

死んだ。ウェイバックマシンのコンテンツは次のとおりです。

http://web.archive.org/web/20131116130725/http://mattvelic.com/default-vm-location

... [ファイル]メニューの[設定]を確認します。見よ![全般]タブの最初の項目は[既定のコンピューターフォルダー]です。 http://web.archive.org/web/20131116130725im_/http://54.225.211.105/wp-content/uploads/2012/11/VB_Preferences.png 場所を編集して自分のストレージドライブを指すようにし、すぐに作り直しましたVM。今回は、VirtualBoxがマシンファイルとVDIの両方を正しい場所に作成しました。ここでの本当の教訓は、ソリューションが技術的である必要がない場合があるということです。ITプロフェッショナルとして、問題への回答は複雑になると思う傾向があると思います。明らかな解決策に目を光らせてください!


このリンクは現在無効です。リンクを回答として投稿しないようにしてください。彼らが死んでしまうと、SUには掃除のための残骸が残されます。
-mrtsherman

archive.orgのコンテンツで更新
レベッカ

1

これは可能だとは思いません。

VDIを新しい場所に移動できますが、XMLの変更を避けることはできないと思います。別の方法として(実際にはXMLエディションと同じです)、GUIを使用して新しい仮想マシンを作成し、移動したイメージをディスクがニーズに合うように選択しますか?


1
xmlをもう一度見てみると、実際には非常に簡単です。設定を保存したいので、新しいマシンを作成するのは良くありません(何を変更したか覚えていませんが、まったく重要でないかどうかはわかりません)。
maaartinus

1

元の方法を試して(VDIを削除し、新しいコピーを添付)、古いコピーがまだ存在するというメッセージを受け取り、OSを再起動しても(Mac OS X El Capitanで)新しいコピーを添付できませんでした。

修正はメニュー/ファイル/ Virtual Media Managerにあり、既存のVDIを削除します。これはスナップショットがあっても機能します。すべてのスナップショットVDIを逆の順序で削除するだけです。VirtualBoxを閉じて再度開く必要はありません。


0

私はWindowsでvirtualboxを使用したことはありませんが、ubuntuではVDIを移動し、virtualbox GUIではVMを右クリックし、構成メニュー->ストレージを使用してVDIのローカリゼーションをファイルを移動した場所に変更できます。他のマシンファイルの定義については、それらを移動し、GUIで[設定]に移動し、デフォルトのマシンディレクトリの位置を移動したディレクトリに変更します。


0

私はこの方法を使用します:

  1. VirtualBox GUIからVMを選択し、接続されているHDDを削除します
  2. ファイル(vdiなど)を新しい場所にコピーします
  3. コマンドvboxmanage internalcommands sethduuid "my path to myhdd.vdi" 6912BF7F-13BB-4E70-A2CA-C92300FEC3DCを使用して、新しい場所にある.vdiの新しいUUIDを生成します。

    (前の例では、独自のUUIDを使用します。追加しないでください。コマンドは自動生成します。このステップを省略した場合、新しい場所から.vdiを追加すると、UUIDが既に存在するというエラーが表示されます)。

  4. VirtualBox GUIに戻り、VMを選択し、Setttings / Storageで新しい場所からHD(.vdiファイル)を添付します。

完了しました。


-1

Oracle VM VirtualBox(バージョン6.0.4でテスト済み)で、単にVMをシャットダウンします-> VirtualBox ManagerでVMを右クリックします-> [移動...]をクリックします->新しいディレクトリを選択します。それでおしまい!


@Moreaki:ところで、「読みやすさ」(および「読みやすい」)は「D」なしで綴られています。
スコット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.