我在目录D:\vagrant\precise32\02-lamp\
$ 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
根据Where is Vagrant saving changes to the VM我在VirtualBox GUI中找到了虚拟硬盘驱动器文件的位置。这是
C:\Users\USER\VirtualBox VMs\02-lamp_default_1458429875795_57100\
我想将此文件放在系统驱动器C:\
中,而不是放在D:\
的数据驱动器中。
如何设置这样的流浪汉配置?
答案 0 :(得分:13)
对于VirtualBox,您可以通过GUI的“首选项”对话框更改所谓的“默认计算机文件夹”的位置。
This guide,虽然有几年的历史,但工作正常,上周我就如何将现有的vagrant / VirtualBox硬盘移动到新的位置。
修改强>
我引用了以上链接/指南中的步骤,为子孙后代:
将
vagrant_home
移至外部驱动器。我将其重命名为VAGRANT_HOME
我能够在没有ls -a的情况下看到它。将
/path/to/drive/vagrant_home
设为~/.bash_profile
中的/path/to/drive/VirtualBox VMs
。打开VirtualBox 应用程序,打开首选项,并将其默认计算机文件夹设置为
VirtualBox VMs
。关闭VirtualBox。
移动你的 驱动器的
VirtualBox VMs
文件夹。重新打开VirtualBox。你会看到的 您的虚拟机列为"无法访问"。从列表中删除它们。有关 外部驱动器上
.vbox
文件夹中的每个VM,浏览 到Finder中的文件夹,然后双击vagrant init
文件将其还原 到VirtualBox Manager。 (有比这更简单的方法吗?)最后,移动您用过的任何现有的Vagrant目录
Vagrantfile
(这些是每个中都有LOOP AT gt_eanl INTO gs_eanl. ls_eanl_new = gs_eanl. lv_temp = ls_eanl_new-anlart. if lv_temp ca ''. CONDENSE lv_temp. ls_eanl_new-anlart = lv_temp. endif. CALL FUNCTION 'ISU_DB_EANL_UPDATE' EXPORTING x_eanl = ls_eanl_new x_eanl_old = gs_eanl x_upd_mode = 'U'. IF sy-subrc NE 0. write:'eanl not updated'. skip. ELSE. write:'eanl updated'. skip. ENDIF. ENDLOOP.
的目录) 外部驱动器。由于这些目录只存储您的元数据 可以将它们留在你的主驱动器上,但保留一切都很好 这样你就可以很容易地将整个驱动器插入另一个驱动器 机器并从那里启动你的虚拟机。
答案 1 :(得分:1)
对于外部驱动器上VirtualBox VMs文件夹中的每个VM,浏览到Finder中的文件夹,然后双击.vbox文件将其还原到VirtualBox Manager。 (有比这更简单的方法吗?)
有一种更简单的方法...... 进入VirtualBox Manager GUI,单击Machine>添加并找到您要添加的.vbox。
答案 2 :(得分:0)
也可以通过CLI来执行以下操作:始终要在导入期间更改Virtualbox创建VM的位置(因为Virtualbox通常希望将它们放在一个位置,而不是像VMware那样跟踪它们在磁盘上的任何位置做到了。
请注意,通过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
如果您改变主意,可以轻松地将其设置为默认值,但是您需要自己将虚拟机重新移回。
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