2013-08-18 19:45:47 +0000 2013-08-18 19:45:47 +0000
252
252

Какой рекомендуемый способ переместить виртуальную машину VirtualBox на другой компьютер?

Я использую VirtualBox 4.1.x на моей машине Ubuntu и установил несколько виртуальных машин. Так как есть несколько способов переместить виртуальную машину в VirtualBox на другой компьютер, мне интересно, какой из них является рекомендуемым:

  1. Используйте утилиту “Импорт/Экспорт”
  2. Скопируйте всю папку виртуальной машины, содержащую файлы .vdi и .vbox.
  3. Клонируйте VDI с помощью “Virtual Media Manager”, а затем воссоздайте VM на целевой машине, но с помощью клонированного VDI в качестве жесткого диска.

Я успешно использовал 1-й метод несколько раз, и он всегда работал. Проблема в том, что после экспорта и импорта образ диска трансформируется в VMDK, а не в VDI!

Метод **2nd, наверное, самый простой, но я не уверен, что простое копирование файлов будет работать или нет на целевой машине. При поиске этого метода я обнаружил, что у некоторых людей возникли проблемы с редактированием файла VirtualBox.xml, чтобы решить их!

Наконец, есть 3-й метод, но он требует дополнительной работы по созданию ВМ, похожей на оригинальную конфигурацию ВМ, что нежелательно.

Из приведенного выше объяснения понятно, что мой желаемый метод - 2-й, но если он работает или нет, то мне нужен совет специалиста по этому вопросу. Я не хочу, чтобы XML-редактирование вставало у меня на пути!

Какой лучший метод безопасной передачи ВМ на другой компьютер с помощью VirtualBox?

Ответы (9)

177
177
177
2013-08-18 20:53:14 +0000

Молодец, что провел свое исследование. Я регулярно использую все три варианта.

  1. (Использовать “Утилиту импорта/экспорта”). Это самый простой вариант, потому что он объединяет всю виртуальную машину в один файл и каждый раз передает ее без проблем. Однако, по моему опыту, при создании OVA или OVF файла для экспорта он отбрасывает все снимки и, если сделать это неправильно, может привести к появлению VMDK файла. При повторном импорте ВМ вы должны иметь возможность выбрать тип создаваемого файла на жестком диске, VDI или VMDK.

  2. (Скопируйте всю папку виртуальной машины, содержащую файлы .vdi и .vbox)_. Это мой предпочтительный вариант, и хотя мне несколько раз приходилось редактировать XML-файл, я сам виноват в том, что что что-то испортил. Убедитесь, что при копировании ВМ вы получаете ВСЕ связанные с ней файлы. Проблемы, с которыми я столкнулся, были, когда определенные снимки и вторичные файлы VDI находились не в том каталоге и не были скопированы должным образом. Если вы скопируете все файлы (и разрешения), у вас не должно быть никаких проблем.

  3. (Клонируйте VDI с помощью “Virtual Media Manager”, а затем воссоздайте VM на целевой машине, но используя клонированный VDI в качестве жесткого диска) Это менее желательно, потому что тогда у вас будет 2 копии VM, и это может вызвать проблемы с лицензированием, проблемы с сетью и т.д. В зависимости от того, как вы клонируете VDI файл.

В общем, я бы определенно рекомендовал вариант 2, просто убедитесь, что вы получите все необходимые файлы, когда вы перемещаете его.

54
54
54
2015-09-24 19:35:02 +0000

Метод 2 теперь хорошо работает (с VirtualBox 4.0 и выше), без каких-либо XML модификаций:

  1. Остановить виртуальную машину
  2. Выход из VirtualBox
  3. Скопируйте папку VM в новое место
  4. Перезагрузите VirtualBox и удалите старую ВМ.
  5. Зайдите в меню Машина ≥ Добавить и просмотреть старую папку.

Это все!

ps: У меня есть VirtualBox 4.3.20 на OSX 10.10

Смотрите это сообщение на форуме VirtualBox для более подробной информации..

21
21
21
2015-09-25 17:14:10 +0000

Предпочитаю также вариант 2:

  1. Скопируйте всю папку VM, содержащую .vdi и .vbox файлы.

Но иногда случается несовпадение UUID. Часто это случается, если вы просто копируете образ VDI диска одной машины на другую машину, но это случалось и во время прямых копий полных каталогов.

Так что, если это то сообщение, которое вы получаете после перемещения виртуальной машины и попытки запустить ее в новой установке:

Не удалось открыть жесткий диск .

Не удалось зарегистрировать жесткий диск, поскольку жесткий диск с UUID уже существует.

Просто перейдите в каталог вашей виртуальной машины; конечно, измените реальный путь в соответствии с реальным:

cd /full/path/to/virtualbox/virtualmachine/Sandbox

