Как открыть существующие виртуальные машины в VirtualBox?


40

Недавно я получил новую рабочую станцию ​​и переместил виртуальные машины VirtualBox и VMWare Player со старого компьютера на новый.

Виртуальные машины VMWare Player - это совсем несложно: перейдите в «Файл -> Открыть виртуальную машину…», найдите файлы .vmx со старого компьютера и вуаля! Это работает и работает. Все необходимые файлы, очевидно, находятся в одной папке.

С VirtualBox, кажется, просто нет способа сделать это. Похоже, виртуальные машины привязаны к исходному хосту каким-то волшебным / невидимым способом, таким как записи реестра и т. Д.

Ответы:


48

Предыдущие ответы выглядят устаревшими.

Начиная с версии 4 Oracle VirtualBox Manager, опция «Добавить» скрыта в меню «Машина» (которое является меню операционной системы). Просто выберите Добавить и перейдите к нужному файлу .vbox. Это прекрасно работает, даже если файл vbox находится на внешнем диске: если диск впоследствии удаляется, отсутствующие поля просто помечаются как «недоступные».

введите описание изображения здесь


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

Это работало без необходимости переименовывать исходную папку в VirtualBox 5.2
Георг Шёлли

7

В папке машины находится файл * .vbox. Перетащите его в список виртуальных машин в VirtualBox.


Это работало для меня на VirtualBox 4.1.18. Просто удалите файл * .xml виртуальной машины в список виртуальных машин. Также необходимо снова добавить виртуальный диск системы в диалоге системы / хранилища.
Алекс Че

Работал для меня в Ubuntu 12.04 и VirtualBox 4.1.12
Дэвид Качиньский

