Як видалити VM у VirtualBox, коли з жорсткого диска, на якому був файл VDI, видалено?


23

Я використовую VirtualBox, розміщений на Windows 7, і фізичний жорсткий диск, на якому знаходився один із VDI-файлів мого VM, повністю заповнений і більше не існує.

Проблема полягає в тому, що тепер я не можу видалити ні віртуальний жорсткий диск, ні VM, оскільки спроба видалити файл VDI дає мені помилку про те, що VirtualBox не може знайти файл, і, звичайно, я не можу видалити VM без попереднього випуску ( або видалення) VDI-файлу, який використовував цей апарат.

ОНОВЛЕННЯ: Зауважте, що я також видалив усі вкладені файли пам’яті, а знімки не можна видалити з тієї ж причини - він не може знайти файли (через неіснуючий жорсткий диск).

Хтось знає про рішення?

Відповіді:


20

Видаліть файли VM xml на жорсткому диску. Вони розташовані за замовчуванням у C:\Users\YOUR_NAME\.VirtualBox\Machines.

Після видалення ви все одно отримаєте дивні повідомлення про помилки у Virtualbox. Це тому, що інформація про ваші vms є всередині C:\Users\YOUR_NAME\.VirtualBox\VirtualBox.xml.

Якщо ви не проти втратити деяку глобальну конфігурацію у своєму VirtualBox, просто видаліть цей файл. Virtualbox створить інший, якщо його не існує.

Якщо ви просто хочете видалити певний VM, вам доведеться відредагувати Virtualbox.xmlв якомусь редакторі xml (блокнот прекрасний. Блокнот ++ краще, оскільки він має підсвічування синтаксису).

Ви знайдете ці поля:

<MachineRegistry>
  <MachineEntry uuid="UUID" src="Machines\MACHINE_NAME\MACHINE_NAME.xml"/>
</MachineRegistry>
<MediaRegistry>
  <HardDisks>
    <HardDisk uuid="UUID" location="HardDisks\DISC_NAME.vdi" format="VDI" type="Normal"/>
  </HardDisks>
  <DVDImages>
    <Image uuid="UUID" location="C:\IMAGES\IMAGE.iso"/>
  </DVDImages>
  <FloppyImages/>
</MediaRegistry>

Вийміть MachineEntry з потрібного ВМ. Якщо у вас просто один VM і ви хочете видалити все, просто залиште теги порожніми. Наприклад:

<MachineRegistry/>
<MediaRegistry>
  <HardDisks/>
  <DVDImages/>
  <FloppyImages/>
</MediaRegistry>

... і ви закінчили. Я просто перевірив тут все, і це працює бездоганно. Якщо ви хочете уникнути проблем, створіть резервну копію файлів конфігурації xml з VirtualBox та окремих VM.

(Я не згадував про знімки, але я вважаю, що це той самий принцип.)


Не потрібно видаляти знімки, оскільки вони містяться в каталозі C: ​​\ ... \ Machines \ MyVM.
gvkv

3

Наведені вище інструкції не вирішили для мене питання. Я хотів зняти конкретну машину, не всі з них. У цьому файлі у мене більше не було MachineEntry для конкретної машини:C:\Users\YOUR_NAME\.VirtualBox\VirtualBox.xml

Однак машина все ще з'являлася у віртуальний медіа-менеджер, і я не зміг її зняти звідси.

Перезапуск VirtualBox також не працював.

Що працювало:VBoxSVC.exe процес перезавантаження, а потім перезапуск VirtuaBbox.


1

Спочатку видаліть будь-які знімки з цієї віртуальної машини. Потім відкрийте налаштування віртуальної машини, перейдіть на вкладку «Зберігання», клацніть правою кнопкою миші файл vdi під контролером IDE та натисніть «Видалити додаток». Тепер ви маєте змогу видалити VDI з віртуального медіа-менеджера.

введіть тут опис зображення


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