Как удалить виртуальную машину в VirtualBox при удалении жесткого диска, на котором находился файл VDI?


23

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

Проблема в том, что теперь я не могу удалить ни виртуальный жесткий диск, ни виртуальную машину, так как попытка удалить файл VDI выдает ошибку, в которой говорится, что VirtualBox не может найти файл, и, конечно, я не могу удалить виртуальную машину без предварительного освобождения ( или удаление) файла VDI, который использовался этим компьютером.

ОБНОВЛЕНИЕ: обратите внимание, что я также удалил все вложения хранилища, и снимки не могут быть удалены по той же причине - он не может найти файлы (из-за несуществующего жесткого диска).

Кто-нибудь знает решение?

Ответы:


20

Удалите файлы VM xml на жесткий диск. Они расположены по умолчанию в C:\Users\YOUR_NAME\.VirtualBox\Machines.

После удаления вы по-прежнему будете получать странные сообщения об ошибках в Virtualbox. Это потому, что некоторая информация о вашем VMS находится внутри C:\Users\YOUR_NAME\.VirtualBox\VirtualBox.xml.

Если вы не возражаете против потери какой-либо глобальной конфигурации в вашем VirtualBox, просто удалите этот файл. Virtualbox создаст другой, если он не существует.

Если вы просто хотите удалить определенную виртуальную машину, вам нужно отредактировать ее Virtualbox.xmlв некотором редакторе XML (блокнот в порядке. Notepad ++ лучше, поскольку он имеет подсветку синтаксиса).

Вы найдете эти поля:

<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 из нужной виртуальной машины. Если у вас есть только одна виртуальная машина и вы хотите удалить все, просто оставьте теги пустыми. Например:

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

...и вы сделали. Я только что проверил все здесь, и это работает безупречно. Если вы хотите избежать проблем, сделайте резервную копию ваших файлов конфигурации xml из VirtualBox и определенных виртуальных машин.

(Я не упомянул о снимках, но я верю, что это тот же принцип.)


Вам не нужно удалять снимки, так как они содержатся в каталоге C: \ ... \ Machines \ MyVM.
gvkv

3

Инструкции выше не решили проблему для меня. Я хотел удалить конкретную машину, а не все. У меня не было MachineEntry для конкретной машины в этом файле:C:\Users\YOUR_NAME\.VirtualBox\VirtualBox.xml

Однако машина все еще обнаруживалась в диспетчере виртуальных носителей, и я не смог удалить ее отсюда.

Перезапуск VirtualBox тоже не сработал.

Что сработало: перезапустить VBoxSVC.exeпроцесс, а затем перезапустить VirtuaBbox.


1

Сначала удалите все снимки этой виртуальной машины. Затем откройте настройки виртуальной машины, перейдите на вкладку «Хранилище», щелкните правой кнопкой мыши файл vdi в разделе «Контроллер IDE» и нажмите «Удалить вложение». Теперь вы сможете удалить VDI из Virtual Media Manager.

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


1
Я не могу удалить снимки, и я уже удалил контроллеры.
gvkv
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.