VirtualBox Tidak dapat mendaftarkan hard disk yang sudah ada

151

Saya membuat file disk virtual VM_1_Ubuntu.vdi . Lalu saya memindahkannya ke folder lain. Saya mencoba memperbarui pengaturan VM (klik kanan pada mesin virtual -> pengaturan -> Penyimpanan -> tab SATA Controller, jalur VM_1_Ubuntu.vdi ). Saya ingin menetapkan jalur baru.

Dikatakan Tidak dapat mendaftarkan hard disk sudah ada

Yan Khonski
sumber

Jawaban:

220

Saya menemukan solusinya

File -> Virtual Media Manager -> Menghapus gambar yang ada (catatan, saya menghapusnya hanya dari registri).

Saya mengikuti langkah-langkah ini.

http://www.webdesignblog.asia/software/virtualbox-moving-vdi-file-re-linking-guest/#sthash.1QOHeiw5.dpbs

Setelah itu saya bisa memperbarui jalur dalam pengaturan VM.

Yan Khonski
sumber
2
Jika drive tempat disk disimpan tidak tersedia maka pertama Lepaskan (Ctrl + L) disk dari VM dan Hapus (Ctrl + D). Kalau tidak, sebelum melepaskan disk Anda tidak akan dapat menghapus. Setelah itu ikuti langkah-langkah di tautan di atas atau Buka "Pengaturan" dari Mesin Virtual, pergi ke "Penyimpanan", klik "Tambahkan Lampiran", pilih "Tambahkan Hard Disk" dan "Pilih disk yang ada", lalu pilih file vdi dan Anda sudah selesai.
Syed Nasir Abbas
1
Anda harus menghapus semua snaphots agar tombol hapus tidak berwarna abu-abu.
Rishi
150

Dimungkinkan untuk mengubah UUID pada file VDI menggunakan perintah:

 VBoxManage internalcommands sethduuid <file.vdi>

Tampaknya perintah ini memberikan UUID "acak" baru ke file. Tidak banyak dokumentasi tentang itu.

Impaler
sumber
2
Sempurna untuk kebutuhan saya (mengubah ukuran hard drive virtual tidak berfungsi, tanpa memindahkannya).
shiri
3
VBoxManage adalah exe yang bagi saya ada di "C: \ Program Files \ Oracle \ VirtualBox", jadi jalankan saja dari jendela cmd.
Giles
1
Ini adalah solusi ideal ketika Anda memiliki gambar OS dasar dan ingin membuat copes untuk menginstal beberapa aplikasi pada salinan basis tanpa harus mengubah basis itu sendiri.
Jersey_Guy
Membantu saya mengubah ukuran drive
Zumteufel
Solusi ini juga memecahkan situasi di mana saya telah menyalin VM ke lokasi lain, menghapus yang asli dari VirtualBox, dan mencoba untuk memadatkan disk. Perintah: $ VBoxManage modifymedium Windows \ 7 \ Professional.vdi --compact Kesalahan: VBoxManage: error: Tidak dapat mendaftarkan hard disk '/ Pengguna / c / VirtualBox VMs / Windows 7 Professional / Windows 7 Professional.vdi' {a510ee0d- 2cef-47db-b25f-acae9e341d45} karena hard disk '/ Volume / ramdisk / Windows 7 Professional / Windows 7 Professional.vdi' dengan UUID {a510ee0d-2cef-47db-b25f-acae9e341d45} sudah ada
Zahnon
27
  1. Pilih File dari Oracle VM VirtualBox Manager
  2. Manajer Media Virtual
  3. Hapus file (disorot kuning) dari tab Hard disk.
Syed Nasir Abbas
sumber
7

Jika tidak ada kemungkinan untuk menghapus atau mengubah jalur ke file hard disk menggunakan Virtual Media Manager (dalam kasus saya), maka:

  1. Buka file ' .vbox' dan ' .vbox-prev' (jika ada) di editor teks apa pun.
  2. Edit atribut 'lokasi' dari elemen 'HardDisk' ke jalur Anda, misalnya: "d: /VM/VirtualBox/Win10/Win10.vmdk" ( tangkapan layar ).
Oleg Tatarchuk
sumber
4

Dalam beberapa kasus, pertama-tama Anda perlu Melepaskan, lalu Hapus dan tambahkan kembali melalui Virtual Media Manager

Stefan Georgiev
sumber
3

