In Windows 7 habe ich eine weitere Windows 7-VM in VirtualBox eingerichtet. Es hat super geklappt. Dann musste ich die vhd HD-Größe erhöhen. Also habe ich das VBoxManage-Dienstprogramm verwendet, um dies mit dem folgenden Kommentar zu tun:
VBoxManage modifyhd "c:\VMs\Win7.vhd" --resize 30000
Dann habe ich versucht, die VM erneut auszuführen, sie kann jedoch nicht gestartet werden und es wird die folgende Fehlermeldung angezeigt:
FATAL: Kein bootfähiges Medium gefunden! System wurde angehalten.
Dann habe ich versucht zu sehen, was in der VHD vor sich geht, und versucht, es in der Geräteverwaltung anzuhängen, und es heißt, dass es nicht angehängt werden kann, weil die Datei oder das Verzeichnis beschädigt und nicht lesbar ist .
Irgendeine Idee, was hier schief gelaufen ist und wie ich meine VM in dieser VHD-Datei speichern kann?
quelle
Antworten:
Leider ist die VirtualBox-Dokumentation für die Option VBoxManage --resize irreführend. Sie können das Image nicht einfach vergrößern, damit alles ordnungsgemäß funktioniert. Die Informationen zur Festplattenpartition im Image müssen so angepasst werden, dass das Gastbetriebssystem das Layout des "Laufwerks" kennt, das das Image simuliert. Sie führen diese Anpassung durch, indem Sie ein bootfähiges CD-Image mit einem Partitionseditor herunterladen und die VM auf dieser CD booten. Anschließend verwenden Sie den Partitionseditor, um die Partitionen des Festplattenabbilds so anzupassen, dass der hinzugefügte Speicherplatz verwendet wird.
Es gibt ein schönes Zuschreibung des Verfahrens hier ; Fahren Sie einfach mit Schritt 4 fort.
quelle
modifyhd
das Laufwerk irreparabel ist?Ich hatte das gleiche Problem
Referenz: http://tips.kaali.co.uk/2012/03/16/expand-or-increase-the-size-of-virtual-box-vdi-dis/
quelle
Ich hatte das gleiche Problem und konnte die Daten mit der GParted LiveCD abrufen
Danach können Sie die virtuelle Maschine herunterfahren und die virtuelle Festplatte im Windows-Geräte-Manager bereitstellen.
quelle
Hier erklären sie das Problem (auf Spanisch)
Zusammenfassung:
ein. "vboxmanage modifyhd (resize)" erzeugt auf vielen Systemen (Windows NT5, 9x, Server und x86-Versionen) einen Fehler. Das Ergebnis ist eine beschädigte Partition, die nur sehr schwer wiederherzustellen ist
b. Sie müssen "vboxmanage modifyhd (resize)" (VDI-Größe ändern) in dem Pfad ausführen, der alle mit dem VDI verknüpften Dateien und Ordner enthält. Schau dir das Bild an
Empfehlung:
Ersetze "vboxmanage modifyhd" durch "vboxmanage clonehd"
Erstellen Sie ein neues virtuelles Laufwerk-VDI (mit der Größe, die Sie erweitern möchten). Beispiel: Old.vdi hatte 50GB. New.vdi schafft es mit 100GB
VBoxManage createhd - Dateiname /path/New.vdi --size 100000
Klonen Sie es mit dem folgenden Befehl:
vboxmanage clonehd /path/Old.vdi /path/New.vdi - vorhanden
Hinweis : Beide VDI sollten sich nicht auf demselben Pfad befinden
quelle
Es ist erwähnenswert, dass ich genau das gleiche Problem hatte, das darauf zurückzuführen war, dass ich den Befehl modifyhd ausgegeben habe, während der Gast ausgeführt wurde. Die offizielle Dokumentation sagt nichts darüber aus, dass Sie zuerst Snapshots löschen müssen und der Gast hätte gestoppt werden sollen.
Mein Plan war es, die Größe der Festplatte zu ändern, während der Computer lief, da ich ein dynamisches Volume habe, das auch im laufenden Betrieb erhöht werden kann. Dies war jedoch eine schlechte Idee, als ich den Computer neu startete, um die volle Festplattengröße zu erhalten. Ich blieb mit einem beschädigten Image im Dunkeln, das ich selbst ohne Testdisk nicht wiederherstellen konnte. Testdisk findet die Partitionen, aber das Dateisystem ist stark beschädigt und kann nicht repariert werden.
Also sei geraten:
Ich habe den Vorgang auf meinem Computer mit einem Backup-Image wiederholt und das Gastbetriebssystem ausgeschaltet. Dies funktioniert gut.
quelle
Ich konnte ein Image wiederherstellen, das durch diesen Fehler beschädigt wurde. Im Gegensatz zu Edison hat das geteilte Livebild nichts gefunden. Folgendes habe ich getan:
Erstens, da die VBox-Unterstützung für VHD anscheinend fehlerhaft und schrecklich ist, beginnen Sie mit der Konvertierung der VHD in eine VDI mit
VBoxManage clonehd foo.vhd --format vdi foo.vdi
. Wenn ich diesen Schritt übersprungen habe, konnte ich Dateien aus dem Image wiederherstellen, aber nach einigen Neustarts "brach" es wieder zusammen. Ich vermute, dass der Fehler die VHD-Datei wirklich so durcheinander bringt, dass sie später von I / O "neu gebrochen" wird ... VBox scheint diese Probleme mit VDI nicht zu haben, also habe ich VHD aufgegeben.Starten Sie WinPE, die Windows-Vorinstallationsumgebung. Wie das geht, könnte ein Artikel für sich sein. Wenn Ihnen dies nicht bekannt ist, finden Sie hier eine Verknüpfung: Starten Sie von einer Windows Setup-DVD (Vista oder höher) und drücken Sie die Umschalttaste-F10, sobald die grafische Benutzeroberfläche aufgerufen wird. Daraufhin wird eine Eingabeaufforderung angezeigt.
Laden Sie testdisk herunter , finden Sie eine Möglichkeit, es auf Ihr WinPE-Image zu übertragen (oder ein einfacher USB-Stick würde funktionieren), und führen Sie es in der WinPE-Umgebung aus. (Hinweis: In WinPE fehlt WOW64, die 32-Bit-Kompatibilitätsebene für 32-Bit-Apps. Daher benötigte mein 64-Bit-WinPE-Setup die 64-Bit-Testdisk-Binärdatei.)
Testdisk hat die Partitionen gefunden und wiederhergestellt.
Zu diesem Zeitpunkt wurden die Dateien wiederhergestellt, aber der Bootloader schlug aufgrund mehrerer Probleme fehl. Zuerst habe ich
diskpart
die Partition als aktiv markieren (list disk
,sel disk <disk number>
,sel par 0
,active
). Ging weiter, würde nicht booten. Ging zurück in WinPE und löschte\boot
, lief dannbcdboot C:\windows /s C:
, um den Bootloader neu zu installieren.Am Ende lief ich
chkdisk /R
, um sicherzugehen, dass das Bild in Ordnung war. Dauerte ein paar Stunden, fand keine Probleme.quelle
Ich hatte das gleiche Problem, GParted erkannte die Partitionen überhaupt nicht und es wurde als nicht zugewiesener Speicherplatz angezeigt. Zu diesem Zeitpunkt habe ich verstanden, dass die Daten verloren gegangen sein könnten.
Dann erinnerte ich mich daran, dass ich testdisk verwendet habe, um nach verloren gegangenen Partitionen auf Festplatten zu suchen. Warum sollte ich es also nicht auf virtuellen Festplatten versuchen? und es hat funktioniert.
Hoffentlich hilft das jemandem.
quelle