Jak usunąć maszynę wirtualną w VirtualBox po usunięciu dysku twardego, na którym znajdował się plik VDI?


23

Korzystam z VirtualBox hostowanego w systemie Windows 7 i fizyczny dysk twardy, na którym znajdował się jeden z plików VDI mojej maszyny wirtualnej, został całkowicie zniszczony i już nie istnieje.

Problem polega na tym, że teraz nie mogę usunąć ani wirtualnego dysku twardego, ani maszyny wirtualnej, ponieważ próba usunięcia pliku VDI powoduje błąd informujący, że VirtualBox nie może znaleźć pliku i oczywiście nie mogę usunąć maszyny wirtualnej bez uprzedniego zwolnienia ( lub usuwanie) pliku VDI używanego przez ten komputer.

AKTUALIZACJA: Zauważ, że usunąłem również wszystkie załączniki pamięci i migawki nie można usunąć z tego samego powodu - nie można znaleźć plików (z powodu nieistniejącego dysku twardego).

Czy ktoś wie o rozwiązaniu?

Odpowiedzi:


20

Usuń pliki xml VM na dysku twardym. Są one domyślnie zlokalizowane w C:\Users\YOUR_NAME\.VirtualBox\Machines.

Po usunięciu nadal będziesz otrzymywać dziwne wiadomości o błędach w Virtualbox. Wynika to z faktu, że niektóre informacje o Twojej vms są w środku C:\Users\YOUR_NAME\.VirtualBox\VirtualBox.xml.

Jeśli nie masz nic przeciwko utracie globalnej konfiguracji w VirtualBox, po prostu usuń ten plik. Virtualbox utworzy inny, jeśli nie istnieje.

Jeśli chcesz tylko usunąć konkretną maszynę wirtualną, musisz edytować Virtualbox.xmlw jakimś edytorze XML (Notatnik jest w porządku. Notatnik ++ jest lepszy, ponieważ ma podświetlanie składni).

Znajdziesz te pola:

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

Usuń MachineEntry z żądanej maszyny wirtualnej. Jeśli masz tylko jedną maszynę wirtualną i chcesz usunąć wszystko, zostaw puste tagi. Na przykład:

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

...i jesteś skończony. Właśnie testowałem tutaj wszystko i działa bezbłędnie. Jeśli chcesz uniknąć problemów, wykonaj kopię zapasową plików konfiguracyjnych XML z VirtualBox i określonych maszyn wirtualnych.

(Nie wspominałem o migawkach, ale uważam, że to ta sama zasada.)


Nie trzeba usuwać migawek, ponieważ są one zawarte w katalogu C: \ ... \ Machines \ MyVM.
gvkv

3

Powyższe instrukcje nie rozwiązały problemu. Chciałem usunąć konkretną maszynę, a nie wszystkie. Nie miałem już MachineEntry dla konkretnej maszyny w tym pliku:C:\Users\YOUR_NAME\.VirtualBox\VirtualBox.xml

Jednak maszyna nadal wyświetlała się w Virtual Media Manager i nie byłem w stanie jej stąd usunąć.

Ponowne uruchomienie VirtualBox też nie działało.

Co zadziałało: Ponowne uruchomienie VBoxSVC.exeprocesu, a następnie ponowne uruchomienie VirtuaBbox.


1

Najpierw usuń migawki tej maszyny wirtualnej. Następnie otwórz ustawienia maszyny wirtualnej, przejdź do karty Pamięć, kliknij prawym przyciskiem myszy plik vdi w obszarze Kontroler IDE i kliknij Usuń załącznik. Teraz powinieneś być w stanie usunąć VDI z Virtual Media Manager.

wprowadź opis zdjęcia tutaj


1
Nie mogę usunąć migawek i już usunąłem kontrolery.
gvkv
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.