Jak otworzyć istniejące maszyny wirtualne w VirtualBox?


40

Niedawno dostałem nową stację roboczą i przeniosłem maszyny wirtualne VirtualBox i VMWare Player ze starego komputera na nowy.

Maszyny wirtualne VMWare Player są błyskawiczne: przejdź do „Plik -> Otwórz maszynę wirtualną…”, znajdź pliki .vmx ze starego komputera i voila! To działa. Wszystkie wymagane pliki najwyraźniej znajdują się w tym samym folderze.

Dzięki VirtualBox po prostu nie ma na to sposobu. Wygląda na to, że maszyny wirtualne są powiązane z oryginalnym hostem w jakiś magiczny / niewidoczny sposób, np. Wpisy rejestru itp.

Odpowiedzi:


48

Poprzednie odpowiedzi wydają się nieaktualne.

Począwszy od wersji 4 Oracle VirtualBox Manager, opcja „Dodaj” jest ukryta w menu „Maszyna” (menu systemu operacyjnego). Po prostu wybierz Dodaj i przejdź do żądanego pliku .vbox. Działa to świetnie, nawet jeśli plik vbox znajduje się na dysku zewnętrznym: jeśli dysk zostanie później usunięty, brakujące pola są po prostu oznaczone jako „niedostępne”.

wprowadź opis zdjęcia tutaj


Tylko pamiętaj, że będziesz musiał nazwać swoje maszyny inaczej niż oryginał lub usunąć folder VM, zanim to zrobisz, w przeciwnym razie Oracle w swojej matczynej opiece nad tobą nie pozwoli ci kontynuować, ponieważ ich zdaniem „folder już istnieje i może należeć do innej maszyny wirtualnej ”.
ajeh


7

W folderze komputera znajduje się plik * .vbox. Przeciągnij go na listę VM w VirtualBox.


To działało dla mnie w VirtualBox 4.1.18. Właśnie upuściłem plik * .xml maszyny wirtualnej na listę maszyn wirtualnych. Potrzebne było również ponowne dodanie wirtualnego dysku systemowego w oknie dialogowym system / pamięć masowa.
Alex Che

Pracowałem dla mnie nad Ubuntu 12.04 i VirtualBox 4.1.12
David Kaczyński