И запустите эту команду, чтобы присвоить диску новый UUID:

VBoxManage internalcommands sethduuid Sandbox.vdi
```.
9
9
9
2014-08-16 12:21:03 +0000

В случае, если кто-то еще ищет ответ на этот вопрос, я успешно переместил 5 ВМ Virtual Box на другую установку Win7 на новом жестком диске на той же машине (по сути, это был переход с одной гостевой ОС на другую на том же самом ПК). Я понимаю, что драйверы на совершенно новой машине, вероятно, будут отличаться и потенциально могут оказать негативное влияние на процесс перемещения, но я задокументировал процесс ниже в надежде, что он может кому-нибудь помочь.

  • Не было необходимости клонировать ВМ или изменять xml файл. Версия VB была довольно актуальной: 4.3.12r93773.
  • Новые копии ВМ были созданы в новой папке/обменном диске, чтобы сохранить существующие/старые ВМ в целости и сохранности. Я все еще могу загрузиться со старого жесткого диска, который я сохранил для избыточности/разрешения проблемы, пока не буду доволен своей новой установкой; так что я могу получить доступ к старым ВМ в их прежнем состоянии, если необходимо.
  • Буквы дисков будут варьироваться/не могут понадобиться в зависимости от вашей установки.

На старом хосте Win7:

  1. Убедитесь, что все виртуальные машины выключены.

On New Win7 Host:

  1. Создайте новую папку под названием X:\NewVMs\VirtualBox ВМ (с машины New Win7, чтобы убедиться, что все разрешения в порядке)
  2. Скопируйте/вставьте (не перетаскивайте) все ВМ и содержимое соответствующей папки из старой папки в эту папку (использует новые разрешения)
  3. Удалить VirtualBox (если установлен)
  4. Удалить папку .virtualbox и все содержимое (если есть)
  5. REBOOT для подтверждения отсутствия программных файлов и записей реестра (при удалении старого VirtualBox).
  6. Установить/переустановить VirtualBox (убедитесь, что используете ту же версию VirtualBox, на которой ВМ были созданы на старом хосте/машине (в моем случае ver. 4.3.12r93773)) IMPORTANT: (Не выбирайте галочку для открытия/запуска VirtualBox в конце установки)
  7. Скопируйте/вставьте (не перетаскивайте) папку .virtualbox и содержимое старого хоста Win7 (обычно C:\Users[имя пользователя].VirtualBox
  8. Теперь откройте VirtualBox
  9. Установите настройки для новой папки создания виртуальных машин по умолчанию на тот же самый путь к файлу, что и для только что созданной папки виртуальных машин VirtualBox: X:\NewVMs\VirtualBox ВМ
  10. Статус тестирования ВМ

Удачи.

2
2
2
2016-03-22 03:42:08 +0000

Для особого случая, когда:

  • у вас есть только один VM (или хотите переместить все ваши виртуальные машины),
  • и хост является same аппаратного обеспечения с той же версией ОС (или переустановки той же ОС на ту же машину)

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

  1. Выключите VirtualBox на обоих хостах.
  2. Скопируйте папки .config/VirtualBox и VirtualBox VMs с исходного хоста.
  3. Скопируйте эти папки на целевой хост.
  4. Запустить VirtualBox на целевом хосте.
1
1
1
2018-06-28 21:44:12 +0000

Четвертый путь

В VirtualBOX:

  1. Выключение VM
  2. Щелкните правой кнопкой мыши и удалите VM (не удаляйте файлы)
  3. Зайдите на file>Virtual Media Manager и удалите .vdi
  4. Перейдите по адресу File>Preferences>General и установите папку машины по умолчанию в новое место
  5. Создайте новую виртуальную машину в экспертном режиме для создания ВМ без жесткого диска

В проводнике файлов:

  1. Найдите файл .vdi и скопируйте его
  2. Перейдите в новую папку машины по умолчанию, внутри 3 будет папка VM. Вставьте .vdi файл в новую VM папку

Back In VirtualBOX:

  1. Щелкните правой кнопкой мыши на VM и откройте настройки
  2. Зайдите на Storage>Контроллер: SATA и добавьте жесткий диск, выберите существующий диск 11.choose the .vdi file in the new VM folder

Note: Если метод 2 прерывает установку VirtualBOX, перейдите на C:\Users.VirtualBox и удалите VirtualBox.xml и переименуйте VirtualBox.xml-prev в VirtualBox.xml.

0
0
0
2016-09-12 21:36:17 +0000

Я использовал метод 2, чтобы переместить свою виртуальную машину, и мне не пришлось вносить никаких изменений ни в один XML файл, но я получил пару ошибок с USB и файлообменником и ниже, как я исправил их вместе с процессом:

  1. Скопируйте виртуальную машину со старого на новый ПК. Файлы виртуальной машины отличаются от самой виртуальной машины Oracle. Эти файлы обычно находятся по адресу _c:\users\VirtualBox VMs_. Я взял всю часть _VirtualBox VMs_ и скопировал ее в аналогичное место на новом ПК. Это копирует все виртуальные машины, которые у меня были на оригинальном ПК.

  2. Теперь на новом ПК запустите виртуальный ящик и перейдите в Меню > Машина > Добавить и выбрать файл .vbox из скопированной папки. Вот так.

  3. Теперь, когда я запускаю виртуальную машину на новом ПК, я получаю ошибку при загрузке:

  1. Я не знаю, почему USB-контроллер не работал, потому что тот же самый работал на оригинальном компьютере. Далее я установил VirtualBox Extension Pack

  2. Эта установка была немного странной, потому что загрузка не была исполняемым файлом. Я нажал на Oracle_VM_VirtualBox_Extension_Pack-5.1.4-110228.vbox-extpack и выбрал “Выбрать программу из списка установленных программ”, а затем выбрал виртуальный ящик Oracel и установил расширение. Это исправило проблему, но ещё одним менее желательным решением является возможность отключить usb.

  3. Если у вас были общие папки в оригинальной ВМ, они могут отличаться, и вы получите ошибку. Просмотрите их в “Настройках” >> Общая папка и удалите те, которые сломаны. Сообщение об ошибке будет выглядеть как

.

и все.

-1
-1
-1
2017-01-03 15:03:14 +0000

zar, первым делом… никогда не перемещайте машину, которая находится в сохраненном состоянии, перед перемещением вы должны выключить гостя, а не просто сохранить состояние.

Также убедитесь, что вы используете одну и ту же версию VirtualBOX на обоих хостах, но не только версию VirtualBOX, но и версию пакета расширения… или, по крайней мере, новый хост имеет более высокую версию, но никогда не имеет более низкую версию ни на одном из двух хостов.

И, наконец, я научился этому сложному способу: удалить SHARED конфигурацию папок на VirtualBOX перед тем, как переместить машину, а затем воссоздать ее корректным способом… очень важно, когда хостами являются разные ОС (Windows / Linux hosts).

И просто в качестве примечания… я всегда использую непредсказуемые VDI файлы на жестком диске как для ОС, так и для данных VDI (таким образом, один и тот же DATA VDI может быть использован не только для гостевых), специально для 4GiB pagefile. sys

Последняя часть, повторное использование непредсказуемого VDI файла, усложняет ситуацию, VirtualBOX имеет BIG BUG.

Чтобы увидеть ошибку в действии:

  • Создайте один непредсказуемый VDI (как тот, который я использую для pagefile.sys)
  • Создайте две или три VM на VirtualBOX
  • Переместите одну из них в верхнюю часть списка (просто, чтобы не повредить любую из ваших)
  • Верните назад . vbox файлов каждой из созданных вами машин (для сравнения после появления BUG)
  • Прикрепите этот непредсказуемый VDI к более чем одной из этих машин (кроме той, что находится в верхней части списка)
  • Теперь смотрите .vbox машины, которая находится в верхней части списка

Эта машина была отредактирована, у нее есть ссылки на другие машины непредсказуемого VDI.

  • Итак, BUG есть: Редактирование одной машины, добавление непредсказуемого VDI, который используется другой машиной, влияет на машину, находящуюся в верхней части списка.

Почему, черт возьми, я повторно использую один и тот же 4GiB VDI на всех машинах с Windows? Легко, это MBR диск с FAT32 разделом, куда я поместил pagefile.sys, так как он непредсказуем, все виртуальные машины создадут файл в своей папке снимков, где они хранят изменения, и которые потеряются при следующей загрузке, так что мне не нужно 4Гб для каждого гостя, хранящегося на хост-диске, только один… Таким образом, я сохраняю много GiB, так как у меня есть более 20 различных окон для тестирования приложений, которые я разрабатываю для своих собственных, все комбинации (XP, Vista, 7, 8, 8.1, 10)*(32Bits, 64Bits) * (Так же, как и при первой установке, после каждого ServicePack, после полного обновления окон), я получаю много, много гостевых… так что на всех них я делюсь интуитивно понятным 4GiB VDI для виртуального ram (pagefile.sys).

И если вы позволите BUG пойти дальше, попробуйте переместить одну из машин на другой хост VirtualBOX (помните, что это только виртуальная машина с конфигурацией на ней и ни одна гостевая еще не установлена на ней), вы увидите, что VirtualBox не позволяет вам добавить их, так как некоторые VDI отсутствуют (это FALSE и TRUE, это то, что такая первая машина содержит ссылки на такие VDI инстинкты пчелы на нужной машине).

Теперь сравним . Все VBOX файлы с превио BackUp… обратите внимание, как один из них модифицирован неправильно… да, он находится на вершине списка.

Ну, этот BUG был проинформирован VirtualBOX несколько лет назад, они до сих пор не могут исправить его… И это вызывает много, много проблем.

Также больше, если вы переместите верхнюю часть на виртуальных машинах в нижнее положение, закройте VirtualBox и перезапустите его… скажет вам, что некоторые машины повреждены и не могут быть запущены… Да, первый в списке должен быть обработан в другой форме, если Вы не хотите получить много неприятностей.

Это действительно плохой BUG, который занял у меня много дней, чтобы обнаружить (несколько лет назад) Я узнаю это трудным путем!

Я преодолел это, имея машину, которую я назвал:

  • Common Inmutable Disks

Она имеет пустую конфигурацию и только один VDI, да, вы правы, вы догадались, интуитивно понятный VDI я делюсь для всех остальных виртуальных машин.

Ну, когда я открываю .VBOX файл, я вижу внутри него много строк в <MediaRegistry> <HardDisks> разделе, по одной на каждую машину, где я использую этот непредсказуемый VDI… просто как образец (я удаляю приватные данные):

<MediaRegistry>
  <HardDisks>
    <HardDisk uuid="...UUID..." location="D:\VDIs\_Virtual_Memory_.vdi" format="VDI" type="Immutable">
      <HardDisk uuid="{...UUID...}" location="Snapshots\{...UUID...}.vdi" format="VDI" autoReset="true"/>
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows001 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows002 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows003 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows004 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows005 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows006 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows007 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows008 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows009 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows010 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows011 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows012 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows013 ... // This belongs to other virtual Machine
      ... and so on ... // This belongs to other virtual Machine
    </HardDisk>
  </HardDisks>
</MediaRegistry>

Pretty BUG, не решенный с годами.

Ну, чтобы переместить такие машины… вы должны вручную отредактировать . VBOX файлы, чтобы поместить все ссылки на такие диски на новый хост на первой машине (той, что находится наверху списка) до добавления .VBOX файлов в список, поэтому при добавлении их VirtualBOX имеет ссылки на отсутствующие VDI (отсутствующие из-за большого BUG).

Дело в том, что каждый раз при подключении VDI, который используется на другой машине VirtualBOX обновляет две машины . VBOX файлы (тот, который принадлежит машине, которую вы используете) и к первой машине в списке.

Я не совсем уверен, что произойдет, когда в списке, к первой не прикреплен такой общий VDI… лучше не пробовать, посмотрим, что я вижу.

Так что переход на другой HOST намного сложнее, чем кажется, из-за очень плохой реализации на .VBOX файлах.Внутренняя структура (XML) зависит от HOST (Windows или Linux) - Редактирование одной машины может изменить другую, а не только одну пчелу отредактировали - … что еще?

Нужно больше … Я всегда мигрирую машины, делая это (и не было никаких проблем, никогда):

  1. Обратите внимание на список всех машин (порядок, группировка и т.д.)
  2. Обратите внимание на первую в списке (все ее конфигурации)
  3. Обратите внимание на все свойства машин, которые я хочу переместить на другой хост
  4. Скопируйте .vbox-файлы в виде .txt-файлов (тот, который находится вверху списка + все машины, которые я хочу переместить)
  5. Воссоздайте все машины (и у каждой из них есть специальный файл в верхней части списка) внутри VirtualBox на новом хосте
  6. Закрыть VirtualBox на новом хосте
  7. Дифф сравнить старый .txt с новыми .vbox файлами и скопировать из .txt в .vbox некоторые части по-человечески, а не только Copy&Paste
  8. Откройте VirtualBox и прикрепите все VDI в правильном порядке
  9. Снова закрываем VirtualBox на новом хосте
  10. Дифф сравниваем старый .txt с новыми .vbox файлами и ‘исправляем’ из .txt в .vbox некоторые части по-человечески, а не только Copy&Paste

Все остальное (папка снимков и VDI файлы) i копируем их обычным способом (File System Copy&Paste).

Вся эта тяжелая ручная работа вызвана Большой BUG VirtualBox: Он редактирует/изменяет машину, которая не была изменена, когда вы прикрепляете непредсказуемый VDI, который используется более чем на одной машине, иначе простого Copy&Paste файла .VBOX будет достаточно (после исправления путей папок с общим доступом и т.д.).

-2
-2
-2
2017-04-27 23:51:57 +0000

Скопируйте папку, содержащую машину, в пункт назначения, а затем из меню: “Машина” —> “Добавить”, затем выберите файл vbox, а НЕ файл vdi. Для меня это прошло безупречно. Не уверен, что мне повезло, и должно ли это так работать.