1 - Buka file '.vbox' dan '.vbox-prev' (jika ada) file dalam editor teks apa pun dan ganti karakter pertama dari hardDisk uuid (perhatikan untuk mengembalikan perubahan ini pada langkah 6)

Contoh: nano /home/virtualbox/WindowsServer/WindowsServer.vbox

Perubahan:

<HardDisks>
        <HardDisk uuid="{3ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

Untuk:

<HardDisks>
        <HardDisk uuid="{2ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

2 - Mesin boot ulang

4 - Hentikan Mesin Virtual (jika dimulai)

5 - Di terminal:

su vbox
cd /home/virtualbox/WindowsServer/
VBoxManage modifyhd WindowsServer.vdi --resize SIZE
exit
exit

ubah SIZE untuk angka dalam Megabytes, contoh 80000 (80GB)

6 - Buka lagi file '.vbox' dan '.vbox-prev' (jika ada) file dalam editor teks apa pun dan ganti karakter pertama dari hardDisk uuid dengan nilai aslinya

Contoh: nano /home/virtualbox/WindowsServer/WindowsServer.vbox

Perubahan:

<HardDisks>
        <HardDisk uuid="{2ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

Untuk:

<HardDisks>
        <HardDisk uuid="{3ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

7 - Mesin boot ulang

Lucas Catani
sumber
3

Saya sangat menghargai saran di sini. Komentar Impaler dan Oleg membantu saya untuk menyatukan solusi saya.

Gunakan VBoxManage CLI. Ada perintah modifymedium dengan a--setlocation opsi.

Saya sarankan membuka VBox GUI (di VM VirtualBox Manager 6.0)
- pilih "Virtual Media Manager" (Saya menggunakan menu File)
- pilih tombol "Informasi" untuk disk yang memberi Anda kesalahan ini
- salin UUID
Catatan: Saya menghapus controller dari pengaturan "Storage" sebelum langkah berikutnya.
- buka command prompt Anda dan arahkan ke lokasi file .vdi.
Adalah ide yang baik untuk mengetik VBoxMange untuk melihat daftar opsi, tetapi ini adalah perintah untuk menjalankan:

VBoxManage modifymedium [masukkan tipe medium di sini] [UUID] --setlocation [path lengkap ke file .vdi]

Terakhir, pasang kembali pengontrol ke VM apa pun - sebaiknya yang ingin Anda perbaiki.

C Marshall
sumber
0

Solusi yang berhasil bagi saya adalah sebagai berikut:

  1. Pastikan VirtualBox Manager tidak berjalan.
  2. Cadangkan file ~\.VirtualBox\VirtualBox.xmldan ~\.VirtualBox\VirtualBox.xml-prev.
  3. Edit file-file ini untuk memodifikasi <HardDisks>...</HardDisks>bagian untuk menghapus entri duplikat dari <HardDisk />.
  4. Sekarang jalankan VirtualBox Manager.

Contoh:

  <HardDisks>
    <HardDisk uuid="{38f266bd-0959-4caf-a0de-27ac9d52e3663}" location="~/VirtualBox VMs/VM1/box-disk001.vmdk" format="VMDK" type="Normal"/>
    <HardDisk uuid="{a6708d79-7393-4d96-89da-2539f75c5465e}" location="~/VirtualBox VMs/VM2/box-disk001.vmdk" format="VMDK" type="Normal"/>
    <HardDisk uuid="{bdce5d4e-9a1c-4f57-acfd-e2acfc8920552}" location="~/VirtualBox VMs/VM2/box-disk001.vmdk" format="VMDK" type="Normal"/>
  </HardDisks>

Perhatikan dalam fragmen di atas bahwa dua entri terakhir merujuk ke VM yang sama tetapi memiliki uuid yang berbeda. Salah satunya tidak valid dan harus dihapus. Yang mana yang tidak valid dapat ditemukan dengan klik dan uji coba - pertama-tama hapus entri kedua dan coba; jika tidak berhasil, hapus entri ketiga.

Sanjeev Sachdev
sumber
0

Setelah berjuang selama beberapa hari akhirnya menemukan solusi yang bekerja dengan sempurna.

Mac OS buka folder ~ / Library (di direktori home Anda) dan hapus folder VirtulBox. Ini akan menghapus semua konfigurasi dan Anda dapat memulai kotak virtual lagi!

Lainnya mencari folder .virtualbox di direktori home Anda. Hapus dan buka VirtualBox yang akan menyelesaikan masalah Anda.

Bersulang!!

Lasithds
sumber