Як відкрити існуючі віртуальні машини у VirtualBox?


40

Нещодавно я отримав нову робочу станцію, і я перемістив свої віртуальні комп'ютери VirtualBox та VMWare Player зі старого ПК на новий.

Віртуальні комп'ютери VMWare Player - це оснащення: ви переходите до "Файл -> Відкрити віртуальну машину ...", знаходите файли .vmx зі старого ПК та voila! Це працює і працює. Усі необхідні файли, мабуть, знаходяться в одній папці.

З VirtualBox просто не здається, що це зробити. Схоже, VM прив’язані до оригінального хоста якось магічним / невидимим способом, як записи реєстру тощо.

Відповіді:


48

Попередні відповіді видаються застарілими.

Починаючи з версії 4 менеджера Oracle VirtualBox, опція "Додати" прихована в меню "Машина" (це меню операційної системи). Просто виберіть Додати та перейдіть до потрібного файлу .vbox. Це чудово працює, навіть якщо файл vbox знаходиться на зовнішньому накопичувачі: якщо диск згодом буде видалено, відсутні пункти просто позначаються як "недоступні".

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


Просто майте на увазі, що вам доведеться називати ваші машини, відмінні від оригіналу, або видаляти папку VM до цього, інакше Oracle у своїй материнській турботі про ваше не дозволить вам продовжувати так, як на їхню думку "папка вже існує і може належати до іншого ВМ ".
ajeh

Це спрацювало без перейменування оригінальної папки у VirtualBox 5.2
Георг Шеллі

7

У папці машини є файл * .vbox. Перетягніть його у список VM у VirtualBox.


Це працювало для мене на VirtualBox 4.1.18. Щойно випустили файл віртуальної машини * .xml до списку VM. Також потрібно знову повернути віртуальний диск системи в діалогове вікно системи / зберігання.
Алекс Че

Працював для мене на Ubuntu 12.04 та VirtualBox 4.1.12
David Kaczynski

4
Схоже, він не працює у VirtualBox 4.3.6 в Windows. Не дозволять мені щось кинути на вікно. :-(
Simon East

Не працює у VirtualBox 5.2.0 в Windows
Markus Müller

5

Імпорт існуючих віртуальних машин з іншого хоста в VirtualBox 4 і вище на хостах Windows:

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

    1. Перейдіть до меню: * Файл ⇨ Віртуальний медіа-менеджер.

    2. Перетягніть [vm_name].vdiсписок до списку.

  2. Додавання імпортованої машини до списку менеджерів vbox:

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

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

  3. Sidenotes:

    1. Якщо VM походить із старішої версії 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 у вікно віртуального медіа-менеджера в VirtualBox 4.3.6 в Windows. :-(
Саймон Схід,

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

4

Якщо ви хочете використовувати наявний віртуальний жорсткий диск і "відкрити" його у віртуальній коробці, вам потрібно перейти до "Файл> Віртуальний медіа-менеджер" і вибрати "Додати".

Перейдіть до наявного диска та виберіть ОК. Це реєструє диск з Virtual Box. Тепер вам потрібно приєднати цей диск до нової чи вже існуючої VM, щоб фактично ним користуватися.


1
Я створив нову машину, а потім приєднав до неї старий диск ... не дуже інтуїтивно, але працює для мене! Спасибі
Alex R

2
Коли я намагаюся (додавши .vhd створений з віртуальним ПК з Win7), я отримую помилку: не вдалося відкрити жорсткий диск 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 використовуватиме шлях у цій змінній як сховище даних конфігурації VM.

Додаткову інформацію див. У темі довідки VirtualBox на даних конфігурації VirtualBox .


2

Я не впевнений, що бачу тут проблему. Якщо ви відкриваєте новий VM (який ви могли створити на іншому комп'ютері) у VirtualBox, ви використовуєте File / Import Appliance, а потім переглядаєте файл, щоб відкрити. Після імпорту його можна знайти на головній панелі VM.

Якщо ви створили VM на тому ж комп’ютері, він уже знаходиться в лівій області головного вікна програми.

Це може відрізнятись від того, до чого ви звикли, але я не бачу, чому це буде розчаровувати ...


Не пощастило ... "Файловий / імпортний прилад" вимагає файлу OVF, якого не існує (я думаю, я міг би створити його, виконавши "Експорт приладу" на старий комп'ютер, але зараз уже пізно).
Alex R

Я думаю, що документація 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 з машин та видаляти їх з реєстру медіа. Потім вони можуть бути додані до VM за бажанням.
Бен Макінтайр

Виправлення до мого попереднього коментаря: Я отримував це повідомлення про помилку, оскільки вихідне зображення диска не було автономним - воно було пов’язане з скасуванням диска, або воно було відмінним від іншого зображення чи щось подібне.
Альваро Гонсалес

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

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.

Запустіть свій VM.


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.