159

По умолчанию VirtualBox хранит все данные в каталоге под домашним каталогом. Я знаю, как это изменить, но как я могу изменить местоположение существующих изображений (без редактирования VirtualBox.xml вручную)?

Я работаю на Windows и не хочу использовать ссылки NTFS.

14 ответов14

136

Если вы хотите переместить всю свою виртуальную машину в совершенно новое место, вам следует просто выполнить следующие 2 ответа:

Копирование поста здесь:

  1. Выключите VirtualBox, сделайте резервную копию вашего.VirtualBox\VirtualBox.xml файл.
  2. Найдите существующую папку "Virtualbox VMs" и скопируйте (не перемещайте) всю папку с содержимым на новый диск E:
  3. Запустите VirtualBox, затем по очереди для каждой виртуальной машины:

    3.1 Щелкните правой кнопкой мыши имя виртуальной машины и выберите "Удалить" во всплывающем меню. Отвечать нет на «физически удалять файлы?вопрос.

    3.1b после удаления виртуальной машины из пользовательского интерфейса необходимо закрыть VirtualBox и оставить его закрытым на достаточно долгое время, чтобы фоновая задача VBoxSVC вышла из строя и также прекратила работу. Затем вы можете снова запустить приложение VirtualBox и использовать Machine | Add для добавления виртуальных машин, удаленных на предыдущем шаге.

    3.2 Выберите пункт меню Machine | Add .., перейдите к новому местоположению виртуальных машин на диске E: и выберите файл .vbox.

    3.3. Повторите для всех оставшихся виртуальных машин.

  4. В File | Preferences установите путь машины по умолчанию к "E:\VirtualBox VMs"
  5. Проверьте каждую из виртуальных машин. Только после того, как вы убедитесь, что все они работают, удалите старую папку, содержащую виртуальную машину, т.е. удалите «C:\VirtualBox VMs».
57

У меня была только пара виртуальных машин, и я обнаружил, что могу просто изменить расположение хранилища по умолчанию для VirtualBox и затем клонировать свои виртуальные машины. Клоны были созданы в новом месте на новом HD, где я их и хотел. Все в порядке, снимки и нет необходимости переназначать расположение виртуальных HD.

36

Самый простой способ не требует удаления виртуальных машин и установки их настроек.

  1. Скопируйте папку виртуальных машин Virtualbox на новый диск.

  2. Запустите диспетчер виртуальных машин. Запустите файл Media Manager -> Virtual Media Manager.

    2а. Выберите виртуальную машину, для которой нужно переместить хранилище. Нажмите кнопку « Отпустить» , а затем кнопку « Удалить» . В следующем диалоговом окне вы можете удалить или оставить виртуальный диск. Закройте менеджер, оставив вас в диспетчере компьютеров Virtualbox.

  3. Выберите виртуальную машину, для которой вы только что удалили носитель, нажмите кнопку « Настройки» , нажмите « Хранилище ». Добавьте контроллер для носителя (обычно SATA), а затем добавьте жесткий диск, выберите существующий диск и выберите виртуальный диск в новом месте.

  4. Повторите для каждой машины вы двигаетесь

Запустите вашу виртуальную машину на новом месте, чтобы проверить. В следующий раз, когда вы зайдете в Virtual Media Manager, при наведении курсора на запись виртуальной машины будет показано, где хранится виртуальный диск.

Убедитесь, что вы изменили папки со снимками, чтобы они указывали на новый диск, если вы их используете. У каждого компьютера есть параметр папки моментальных снимков, а в VM Manager есть параметр « Папка компьютера по умолчанию» в меню «Файл» -> «Параметры», который также необходимо изменить.

Кроме того, мне пришлось изменить путь в файле XML. После этого все заработало без нареканий.

ПРИМЕЧАНИЕ. С тех пор, как это было написано, все немного изменилось, см. Ответ Роба. Теперь это очень просто.

16

