Mencoba untuk membuka konfigurasi VM yang memiliki UUID yang sama dengan mesin virtual yang ada

26

Ketika mencoba menambahkan dua mesin virtual VirtualBox yang awalnya disalin (melalui salinan file sederhana) dari sumber yang sama, pada menambahkan yang kedua saya mendapatkan pesan

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

(Ya, mesin-mesin seharusnya dikloning alih-alih salinan file sederhana, tetapi sudah terlambat pada saat ini.)

Tgr
sumber

Jawaban:

40

Anda dapat menggunakan VBoxManage internalcommands sethduuid <VDI/VMDK file>(Jalankan dari direktori instal VBox) untuk mengubah UUID HD, tetapi ini memiliki dua kekurangan: ia tidak memperbarui .vboxfile, dan itu tidak mengubah mesin UUID (Saya tidak menemukan cara untuk melakukan ini dengan VBoxManage ), hanya UUID HD.

Berikut ini bekerja untuk saya (Win 7, versi VirtualBox terbaru):

  1. jalankan VBoxManage internalcommands sethduuid <VDI/VMDK file> dua kali (pertama kali hanya untuk menghasilkan UUID, Anda bisa menggunakan metode pembuatan UUID lainnya)
  2. buka .vboxfile dalam editor teks
  3. ganti UUID yang ditemukan <Machine uuid="{...}"dengan UUID yang Anda dapatkan saat menjalankan sethduuidpertama kali
  4. ganti UUID yang ditemukan di dalam <HardDisk uuid="{...}"dan di <Image uuid="{}"(menjelang akhir) dengan UUID yang Anda dapatkan saat menjalankan sethduuidkedua kalinya

Anda dapat menambahkan mesin virtual setelah itu. Bukan solusi yang sangat bersih, tetapi sepertinya tidak menimbulkan masalah.

Tgr
sumber
1
Ini bekerja untuk saya, tetapi saya juga memiliki DVD "dimasukkan" di VM yang saya salin secara manual. Ketika saya mengedit file .vbox saya, saya harus mengubah <DVDImages>...</DVDImages>hanya <DVDImages />untuk "mengeluarkan" DVD dengan duplikat UUID.
JPhi1618
Perhatikan bahwa jika VM memiliki snapshot Anda juga harus melakukan langkah yang sama pada file vdi di folder "Snapshots".
laurent
6

Saya telah menemukan cara yang lebih sederhana untuk melakukannya.

Klon mesin virtual yang ada. Ini menciptakan versi baru dengan mungkin uuid baru, tetapi dalam semua hal lain itu adalah mesin yang sama.

Kemudian salin yang ingin Anda tambahkan, ke \ pengguna Anda (nama Anda) \ Virtual Box VMs \ (atau di mana pun lokasi mesin virtual Anda) dan timpa semua file yang ada di sana, untuk mengganti mesin yang ada.

Saya akan mencadangkan mesin yang ada terlebih dahulu untuk berjaga-jaga, sebelum melakukan itu, tetapi itu bekerja dengan baik di sini. Digunakan untuk kembali ke cadangan VM sebelumnya sambil mempertahankan versi yang ada sebagai klon.

Robert Walker
sumber
jika Anda memiliki cukup ruang disk, ini adalah cara termudah, terima kasih Robert.
sddk
Jika ada yang melakukan ini - mereka harus memastikan file vbox memiliki tag uuid perangkat keras yang cocok dengan mesin uuid :: <hardware uuid = "{...}">, maka mereka dapat mengubah u disk hard disk dan uuid mesin tanpa ada masalah. <hardware uuid = "{...}">
StixO
2

Saya menyadari ini adalah pos lama tetapi saya menemukan kesalahan ini. Saya mengatasinya dengan:

  1. Buka Virtual Box Manager
  2. Klik kanan pada mesin virtual di Virtual Box Manager
  3. Klik "Hapus"
  4. Munculan akan muncul. Pilih "Hapus saja" yang hanya akan menghapus semua jejak kotak virtual dari Virtual Box Manager
  5. Tutup Manajer Kotak Virtual
  6. Menggunakan manajer file Linux, browse ke folder yang berisi mesin virtual
  7. Hapus (atau pindahkan) semua KECUALI dari file hard disk virtual .vmdk
  8. Buka Virtual Box Manager
  9. Klik "Mesin"
  10. Klik "Baru"
  11. Beri nama mesin baru (saya menggunakan nama yang sama dengan yang saya gunakan awalnya)

    CATATAN: Nama mesin ini akan menjadi nama direktori yang akan berisi mesin virtual jadi pilihlah dengan bijak dan catat juga bahwa jika Anda ingin file .vmdk berada di direktori baru itu akan mengambil langkah-langkah tambahan dalam Kotak Virtual Manajer

  12. Pilih Jenis dan Versi yang tepat untuk mesin virtual yang mengalami masalah dan klik "Next"
  13. Pilih ukuran memori yang Anda inginkan untuk dialokasikan oleh mesin virtual dan klik "Next"
  14. Pilih "Gunakan dan file hard disk virtual yang ada" dan pilih dengan meramban ke lokasi itu
  15. Pilih "Buat"

Cukup ikuti petunjuk dari sana dan kemudian mulai mesin virtual.

Semuanya berjalan dengan baik, tidak perlu mengaktifkan kembali windows atau lainnya.

Dale Reynolds
sumber
1

Anda juga dapat mengkloning mesin yang ada kemudian masuk ke pengaturan dan mengubah penyimpanan untuk menggunakan .vmdk yang telah Anda salin sebelumnya.

Toby
sumber
1

Jika Anda tidak dapat meluncurkan karena kesalahan ini, cukup 'Hapus ...' entri dari 'Oracle VM VirtualBox Manager' . Ini akan menghapus konflik dan Anda akan dapat membuka VM dari lokasi barunya.

... Pada titik itu Anda dapat melakukan kloning jika itu yang Anda inginkan. Dalam kasus saya, tidak ada upaya tambahan yang diperlukan karena saya tidak perlu lagi untuk lokasi asli VM.

bangsawan
sumber
Sejauh ini, ini adalah solusi paling sederhana, dan tidak hanya itu, ia bekerja.
shmu
-1

Pengguna TGR melakukannya dengan benar, tetapi saya harus membuat satu perubahan tambahan: Di vbox XML saya perlu mengubah Image uuid agar sesuai dengan HardDisk uuid (UUID kedua dibuat pada baris perintah)

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

Saya telah menemukan cara lain yang lebih sederhana daripada yang lain. Anda hanya perlu menghapus mesin virtual dari antarmuka Kotak Virtual (jika ia menanyakan apakah Anda ingin menghapus file-file VM, jawablah TIDAK !, atau Anda akan kehilangan VM). Dan kemudian pergi ke file .vbox dan buka (dengan Kotak Virtual). Ini harus berfungsi karena Anda telah menghapus UUID (saat menghapus VM). Setidaknya itu berhasil untuk saya ...

Marouan Kouitra
sumber