4
Wydaje się, że nie działa w VirtualBox 4.3.6 w systemie Windows. Nie pozwolę mi upuścić niczego na okno. :-(
Simon East

Nie działa w VirtualBox 5.2.0 w systemie Windows
Markus Müller

5

Importowanie istniejących maszyn wirtualnych z innego hosta do VirtualBox 4 i nowszych na hostach Windows:

  1. Importowanie wirtualnego dysku vdi:

    1. Przejdź do menu: * Plik ⇨ Wirtualny menedżer multimediów.

    2. Przeciągnij i upuść [vm_name].vdina listę.

  2. Dodanie zaimportowanego komputera do listy menedżerów vbox:

    1. Kliknij dwukrotnie [vm_name].vboxplik w katalogu vm, aby dodać ten komputer do listy menedżerów vbox.

    2. Kliknij dwukrotnie [vm_name].vboxwewnątrz listy menedżerów vbox, aby uruchomić urządzenie.

  3. Sidenotes:

    1. Jeśli maszyna wirtualna pochodzi ze starszej wersji vbox, będziesz mieć [vm_name].xmlwewnątrz podkatalogu zamiast [vm_name].vboxw tym samym katalogu co [vm_name].vdi.

    2. Skopiuj plik [vm_name].xmldo tego samego katalogu co [vm_name].vdii zmień jego nazwę na [vm_name].vbox.

    3. Przejdź do kroku 1.1 lub 2.1 w zależności od podjętych działań.


Niestety wydaje się, że nie pozwala upuścić VMDK w oknie Virtual Media Manager w VirtualBox 4.3.6 w systemie Windows. :-(
Simon East

1
@ Simon Znajdź .vboxplik i kliknij go dwukrotnie. Dodał się do listy maszyn wirtualnych w menedżerze dla mnie (Windows 8.1)
Bojangles

4

Jeśli chcesz użyć istniejącego wirtualnego dysku twardego i „otworzyć” go w Virtual Box - musisz przejść do „Plik> Virtual Media Manager” i wybrać „Dodaj”.

Przejdź do istniejącego dysku i wybierz ok. To rejestruje dysk w Virtual Box. Teraz musisz dołączyć ten dysk do nowej lub istniejącej maszyny wirtualnej, aby z niej faktycznie korzystać.


1
Stworzyłem nową maszynę, a następnie podłączyłem do niej stary dysk ... niezbyt intuicyjny, ale działa dla mnie! Dzięki
Alex R

2
Gdy próbuję (dodając plik .vhd utworzony w / Win7 Virtual PC), pojawia się błąd: Nie udało się otworzyć dysku twardego V: \ ProgramData \ VirtualPC \ CleanTesting_XP sp1.vhd. Nośnik nadrzędny o numerze UUID {199e419e-a076-d811-81ef-8eeb0865d5ed} nośnika „V: \ ProgramData \ VirtualPC \ CleanTesting_XP sp1.vhd” nie został znaleziony w rejestrze multimediów („C: \ Users \ Clay / .VirtualBox \” VirtualBox.xml ').
Clay Nichols,

7
Dodaj nowy nie działa w VirtualBox 4. Jakieś inne rozwiązanie?
Codism

2
VirtualBox 4 i nowsze (bez przycisku „Dodaj”), patrz komentarz Kevina.
Alex Che

1
Ta odpowiedź wydaje się przestarzała.
Bryce

3

Domyślnie VirtualBox ładuje dane konfiguracyjne z następujących ścieżek:

  • W systemie Windows jest to %HOMEDRIVE%%HOMEPATH%\.VirtualBox; zazwyczaj coś takiego C:\Documents and Settings\Username\.VirtualBox.
  • W systemie Mac OS X tak jest $HOME/Library/VirtualBox.
  • W systemach uniksopodobnych (Linux, Solaris) tak jest $HOME/.VirtualBox.

Oznacza to, że maszyny są specyficzne dla zalogowanego użytkownika. Jeśli chcesz ustawić wspólne miejsce do przechowywania komputerów między różnymi użytkownikami, możesz zastąpić domyślną lokalizację, ustawiając VBOX_USER_HOMEzmienną środowiskową. VirtualBox użyje ścieżki w tej zmiennej jako magazynu danych konfiguracji VM.

Aby uzyskać więcej informacji, zobacz temat pomocy VirtualBox na temat danych konfiguracji VirtualBox .


2

Nie jestem pewien, czy widzę tutaj problem. W VirtualBox, jeśli otwierasz nową maszynę wirtualną (utworzoną na innym komputerze), korzystasz z aplikacji File / Import Appliance, a następnie wyszukujesz plik, który chcesz otworzyć. Po zaimportowaniu można go znaleźć w głównym panelu maszyny wirtualnej.

Jeśli maszyna wirtualna została utworzona na tym samym komputerze, jest ona już w lewym panelu głównego okna programu.

Może się różnić od tego, do czego jesteś przyzwyczajony, ale nie rozumiem, dlaczego byłoby to frustrujące ...


Nie ma szczęścia ... „File / Import Appliance” wymaga pliku OVF, który nie istnieje (myślę, że mógłbym go utworzyć, wykonując „Export Appliance” na starym komputerze, ale teraz jest już za późno).
Alex R

Myślę, że dokumentacja V'Box jest dość jasna na temat tego wymagania. Niestety, nie możesz wrócić i powtórzyć. Jakie masz pliki? Może istnieje sposób na konwersję? Lub załadować stare pliki z powrotem na VMware i ponownie wyeksportować?
hotei

2

Jeśli korzystasz z komputera uniksowego, możesz to zrobić:

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

Musisz tylko pamiętać o podaniu całej ścieżki do pliku .vbox. Jeśli podasz ścieżkę względną, nierozsądnie przyjmie ona, że ​​jest ona względna do folderu domowego.

Na przykład zrobiłem to po przebudowie stacji roboczej:

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

Znaleziono i ponownie zarejestrowałem wszystkie moje maszyny wirtualne.


2

W systemie Mac OS X wystarczy otworzyć plik .vbox (z Findera) i zostanie on dodany do listy maszyn wirtualnych.


1

W odniesieniu do takich błędów:

Nie można otworzyć dysku twardego V: \ ProgramData \ VirtualPC \ CleanTesting_XP sp1.vhd. Nośnik nadrzędny o identyfikatorze UUID {199e419e-a076-d811-81ef-8eeb0865d5ed} nośnika „V: \ ProgramData \ VirtualPC \ CleanTesting_XP sp1.vhd” nie został znaleziony w rejestrze multimediów („C: \ Users \ Clay / .VirtualBox \” VirtualBox.xml ').

Wygląda na to, że VirtualBox buforuje UUID powiązany z nazwą pliku dysku wirtualnego. Wiadomość nie zawiera tego pliku; musi być przechowywany gdzie indziej. Najwyraźniej VirtualBox 4 nie obsługuje już wyrejestrowywania / rejestrowania poleceń dyskowych.

W końcu okazało się, że jeśli zmienię nazwę pliku VDI, to nie pasuje on już do wpisanego w pamięci podręcznej wpisu, a VirtualBox nie narzeka.


Wydaje się, że to nie działa w wersjach 4.3. Kiedy próbuję każdej odpowiedzi na to pytanie, zawsze otrzymuję tę wiadomość :(
Álvaro González,

Teraz znalazłem Plik> Virtual Media Manager. Umożliwia to cofnięcie przydziału obrazów VDI z komputerów i usunięcie ich z rejestru multimediów. Można je następnie ponownie dodać do maszyny wirtualnej zgodnie z potrzebami.
Ben McIntyre,

Korekta do mojego poprzedniego komentarza: Otrzymywałem ten komunikat o błędzie, ponieważ oryginalny obraz dysku nie był samowystarczalny - był połączony z cofnięciem dysku lub był różnicą w stosunku do innego obrazu lub czegoś podobnego.
Álvaro González,

Tak, miałem takie błędy, ponieważ niektóre moje maszyny były oparte na migawkach obrazów VMDK. Moim ostatecznym rozwiązaniem było utworzenie nowej pustej maszyny z dołączonym głównym VMDK, następnie utworzenie kolejnej pustej maszyny z dołączoną migawką VMDK, a następnie w końcu mogłem dwukrotnie kliknąć mój plik VBOX i załadowałby się bez błędów.
Simon East

1

W Debianie edytowałem, ~/.VirtualBox/VirtualBox.xmla także machine.xmlchcę zaimportować:~/VirtualBox VMs/$machine/$machine.xml

Zamknij VirtualBox, dodaj VirtualBox.xml:

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

Relaunch VirtualBox, dodać sieć host-only, jeśli to konieczne, ext import pakiet w razie potrzeby ( https://www.virtualbox.org/wiki/Downloads ), zainstalować dodatki VirtualBox razie potrzeby: sudo apt-get install virtualbox-guest-additions-iso.

Uruchom maszynę wirtualną.


1

Żadne z powyższych rozwiązań nie działało dla mnie, ponieważ próbowałem zaimportować plik VDI utworzony w VirtualBox 3.1.6 do VirtualBox 4.32 działającego na innym komputerze. Jest to samodzielny plik i nie ma powiązania z innym VDI. Wciąż pojawiał się błąd:

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

Zaimportowałem nawet to samo vdi pod VirtualBox 3.1.6, a następnie ponownie spróbowałem użyć clonehd VBoxManage, aby sprawdzić, czy mogę pozbyć się błędu, ale to też nie zadziałało.

Na koniec po prostu edytowałem .VirtualBox / VirtualBox.xml ręcznie, dodając

<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 uzyskano za pomocą VBoxManage showvhinfo w VirtualBox 3.1.6.)

I to w końcu rozwiązało problem, tzn. Byłem w stanie utworzyć nową sesję VirtualBox za pomocą vdi.

Mam nadzieję, że ta notatka pomoże tym, którzy napotykają ten sam problem.


0

W VirtualBox 4.3.8 działającym na hoście Win 7 rozwiązanie działa bardzo płynnie poprzez dwukrotne kliknięcie na plik .vbox komputera - nawet znalazł odpowiednie dyski i je powiązał. Wcześniej próbowałem użyć opcji wiersza polecenia registervm, ale to narzekało na brak podłączonego dysku twardego, jak przewiduje dokumentacja. Następnie skojarzyłem typ pliku wirtualnego dysku twardego .vdi z Virtualbox.exe, nie jestem pewien, czy to pomogło.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.