zar, po pierwsze ... nigdy nie ruszaj maszyną, która jest w stanie zapisanym, przed przeniesieniem musisz zamknąć gościa, a nie tylko zapisać stan.
Upewnij się również, że używasz tej samej wersji VirtualBOX na obu hostach, ale nie tylko wersji VirtualBOX, także rozszerzenia pakietu vesion ... lub przynajmniej nowy host ma wyższą wersję, ale nigdy niższą wersję na żadnym z tych dwóch.
I w końcu nauczyłem się tego na własnej skórze, usuwam konfigurację folderu SHARED na VirtualBOX przed przeniesieniem komputera, a następnie tworzę go ponownie we właściwy sposób ... bardzo ważne, gdy host jest inny OS (hosty Windows / Linux).
I tak na marginesie ... zawsze używam niezmiennych plików VDI dysku twardego dla systemu operacyjnego, a także dla danych VDI (w ten sposób można użyć tego samego DATA VDI dla więcej niż gościa), szczególnie sztuczka dla 4GiB pagefile.sys
Ostatnia część, ponowne użycie niezmiennego pliku VDI sprawia, że sprawy stają się trochę trudniejsze, VirtualBOX ma DUŻY BŁĄD.
Aby zobaczyć błąd w akcji:
- Utwórz jeden niewymienny VDI (taki jak ten, którego używam dla pagefile.sys)
- Utwórz dwie lub trzy maszyny wirtualne na VirtualBOX
- Przenieś jeden z nich na górę listy (aby uniknąć uszkodzenia jednego z twoich)
- Kopia zapasowa plików .vbox każdego z utworzonych przez ciebie komputerów (do porównania po wystąpieniu BŁĘDU)
- Dołącz ten niezmienny VDI do więcej niż jednego z tych komputerów (oprócz tego na górze listy)
- Teraz zobacz .vbox maszyny, która znajduje się na górze listy
Ta maszyna została edytowana, ma odniesienia do innych maszyn niewymiennych VDI.
Więc BŁĄD polega na: Edycja jednej maszyny poprzez dodanie niewymienialnego VDI, który jest używany przez inny, wpływa na maszynę na górze listy.
Dlaczego, do diabła, ponownie używam tego samego VDI 4GiB na wszystkich komputerach z systemem Windows? Łatwo, to dysk MBR z partycją FAT32, na której umieściłem pagefile.sys, ponieważ jest niemożliwy do modyfikacji, wszystkie maszyny wirtualne utworzą plik w folderze migawek, w którym przechowują zmiany, i które gubią się przy następnym uruchomieniu, więc robię to nie potrzebuję 4GiB dla każdego gościa przechowywanego na dysku hosta, tylko jeden ... w ten sposób oszczędzam dużo GiB, ponieważ mam ponad 20 różnych okien do testowania aplikacji, które tworzę dla siebie, wszystkie kombinacje (XP, Vista , 7, 8, 8.1, 10) * (32 bity, 64 bity) * (tak jak przy pierwszej instalacji, po każdym dodatku ServicePack, po pełnej aktualizacji systemu Windows), otrzymuję wielu gości ... więc na wszystkich Udostępniam niewymienny VDI 4GiB dla wirtualnego pamięci RAM (pagefile.sys).
A jeśli pozwolisz BŁĘDOWI pójść dalej, spróbuj przenieść jedną z tych maszyn na inny host VirtualBOX (pamiętaj, że to tylko maszyna wirtualna z konfiguracją na nich i nie ma jeszcze zainstalowanego gościa), zobaczysz, że VirtualBox nie pozwala ci dodaj je, ponieważ brakuje niektórych VDI (jest to FAŁSZ i PRAWDA, jest tak, że taka pierwsza maszyna przechowuje odniesienia do takich instancji VDI związanych z uruchomieniem na właściwej maszynie).
Teraz porównaj wszystkie pliki .VBOX z poprzednią wersją BackUp ... zwróć uwagę na to, jak się źle modyfikuje? ... tak, to ta na górze listy.
Cóż, ten BŁĄD został poinformowany VirtualBOX kilka lat temu, nadal nie mogą go naprawić ... i powoduje wiele, wiele problemów.
Co więcej, jeśli przeniesiesz górną na maszynach wirtualnych w niższą pozycję, zamknij VirtualBox i uruchom go ponownie ... powie ci, że niektóre maszyny są uszkodzone i nie można ich uruchomić ... tak, pierwsza na liście należy traktować w innej formie, jeśli nie chcesz mieć większych problemów.
To naprawdę zły BŁĄD, który odkryłem (kilka lat temu) zajęło mi wiele dni. Nauczyłem się tego na własnej skórze!
Pokonałem go, mając maszynę, którą zadzwoniłem:
Ma pustą konfigurację i tylko jeden VDI, tak, masz rację, zgadnij, niewymienny VDI, który udostępniam dla wszystkich pozostałych maszyn wirtualnych.
Cóż, kiedy otwieram plik .VBOX, widzę w nim wiele linii w <MediaRegistry>
<HardDisks>
sekcji, po jednej na każdą maszynę, na której używam tego niezmiennego VDI ... tak jak próbka (usuwam prywatne dane):
<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>
BŁĄD, nierozwiązany od lat.
Cóż, aby przenieść takie maszyny ... musisz ręcznie edytować pliki .VBOX, aby umieścić wszystkie odwołania do tych dysków na nowym hoście na pierwszym komputerze (tym, który znajduje się na górze listy) przed dodaniem .VBOX pliki do listy, więc podczas ich dodawania VirtualBOX zawiera odniesienia do brakujących VDI (brak spowodowanych przez duży BŁĄD).
Dzieje się tak, ponieważ za każdym razem, gdy podłączasz VDI, który jest używany na innym komputerze, VirtualBOX aktualizuje dwa pliki .VBOX na komputerze (ten, który należy do używanego komputera) i do pierwszego na liście.
Nie jestem całkowicie pewien, co by się stało, gdy na liście, pierwsza nie ma tak wspólnego VDI ... lepiej nie próbować, widziałem to, co widzę.
Migracja do innego hosta jest znacznie bardziej skomplikowana niż to, co wydaje się być spowodowane bardzo złą implementacją wewnętrznej struktury plików .VBOX oraz z powodu naprawdę dużych błędów podczas edycji VirtualBOX.
Nie działa:
- Struktura wewnętrzna (XML) zależy od HOST (Windows lub Linux)
- Edycja jednej maszyny może zmienić inną, nie tylko edytowaną
- ... co wiecej ?
Potrzebujesz więcej ... Zawsze migruję maszyny, robiąc to (i nigdy nie miałem problemu, nigdy):
- Zanotuj listę wszystkich komputerów (zamówienie, grupowanie itp.)
- Zwróć uwagę na pierwszy na liście (cała jego konfiguracja)
- Zwróć uwagę na wszystkie właściwości maszyn, które chcę przenieść na inny host
- Skopiuj pliki .vbox jako pliki .txt (ten na górze listy + wszystkie komputery, które chcę migrować)
- Ponownie uruchom wszystkie maszyny (i specjalne na górze listy) w VirtualBox na nowym hoście
- Zamknij VirtualBox na nowym hoście
- Diff porównaj stary .txt z nowymi plikami .vbox i skopiuj z .txt do .vbox niektóre części w ludzki sposób, nie tylko kopiuj i wklej
- Otwórz VirtualBox i dołącz wszystkie VDI we właściwej kolejności
- Ponownie zamknij VirtualBox na nowym hoście
- Zróżnicuj stare .txt z nowymi plikami .vbox i „napraw” z .txt na .vbox niektóre części w ludzki sposób, nie tylko kopiuj i wklej
Całą resztę (folder migawek i pliki VDI) kopiuję w normalny sposób (Kopiowanie i wklejanie systemu plików).
Cała ta ciężka praca ręczna jest spowodowana przez Big BUG VirtualBox: Edytuje / modyfikuje maszynę, która nie została zmodyfikowana, gdy dołączasz niewymienny VDI, który jest używany na więcej niż jednym komputerze, w przeciwnym razie wystarczy zwykły plik Kopiuj i Wklej .VBOX (po ustalanie ścieżek folderów współdzielonych itp.).