web-dev-qa-db-ja.com

Vagrant-VirtualBoxの仮想ハードドライブの場所を設定する

ディレクトリD:\vagrant\precise32\02-lamp\で次のコマンドを実行しました(WindowsではGit Bashを使用)。

$ vagrant box add precise32 http://files.vagrantup.com/precise32.box
$ vagrant init precise32
$ vagrant up

注意。元のVagrantfileは変更していません。

ディレクトリD:\vagrant\precise32\02-lamp\がVDIのようなファイルの場所になると思いましたが、そうではありません。作業ディレクトリは共有フォルダとして機能します。

Vagrantボックスの場所を見つけましたC:\Users\USER\.vagrant.d\boxes\precise32\0\virtualbox

VagrantはVMへの変更を保存する場所 に従って、VirtualBox GUIで仮想ハードドライブファイルの場所を見つけました。それは

C:\Users\USER\VirtualBox VMs\02-lamp_default_1458429875795_57100\

このファイルをシステムドライブC:\ではなく、D:\であるデータドライブに配置します。そのような浮浪者の構成を設定するには?

14
mwloda

VirtualBoxの場合、GUIの[設定]ダイアログボックスを使用して、デフォルトマシンフォルダーと呼ばれる場所を変更できます。

VBox GUI (Preferences)

このガイド は2、3年前に正常に動作し、先週は既存のvagrant/VirtualBoxドライブを新しい場所に移動する方法を追跡しました。

[〜#〜]編集[〜#〜]

後世のために、上記のリンク/ガイドの手順を引用しました。

  • ~/.vagrant.dを外付けドライブに移動します。 vagrant_homeに名前を変更したので、ls -aなしで表示できます。

  • VAGRANT_HOME/path/to/drive/vagrant_home~/.bash_profileに設定します。

  • VirtualBoxアプリを開き、[設定]を開き、そのデフォルトのマシンフォルダーを/path/to/drive/VirtualBox VMsに設定します。

  • VirtualBoxを閉じます。

  • VirtualBox VMsフォルダをドライブに移動します。 VirtualBoxを再度開きます。 VMが「アクセス不能」としてリストされていることがわかります。リストから削除してください。

  • 外部ドライブのVirtualBox VMsフォルダにある各VM)について、Finderでそのフォルダを参照し、.vboxファイルをダブルクリックして、VirtualBox Managerに復元します。 (これより簡単な方法はありますか?)

  • 最後に、vagrant initで作成した既存のVagrantディレクトリ(それぞれにVagrantfileが付いているディレクトリ)を外部ドライブに移動します。これらのディレクトリはメタデータのみを保存するため、メインドライブに残しておくことができますが、ドライブ全体を別のマシンにかなり簡単に接続してそこからVMを起動できるように、すべてをまとめておくと便利です。

14
Brian Morton

また、インポート中にVirtualboxがVMを作成する場所を常に変更したい場合は、CLIを使用してこれを行うこともできます(Virtualboxは通常、VMwareのようにディスク上のどこにあるかを追跡するのではなく、それらを1か所に配置するためです)。 。

GUIまたはCLIを介してこの設定を変更しても、既存のVMは移動されません。インポート/作成された次のマシンが使用する新しいパスが設定されるだけです。移動する既存のマシンがある場合は、Virtualboxのすべてのインスタンスをシャットダウンして閉じ、cmd/Shellウィンドウからmv /old/path /new/pathを使用するか、フォルダーをGUIの新しい場所にカットアンドペーストしてから、 machinefolderをそのパスに変更してVirtualboxを開くと、既存のすべてのVMが検出されます。

巨大なファイルが自動的にバックアップされないように、VMパスをホームディレクトリから移動する必要がある多数のユーザーがいる場合、CLIを使用すると、スクリプト/自動化がはるかに簡単になります。 VMの「最適な」場所はシステムによって多少異なりますが、/usr/local/はmacOSまたはLinuxで新しいフォルダーを作成するのに適した場所です。

# Look at the current path

vboxmanage list systemproperties | grep machine

# Output (commented for easier copying and pasting of commands)
# Default machine folder:          /Users/<YourUser>/VirtualBox VMs

# Set it to a different folder in your home aka ~
# If you user has access to the path and can create files/folders, then
# the folder doesn't need to exist beforehand, Virtualbox will create it

vboxmanage setproperty machinefolder ~/VirtualMachines

# No output produced

vboxmanage list systemproperties | grep machine

# Output (commented for easier copying and pasting of commands)
# Default machine folder:          /Users/<YourUser>/VirtualMachines

ホームの外のフォルダに設定することもできますが、これには通常、Virtualboxで使用する前にフォルダを作成し、権限を修正する必要があります。

# [Optional] Only needed if moving out of the home directory to
# a place the user doesn't have permission to access by default
Sudo mkdir -p /usr/local/VirtualMachines && \
Sudo chown -R ${USER} /usr/local/VirtualMachines

# If you add : like this `${USER}:` to the above, instead of 
# setting the group to admin or wheel it will use the user's default group
# which can be seen by running `id -g`
vboxmanage setproperty machinefolder /usr/local/VirtualMachines

# No output produced

vboxmanage list systemproperties | grep machine

# Output (commented for easier copying and pasting of commands)
# Default machine folder:          /usr/local/VirtualMachines

気が変わった場合は、簡単にデフォルトに戻すことができますが、自分でVMを元に戻す必要があります。

vboxmanage setproperty machinefolder default

vboxmanage list systemproperties | grep machine

# Output (commented for easier copying and pasting of commands)
# Default machine folder:          /Users/<YourUser>/VirtualBox VMs
1
dragon788

外部ドライブのVirtualBox VMsフォルダーにある各VMについて、Finderでそのフォルダーを参照し、.vboxファイルをダブルクリックしてVirtualBox Managerに復元します(より簡単な方法はありますか?これより?)

より簡単な方法があります... VirtualBox Manager GUIに移動し、[マシン]> [追加]をクリックして、元に戻す.vboxを見つけます。

1
Jon DAlonzo