4
Кажется, не работает в VirtualBox 4.3.6 на Windows. Не позволю мне бросить что-нибудь на окно. :-(
Саймон Ист

Не работает в VirtualBox 5.2.0 в Windows
Маркус Мюллер

5

Импорт существующих виртуальных машин с другого хоста в VirtualBox 4 и выше на хостах Windows:

  1. Импорт виртуального диска vdi:

    1. Зайдите в меню: * Файл ⇨ Диспетчер виртуальных носителей.

    2. Перетащите [vm_name].vdiв список.

  2. Добавление импортированного компьютера в список менеджера vbox:

    1. Дважды щелкните [vm_name].vboxфайл в каталоге виртуальной машины, чтобы добавить этот компьютер в список менеджера vbox.

    2. Дважды щелкните [vm_name].vboxвнутри списка менеджера vbox, чтобы запустить устройство.

  3. Sidenotes:

    1. Если виртуальная машина вышла из более ранней версии vbox, у вас будет [vm_name].xmlвнутри подкаталога, а не [vm_name].vboxв том же каталоге, что и [vm_name].vdi.

    2. Скопируйте [vm_name].xmlв тот же каталог, что и, [vm_name].vdiи переименуйте его [vm_name].vbox.

    3. Перейдите к шагу 1.1 или 2.1 в зависимости от действий, которые вы уже предприняли.


К сожалению, это не позволяет вам сбросить VMDK в окне Virtual Media Manager в VirtualBox 4.3.6 в Windows. :-(
Саймон Ист

1
@Simon Найдите .vboxфайл и дважды щелкните по нему. Он добавил себя в список виртуальных машин в диспетчере для меня (Windows 8.1)
Bojangles

4

Если вы хотите использовать существующий виртуальный жесткий диск и «открыть» его в Virtual Box - вам нужно перейти в «Файл> Диспетчер виртуальных носителей» и выбрать «Добавить».

Перейдите к существующему диску и выберите «ОК». Это регистрирует диск с виртуальной коробкой. Теперь вам нужно подключить этот диск к новой или существующей виртуальной машине, чтобы фактически использовать ее.


1
Я создал новую машину, а затем подключил к ней старый диск ... не очень интуитивно, но у меня работает! Спасибо
Alex R

2
Когда я пытаюсь это сделать (добавив VHD-файл с Win7 Virtual PC), я получаю сообщение об ошибке: Не удалось открыть жесткий диск V: \ ProgramData \ VirtualPC \ CleanTesting_XP sp1.vhd. Родительский носитель с UUID {199e419e-a076-d811-81ef-8eeb0865d5ed} носителя 'V: \ ProgramData \ VirtualPC \ CleanTesting_XP sp1.vhd' не найден в реестре носителей ('C: \ Users \ Clay / .VirtualBox \ VirtualBox.xml ').
Клей Николс

7
Добавление нового не работает в VirtualBox 4. Любое другое решение?
Кодизм

2
Для VirtualBox 4 и выше (без кнопки «Добавить»), см. Комментарий Кевина.
Алекс Че

1
Этот ответ кажется устаревшим.
Брайс

3

По умолчанию VirtualBox загружает свои данные конфигурации из следующих путей:

  • В Windows это так %HOMEDRIVE%%HOMEPATH%\.VirtualBox; как правило , что - то вроде C:\Documents and Settings\Username\.VirtualBox.
  • В Mac OS X это так $HOME/Library/VirtualBox.
  • На Unix-подобных системах (Linux, Solaris) это так $HOME/.VirtualBox.

Это означает, что машины являются определенными для вошедшего в систему пользователя. Если вам нужно установить общее место для хранения компьютеров между разными пользователями, вы можете переопределить расположение по умолчанию, установив VBOX_USER_HOMEпеременную среды. VirtualBox будет использовать путь в этой переменной в качестве хранилища данных конфигурации виртуальной машины.

Дополнительную информацию смотрите в разделе справки VirtualBox о данных конфигурации VirtualBox .


2

Я не уверен, что вижу здесь проблему. В VirtualBox, если вы открываете новую виртуальную машину (которую вы, возможно, создали на другом компьютере), вы используете File / Import Appliance, а затем найдите файл, который нужно открыть. После импорта его можно найти на главной панели ВМ.

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

Это может отличаться от того, к чему вы привыкли, но я не понимаю, почему это расстраивает ...


Не повезло ... File / Import Appliance требует OVF-файл, который не существует (я думаю, я мог бы создать его, выполнив «Export Appliance» на старом компьютере, но сейчас уже слишком поздно).
Алекс Р

Я думаю, что документация V'Box достаточно ясна по этому требованию. К сожалению, вы не можете вернуться и повторить. Какие файлы у вас есть в наличии? Может быть, есть способ конвертировать? Или загрузить старые файлы обратно в VMware и повторно экспортировать?
Хотей

2

Если вы работаете на Unix-подобном компьютере, вы можете сделать это:

find /path/to/vms -name "*.vbox" -exec VBoxManage registervm {} \;

Вам просто нужно помнить, чтобы предоставить полный путь к файлу .vbox. Если вы укажете относительный путь, он будет глупо предполагать, что он относительно вашей домашней папки.

Например, я сделал это после восстановления моей рабочей станции:

$ find /store/vm -name "*.vbox" -exec VBoxManage registervm {} \;

Он нашел и перерегистрировал все мои виртуальные машины.


2

В Mac OS X просто откройте файл .vbox (из Finder), и он будет добавлен в список виртуальных машин.


1

По поводу таких ошибок:

Не удалось открыть жесткий диск V: \ ProgramData \ VirtualPC \ CleanTesting_XP sp1.vhd. Родительский носитель с UUID {199e419e-a076-d811-81ef-8eeb0865d5ed} носителя 'V: \ ProgramData \ VirtualPC \ CleanTesting_XP sp1.vhd' не найден в реестре носителей ('C: \ Users \ Clay / .VirtualBox \ VirtualBox.xml ').

VirtualBox, кажется, кэширует UUID, связанный с именем файла виртуального диска. Это не в файле сообщение говорит; это должно быть сохранено в другом месте. Очевидно, VirtualBox 4 больше не поддерживает команды отмены регистрации / регистрации диска.

В конце концов, я обнаружил, что если я изменил имя файла VDI, то он больше не соответствует кэшированной записи, и VirtualBox не жалуется.


Похоже, что это не работает на версии 4.3. Когда я пробую каждый ответ на этот вопрос, я всегда получаю это сообщение :(
Альваро Гонсалес

Теперь я нашел File> Virtual Media Manager. Это позволяет освободить образы VDI от компьютеров и удалить их из реестра носителей. Затем они могут быть повторно добавлены в ВМ по желанию.
Бен Макинтайр

Исправление к моему предыдущему комментарию: я получал это сообщение об ошибке, потому что исходный образ диска не был автономным - он был связан с отмененным диском, или это был различий с другим изображением или что-то в этом роде.
Альваро Гонсалес

Да, у меня были подобные ошибки, потому что некоторые из моих машин основывались на снимках образов VMDK. Мое возможное решение состояло в том, чтобы создать новый пустой компьютер с подключенным корневым VMDK, затем создать еще один пустой компьютер с прикрепленным моментальным снимком VMDK, и, наконец, я мог дважды щелкнуть мой файл VBOX, и он загрузился бы без ошибок.
Саймон Ист

1

На Debian я отредактировал, ~/.VirtualBox/VirtualBox.xmlа также machine.xmlхочу импортировать:~/VirtualBox VMs/$machine/$machine.xml

Закройте VirtualBox, добавьте VirtualBox.xml:

<MachineRegistry>
  <MachineEntry uuid="{$find-in-machine.xml}" src="/$fullpath-to-machine.xml"/>
</MachineRegistry>

Перезапуск VirtualBox, добавить хост-только сети , если это необходимо, импорт внутр пакет , если это необходимо ( https://www.virtualbox.org/wiki/Downloads ), установите VirtualBox дополнения , если это необходимо: sudo apt-get install virtualbox-guest-additions-iso.

Запустите свою виртуальную машину.


1

Ни одно из приведенных выше решений не помогло мне, потому что я пытался импортировать файл VDI, созданный в VirtualBox 3.1.6, в VirtualBox 4.32, работающий на другом компьютере. Это автономный файл, и нет связи с другим VDI. Я продолжал получать ошибку:

Parent medium with UUID {a9dccef3-45f8-45ff-835e-a2b6e7279bac} of the medium 
'c:\Disks\Windows.2003.R2.Enterprise.SQL.Express.192.168.56.222.Trusted.vdi' 
is not found in the media registry

Я даже импортировал тот же vdi под VirtualBox 3.1.6, а затем снова попытался использовать VBoxManage clonehd, чтобы посмотреть, смогу ли я избавиться от ошибки, но это тоже не сработало.

В конце я просто отредактировал .VirtualBox / VirtualBox.xml вручную, добавив

<HardDisk uuid="{43ea34ba-6d72-413e-8b37-32f475927ace}" location="C:/Disks/Windows.2003.R2.Enterprise.SQL.Express.192.168.56.222.Trusted.vdi" format="VDI" type="Normal"/>

(UUID был получен с помощью VBoxManage showvhinfo в VirtualBox 3.1.6.)

И это, наконец, решило проблему, то есть я смог создать новый сеанс VirtualBox, используя vdi.

Надеюсь, что эта заметка поможет тем, кто сталкивается с той же проблемой.


0

В VirtualBox 4.3.8, работающем на хосте Win 7, решение работает очень гладко, дважды щелкнув файл .vbox машины - он даже нашел соответствующие диски и связал их. Ранее я пробовал использовать параметр командной строки registervm, но тот жаловался на то, что подключенный жесткий диск не найден, как и предсказывает документация. Затем я связал тип файла виртуального жесткого диска .vdi с Virtualbox.exe, не уверенный, помогло ли это.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.