Mevcut bir sanal makine ile aynı UUID değerine sahip bir VM yapılandırması açmayı denemek


26

Asıl kopyalanan iki VirtualBox sanal makinesini eklemeye çalışırken (basit dosya kopya ile) aynı kaynaktan, ikincisini eklerken mesajı alıyorum

Failed to open virtual machine [...]
Trying to open a VM config [...] which has the same UUID as an existing virtual machine.

(Evet, makineler basit dosya kopyası yerine klonlanmış olmalıydı, ancak bu noktada çok geç.)

Yanıtlar:


40

Sen kullanabilirsiniz VBoxManage internalcommands sethduuid <VDI/VMDK file>güncellenmesi değildir: HD UUID'sini değiştirmek için (yükleme dizini Vbox Çalıştır'ı), ancak bu iki eksiklikleri vardır .vboxben VBoxManage ile bunu yapmak için herhangi bir yol bulamadık (dosya ve makine UUID değişmez ), sadece HD UUID.

Aşağıdakiler benim için çalıştı (Win 7, en yeni VirtualBox sürümü):

  1. VBoxManage internalcommands sethduuid <VDI/VMDK file> iki kez çalıştırın (ilk kez yalnızca bir UUID'yi uygun şekilde oluşturmaktır, bunun yerine başka bir UUID oluşturma yöntemi kullanabilirsiniz)
  2. açmak .vboxbir metin editörü ile dosyayı
  3. ilk kez <Machine uuid="{...}"çalıştırdığınızda aldığınız UUID ile bulunan UUID'yi değiştirin.sethduuid
  4. ikinci kez koştuğunuzda aldığınız UUID ile ( içinde) bulunan <HardDisk uuid="{...}"ve içinde bulunan UUID'yi değiştirin.<Image uuid="{}"sethduuid

Bundan sonra sanal makineyi ekleyebilirsiniz. Çok temiz bir çözüm değil, ancak herhangi bir soruna neden gibi görünmüyor.


1
Bu benim için işe yaradı, ancak VM'de manuel olarak kopyaladığım "takılı" bir de DVD'm vardı. .Vbox dosyamı düzenlediğimde, <DVDImages>...</DVDImages>sadece <DVDImages />kopya UUID ile DVD'yi "çıkarmak" için değişiklik yapmak zorunda kaldım .
JPhi1618

VM'nin anlık görüntüleri varsa, "Snapshots" klasöründeki vdi dosyalarında da aynı adımları yapmanız gerekeceğini unutmayın.
laurent

6

Bunu yapmak için daha basit bir yol buldum.

Mevcut sanal makineyi klonlayın. Bu, muhtemelen yeni bir uuid ile yeni bir sürüm yaratıyor, ancak diğer her açıdan aynı makine.

Ardından eklemek istediğiniz birini \ kullanıcınıza (adınız) \ Virtual Box VMs \ 'e (veya konumun sanal makineleriniz için olduğu yere) kopyalayın ve mevcut makineyi değiştirmek için mevcut tüm dosyaların üzerine yazın.

Varsa, önce makineyi yedeklemeliydim, bunu yapmadan önce, ama bu işe yarıyordu. Mevcut sürümü bir klon olarak tutarken daha önceki bir VM yedeğine geri dönmek için kullanılır.


Eğer yeterli disk alanınız varsa, bu en kolay yoldur, teşekkürler Robert.
sddk

Herhangi biri bunu yaparsa - vbox dosyasının, uuid :: <hardware uuid = "{...}"> makine ile eşleşen bir donanım uuid etiketine sahip olduğundan emin olmalılar, o zaman sabit disk uuid ve makine uuid'leri dışarıda bırakabilirler. herhangi bir sorun. <hardware uuid = "{...}">
StixO

2

Bunun eski bir mesaj olduğunun farkındayım, ancak bu hataya çarptım. Bunu çözdüm:

  1. Sanal Kutu Yöneticisi'ni aç
  2. Sanal Kutu Yöneticisi'ndeki sanal makineye sağ tıklayın
  3. "Kaldır" ı tıklayın
  4. Bir pop-up görünecektir. Sanal kutunun tüm izlerini Sanal Kutu Yöneticisi'nden kaldıracak "Yalnızca kaldır" ı seçin
  5. Sanal Kutu Yöneticisi'ni kapatın
  6. Linux dosya yöneticisini kullanarak sanal makineyi içeren klasöre göz atın.
  7. Her şeyi silin (veya taşıyın) .vmdk sanal sabit disk dosyasını İSTEYİN
  8. Sanal Kutu Yöneticisi'ni aç
  9. "Makine" ye tıklayın
  10. "Yeni" ye tıklayın
  11. Yeni makineyi adlandırın (başlangıçta kullandığımla aynı adı kullandım)

    NOT: Makinenin adı, sanal makineyi içerecek dizinin adı olacaktır, bu nedenle akıllıca seçin ve .vmdk dosyasının yeni dizinde kalmasını istiyorsanız, Sanal Kutu'da ek adımlar atılacağını unutmayın. yönetici

  12. Sorunu yaşayan sanal makine için uygun Tür ve Sürümü seçin ve "İleri" ye tıklayın
  13. Sanal makinenin tahsis etmesini istediğiniz hafıza boyutunu seçin ve "İleri" ye tıklayın.
  14. "Kullan ve mevcut sanal sabit disk dosyasını" seçin ve bulunduğu yere göz atarak seçin
  15. "Oluştur" u seçin

Sadece istemleri takip et ve sanal makineyi başlat.

Her şey yolunda gidiyor, camların tekrar etkinleştirilmesi vb. Gerekli değil.


1

Ayrıca mevcut makineyi klonlayıp ayarlara gidebilir ve daha önce kopyaladığınız .vmdk dosyasını kullanmak için depolamayı değiştirebilirsiniz.


1

Bu hata nedeniyle başlatılamıyorsanız , 'Oracle VM VirtualBox Manager' içinden girişi kaldırmanız yeterlidir . Bu, anlaşmazlığı ortadan kaldıracak ve VM'yi yeni konumundan açabileceksiniz.

... Bu noktada, niyetlendiğiniz şey buysa, bir klon gerçekleştirebilirsiniz. Benim durumumda, VM'nin orijinal konumuna başka bir ihtiyacım olmadığından ek bir çabaya gerek yoktu.


Bu, bugüne kadarki en basit çözümdür ve yalnızca bu işe yaramaz.
shmu

-1

TGR kullanıcısı doğru buldu, ancak bir değişiklik daha yapmam gerekiyordu: vbox XML’de, ImageDuid'i HardDisk uuid (komut satırında oluşturulan ikinci UUID) ile eşleştirmek için değiştirmem gerekiyordu.

<StorageControllers>
   <StorageController ...>
     <AttachedDevice ...>
       <Image uuid="{ [second UUID] }"/>

-1

Diğerlerinden daha basit başka bir yol buldum. Sanal makineyi yalnızca Sanal Kutu arayüzünden silmeniz gerekir (VM'nin dosyalarını silmek isteyip istemediğinizi sorarsa, NOT! Yanıtını verin veya VM'yi kaybedersiniz). Sonra .vbox dosyasına gidin ve açın (Virtual Box ile). Çalışmalıdır çünkü UUID'yi sildiniz (VM silinirken). En azından benim için çalıştı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.