Вопрос: Как перемещать файлы VirtualBox?


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

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


148
2018-03-11 10:53


Источник


Awww, я собирался предложить символические ссылки (они все решают), но вы заблокировали эту идею ... :( - DMA57361
Я вообще не доверяю ссылкам на Windows. Хотя NTFS способна на это, Windows XP ничего не знает об этом, и с ним уже достаточно проблем. Я могу быть бесполезным трусом ... - maaartinus
Ах, да, я бы не коснулся их на XP. Но поддержка на 7 довольно солидная - вам все равно придется строить их из линии cmd, но это не очень тяжелая работа. Я не уверен в Vista ... - DMA57361
Это еще хуже, XP версия NTFS поддерживает жесткие ссылки, но они не могут охватывать тома, Очевидно, я хотел переместить данные в другой раздел. - maaartinus
Жесткие ссылки не могут Когда-либо то только символические ссылки могут (и могут быть использованы для такого рода вещей, например, мои пользовательские папки со ссылками на мой второй жесткий диск). Но лично я все равно избегаю жестких ссылок в XP (даже если это вариант). - DMA57361


Ответы:


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

Копирование сообщения здесь:

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

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

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

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

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

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

126
2018-03-13 21:48



Когда я делаю это для связанного клона, они не запускаются - Nam G VU
Это сработало для меня, хотя мне также нужно было обновить пути к каждому файлу HardDisk и снимку, отредактировав .VirtualBox\VirtualBox.xml файл и выполнить поиск / замену. Кроме того, я только Machines а также HardDisk папки, а не все файлы, содержащиеся в .VirtualBox, так как это глобальная конфигурация и протоколирование и т. д. - Dave Andersen
Для пользователей Mac OS X, VirtualBox.xml находится по адресу: ~/Library/VirtualBox/VirtualBox.xml, ВМ расположены в ~/VirtualBox VMs, - Siu Ching Pong -Asuka Kenji-
Virtual Box 4.3.0+ решил «Последнее Важное Вещь», мне даже не нужно было его закрывать - инструкции, - PCaetano
Возможно, вы также можете добавить «версию» командной строки. 1) Перечислить существующие виртуальные машины через VBoxManage list vms, 2) Рядом с именами виртуальных машин, внутри фигурных скобок, ссылаются их UUID. Скопируйте один из них. Подробности об этом можно получить через VBoxManage showvminfo UUID, 3) Отмените учетную запись VM с помощью VBoxManage unregistervm UUID, 4) Переместите каталог интересующей виртуальной машины. 5) Наконец, зарегистрируйте машину через VBoxManage register NameOfVM.vbox - очевидно, где NameOfVM означает фактическое имя виртуальных машин .vbox файл для регистрации. - Nikos Alexandris


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


57
2018-06-22 11:15



+1 Я думаю, что это лучший метод. VirtualBox перемещает все для вас в аккуратном маленьком комплекте. - Dave Andersen
это лучший способ, не требуется ручное редактирование cfg - Bojan Bjelic
Как ты это сделал??? - FlipFloop
Это действительно должен быть принятый ответ - theV0ID
Не могли бы вы опубликовать список шагов? - sancho.s


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

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

  2. Запустите диспетчер машин виртуальной машины. Запуск медиа-менеджера Файл -> Диспетчер виртуальных носителей

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

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

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

Выключите свою виртуальную машину в новом месте, чтобы ее проверить. В следующий раз, когда вы посетите Виртуальный медиа-менеджер, зависающий над входом VM, покажет вам, где хранится VD.

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

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

ЗАМЕТКА: Вещи немного изменились, поскольку это было написано, см. Ответ Роба. Сейчас очень просто.


36
2018-06-10 04:52



Я думаю, что это самый простой способ сделать это. - Peter Perháč


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

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

Это было легко, престо!


13
2018-02-05 22:41



Он использует Windows, и он также не хочет редактировать VirtualBox.xml. - ChrisN
Это было полезно для меня, однако, поскольку этот вопрос по-прежнему доступен для поиска, если вы на Mac. - NReilingh
Я - пользователь Mac, и Google приземлился на меня здесь, и это решение является самым простым из всех, имеет прекрасный смысл и сработало для меня :) - Mohit Singh
Я на Linux, и мне понравился звук этого ответа, но я был отложен предупреждением в верхней части файла. Вы по-прежнему рекомендуем редактировать XML напрямую? Предупреждение говорит: ** НЕ ИЗМЕНИТЕ ЭТОТ ФАЙЛ. Если вы вносите изменения в этот файл, пока какое-либо приложение, связанное с VirtualBox, работает, ваши изменения будут перезаписаны позже, без каких-либо последствий. Для внесения изменений используйте VBoxManage или графический интерфейс VirtualBox Manager. ** - craq


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


12
2017-07-21 22:18



Еще проще, если вы хотите добавить виртуальные машины обратно в VirtualBox, просто нажмите *.vbox файл в папке. - Joel Mellon
Как все изменилось за три года ... Желание тогда было таким легким. Добавлено примечание к моему ответу, чтобы они увидели это. - Fiasco Labs
Это должно быть действительно выше. Я возился и не мог заставить его работать. Просто удалив «недоступные» в пользовательском интерфейсе, а затем дважды щелкнув файл .vbox, повторно добавив его, используя новое местоположение. - wenbert
Не работает на хосте Linux. Получение этой ошибки: сеанс VM был закрыт перед любой попыткой включить его. Код результата: NS_ERROR_FAILURE (0x80004005) Компонент: Интерфейс SessionMachine: ISession {7844aa05-b02e-4cdd-a04f-ade4a762e6b7} - Max N


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

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

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

VBoxManage list vms

Если необходимо, укажите путь и имя.

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

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

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


9
2018-01-11 15:33



Это был единственный ответ, который работал на меня. Должно быть выше. - Max N
VM_to_clone это UUID или имя виртуальной машины. С помощью данной команды (с использованием UUID) был создан каталог /new/path/_<UUID>_ Clone, а также содержащие файлы _<UUID>_ Clone как имя. Чтобы получить более яркое имя, используйте --name "Your preferred name here" флаг. - Rob W
... и удалить оригинальную виртуальную машину через CLI, VBoxManage unregistervm UUID (UUID VM, который вы получили через VBoxManage list vms, не используйте имя виртуальной машины, потому что если вы используете --name для сохранения исходного имени, то у вас есть несколько виртуальных машин с тем же именем) - Rob W


Делать то же самое, что и у Лукаса Поттерски ответ но через командную строку (при замене 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
    

4
2018-03-04 00:43