VirtualBox Неможливо зареєструвати жорсткий диск вже існує


151

Я створив файл віртуального диска VM_1_Ubuntu.vdi . Потім я перемістив її в іншу папку. Я намагався оновити настройки VM (клацніть правою кнопкою миші на віртуальній машині -> налаштування -> Зберігання -> вкладка SATA контролера, шлях VM_1_Ubuntu.vdi ). Я хотів прокласти новий шлях.

Там написано Неможливо зареєструвати жорсткий диск вже існує

Відповіді:


220

Я знайшов рішення

Файл -> Менеджер віртуальних медіа -> Видалено існуючі зображення (зверніть увагу, я видалив їх лише з реєстру).

Я дотримувався цих кроків.

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

Після цього я міг оновити шлях у налаштуваннях VM.


2
Якщо диск, на якому зберігався диск, недоступний, тоді спочатку випустіть (Ctrl + L) диск з VM та Delete (Ctrl + D). Інакше перед випуском диска ви не зможете видалити. Після цього виконайте наведені вище посилання або відкрийте "Налаштування" віртуальної машини, перейдіть до "Зберігання", натисніть "Додати вкладення", виберіть "Додати жорсткий диск" і "Вибрати існуючий диск", потім виберіть файл vdi і ви робляться.
Syed Nasir Abbas

1
Ви повинні видалити всі знімки, щоб кнопка "Видалити" не була сірою.
Ріші

150

Можна змінити UUID у файлі VDI за допомогою команди:

 VBoxManage internalcommands sethduuid <file.vdi>

Здається, що ця команда призначає файлу новий "випадковий" UUID. Немає багато документації на це, хоча.


2
Ідеально підходить для моїх потреб (зміна розміру віртуального жорсткого диска не працювала, не переміщуючи його).
ширі

3
VBoxManage - це exe, який для мене був у "C: \ Program Files \ Oracle \ VirtualBox", тому просто запустіть з вікна cmd.
Giles

1
Це ідеальне рішення, коли у вас є базове зображення ОС і ви хочете зробити копії для встановлення декількох додатків на копіях бази, не змінюючи саму базу.
Jersey_Guy

Допоміг мені
змінити

Це рішення також вирішило ситуацію, коли я скопіював VM в інше місце, вилучив оригінал з VirtualBox і намагався компакт-диск. Команда: $ VBoxManage modifymedium Windows \ 7 \ Professional.vdi --compact Помилка: VBoxManage: помилка: Неможливо зареєструвати жорсткий диск '/ Users / c / VirtualBox VMs / Windows 7 Professional / Windows 7 Professional.vdi' {a510ee0d- 2cef-47db-b25f-acae9e341d45}, тому що жорсткий диск '/ Томи / ramdisk / Windows 7 Professional / Windows 7 Professional.vdi' з UUID {a510ee0d-2cef-47db-b25f-acae9e341d45} вже існує
EmpathicSage

27
  1. Виберіть «Файл» з Oracle VM VirtualBox Manager
  2. Віртуальний медіа-менеджер
  3. Видаліть файл (виділений жовтим кольором) на вкладці Жорсткі диски.

7

Якщо немає можливості видалити або змінити шлях до файлу жорсткого диска за допомогою Virtual Media Manager (в моєму випадку), виконайте вказані нижче дії.

  1. Відкрийте « .vbox» та « .vbox-prev» файли в будь-якому текстовому редакторі.
  2. Відредагуйте атрибут 'location' елемента 'HardDisk' у своєму шляху, наприклад: "d: /VM/VirtualBox/Win10/Win10.vmdk" ( скріншот ).

4

У деяких випадках спочатку потрібно звільнити, потім видалити та повторно додати через Virtual Media Manager


3

1 - Відкрийте файли '.vbox' та '.vbox-prev' (якщо такі є) файли в будь-якому текстовому редакторі та замініть перший символ HardDisk uuid (зверніть увагу, щоб відновити цю зміну на кроці 6)

Приклад: nano /home/virtualbox/WindowsServer/WindowsServer.vbox

Змінити:

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

До:

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

2 - Перезавантажте машину

4 - Зупинка віртуальної машини (якщо запущена)

5 - На терміналі:

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

змінити SIZE для числа в Мегабайт, наприклад 80000 (80 Гб)

6 - Відкрийте знову файли '.vbox' та '.vbox-prev' (якщо такі є) файли в будь-якому текстовому редакторі та замініть перший символ HardDisk uuid на вихідне значення

Приклад: nano /home/virtualbox/WindowsServer/WindowsServer.vbox

Змінити:

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

До:

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

7 - Перезавантажте машину


3

Я дуже ціную тут пропозиції. Коментари Імпалера та Олега допомогли мені скласти своє рішення разом.

Використовуйте CLI VBoxManage. Існує команда modimedmed з --setlocationопцією.

Я пропоную відкрити графічний інтерфейс VBox (у VM VirtualBox Manager 6.0)
- виберіть "Віртуальний медіа-менеджер" (я використовував меню Файл)
- натисніть кнопку "Інформація" для диска, який дає вам цю помилку
- скопіюйте UUID
Примітка: Я видалив контролер з налаштування "Зберігання" перед наступним кроком.
- відкрийте командний рядок та перейдіть до місця розташування файлу .vdi.
Добре зафіксувати VBoxMange, щоб переглянути список параметрів, але це команда для запуску:

VBoxManage modifymedium[вставте сюди тип носія] [UUID] --setlocation[повний шлях до файлу .vdi]

Нарешті, знову приєднайте контролер до будь-якого ВМ - бажано до того, який ви хочете виправити.


0

Рішення, яке працювало для мене, таке:

  1. Переконайтесь, що VirtualBox Manager не працює.
  2. Створіть резервну копію файлів ~\.VirtualBox\VirtualBox.xmlі ~\.VirtualBox\VirtualBox.xml-prev.
  3. Відредагуйте ці файли, щоб змінити <HardDisks>...</HardDisks>розділ, щоб видалити повторюваний запис <HardDisk />.
  4. Тепер запустіть менеджер VirtualBox.

Приклад:

  <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>

Зауважте у наведеному вище фрагменті, що останні два записи відносяться до одного і того ж VM, але мають різні uuid. Один з них недійсний і його слід видалити. Який з них недійсний, можна дізнатися, потрапивши та пробну версію - спочатку видаліть другий запис та спробуйте; якщо це не працює, видаліть третій запис.


0

Після боротьби протягом багатьох днів нарешті знайшли рішення, яке працює ідеально.

Відкрийте папку ~ / Бібліотека Mac OS (у домашньому каталозі) та видаліть папку VirtulBox. Це видалить усі конфігурації, і ви зможете запустити віртуальну скриньку ще раз!

Інші шукають папку .virtualbox у вашому домашньому каталозі. Видаліть його та відкрийте VirtualBox має вирішити вашу проблему.

Ура !!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.