НАМНОГО, НАМНОГО проще. 1) переместиться в новое место 2) щелкнуть правой кнопкой мыши по удалению из меню virtualbox 3) выбрать «добавить» из меню машины 4) найти синий значок 8 КБ, имеющий тип «определение машины virtualbox» Выберите его, и он добавится в ваш список виртуальных ящиков. дважды щелкните виртуальную машину, и она работает.

13

На Mac отредактируйте пути в этом файле:

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

Это было легко, Presto!

9

Потратив целый день на эту проблему (используя Virtualbox 5.0.12 в Arch Linux), я, наконец, решил ее так, как предполагает ответ Томтома. Для тех, кто не уверен в точной процедуре, команда, которая клонирует всю машину (включая снимки):

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

Получить имя виртуальной машины с помощью

VBoxManage list vms

При необходимости укажите путь и имя.

Наконец, проверьте, все ли хорошо, и удалите оригинал.

Вот и все, правда. Не нужно беспокоиться о XML-файлах или шестнадцатеричном редакторе. Нет необходимости использовать графический интерфейс.

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

4

Чтобы сделать то же, что и в ответе Лукаса Поттерского, но через командную строку (в Windows замените vboxmanage на VBoxManage.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

В OS X с VirtualBox v4.3.14 все, что мне нужно было сделать, это дважды щелкнуть файл .vbox в новом месте, и он открыл VirtualBox и добавил его в список доступных виртуальных машин.

2

Это работало и для меня с версией MacOS VirtualBox (выпуск 4.1.12). Я ждал, пока VirtualBox выйдет 5-10 секунд перед повторным запуском. Я посмотрел в Activity Monitor, чтобы убедиться, что 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 есть место для хранения по умолчанию: 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 в правильном месте. Настоящий урок здесь заключается в том, что иногда решение не обязательно должно быть техническим. Я думаю, что, как ИТ-специалисты, мы склонны думать, что решение проблемы будет сложным. Следите за очевидными решениями!

1

Я не думаю, что это возможно.

Вы можете переместить VDI на новое место, но я не думаю, что вы можете избежать модификации XML. В качестве альтернативы (но на самом деле это то же самое, что и издание XML), можно ли создать новую виртуальную машину с графическим интерфейсом и выбрать перемещенный образ в качестве диска, который будет соответствовать вашим потребностям?

0

Я использую этот метод:

  1. Из VirtualBox GUI выберите свою виртуальную машину и удалите подключенный жесткий диск
  2. Скопируйте файл (т.е. VDI) в новое место
  3. Сгенерируйте новый UUID для .vdi в новом месте с помощью команды vboxmanage internalcommands sethduuid "my path to myhdd.vdi" 6912BF7F-13BB-4E70-A2CA-C92300FEC3DC

    (В предыдущем примере используйте свой собственный UUID или не добавляйте его вообще: команда автоматически сгенерирует его). Также, если вы пропустите этот шаг, при добавлении .vdi из нового местоположения вы получите ошибку, что UUID уже существует).

  4. Теперь вернитесь к графическому интерфейсу VirtualBox, выберите свою виртуальную машину и в разделе «Настройки / Хранилище» прикрепите HD (файл .vdi) из нового местоположения.

и сделано.

0

В Oracle VM VirtualBox (протестировано с версией 6.0.4) просто выключите свою ВМ -> щелкните правой кнопкой мыши ВМ в диспетчере VirtualBox -> нажмите «Переместить ...» -> выберите новый каталог. Это оно!

0

Я никогда не использовал virtualbox в Windows, но в Ubuntu вы перемещаете VDI, а в GUI Virtualbox вы щелкаете правой кнопкой мыши на виртуальной машине и используете Меню конфигурации -> хранилище, где вы можете изменить локализацию VDI на место, куда вы переместили файл. Что касается определения других машинных файлов, вы перемещаете их, и в GUI вы переходите в Предпочтения и меняете положение директории машин по умолчанию на директорию, которую вы переместили.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .