
Ich habe per Backup auf Windows 10 aktualisiertallesvom alten das alte Windows und dann mit einem sauberen Format neu installiert; alles frisch.
Ich habe ein Debian 8.1 in Virtual Box, das auch vollständig gespeichert wurde; nicht nur das Disk-Image.
Ich installiere VirtualBox und starte die Maschine erneut und bin überrascht: Debian beschwert sich, dass die Root-Partition nicht gefunden werden kann (es existiert keine Partition mit dieser UUID), wechselt in eine kleine Shell und verweigert den Bootvorgang.
Ich vermutete, dass die Einträge in fstab
nicht mehr korrekt sind, also habe ich eine Live-Distribution gestartet und es überprüft ... blkid
melden Sie die gleichen UUIDs wie infstab
Also,Was ist der Haken?!?
In VMwarenichthabe dieses Problem, wenn ich Maschinen kopiere/verschiebe, VMware neu installiere usw., werde ich gefragt, ob kopiert oder verschoben wurde, und hatte nie ein derartiges Problem.
PS Bitte markieren Sie diese Frage nicht als Duplikat, ich habe gelesen„Was ist die empfohlene Methode zum Verschieben einer VirtualBox-VM auf einen anderen Computer?“und versuchteOption 2 in dieser FrageIch habe alle Dateien kopiert und an der richtigen Stelle abgelegt. Beim erneuten Booten eines Live-Linux in dieser virtuellen Maschine sehe ich die Festplatte mit der richtigen UUID.
Antwort1
Nun, ich würde sagen, Sie sollten Ihre VM (in den .ova
Container) exportieren, bevor Sie das Hostsystem löschen, und sie dann später importieren – VirtualBox kann das über seine GUI tun.
Aber ok, zurück zu Ihrer Frage ... Ich erinnere mich, dass VirtualBox eine separate „Registrierung“ für alle Medien hat, die Ihre VMs verwenden. Soweit ich mich erinnere, ist sie in einer XML-Datei irgendwo unter dem Profil des aktuellen Benutzers gespeichert.
Ich würde also damit beginnen, das Medienverwaltungsfenster über die VBox-GUI zu öffnen und sicherzustellen, dass die Debian-Festplatte tatsächlich existiert und dem VBox-Medienmanager bekannt ist.
Als Nächstes sollten Sie die Eigenschaften der VM überprüfen und sicherstellen, dass das Medium, das die Festplatte der VM darstellt, verfügbar ist und den Status „OK“ hat.
Wenn das Booten der VM danach fehlschlägt, gehen Sie bitte wie folgt vor: Wenn während des frühen Bootvorgangs (nach dem BIOS) das Fenster GRUB (der Bootloader von Debian) angezeigt wird, drücken Sie e
(oder was auch immer vorgeschlagen wird – ich kann es mir nie merken), um den Booteintrag für Ihr System zu bearbeiten – Ihnen wird die vom Bootloader an den Kernel übergebene Befehlszeile angezeigt, die den Parameter „root“ (d. h. das Root-Dateisystem) enthält. Heutzutage enthält das Argument für root einen UUID-codierten Gerätenamen, sodass das Ganze ungefähr so aussieht:
/boot/vmlinuz-3.2.0-4-amd64 root=UUID=2cb5a97c-75ab-4c8b-afd9-19297e3553bd ro single
Sie sollten diesen UUID=blah...
Teil durch ersetzen /dev/sda1
, damit es etwa so lautet:
/boot/vmlinuz-3.2.0-4-amd64 root=/dev/sda1 ro single
und der Bootvorgang wird höchstwahrscheinlich problemlos funktionieren.
(Beachten Sie, dass der Pfad zur Kerneldatei /boot/vmlinuz-3.2.0-4-amd64
von meinem System stammt. Auf Ihrem System kann er anders sein – ändern Sie ihn nicht, Sie sollten nur den root=
Parameter ändern.)
Beachten Sie, dass /dev/sda1
damit die erste primäre Partition auf der ersten (SATA/SCSI) Festplatte gemeint ist. Wenn Sie Ihre Root-Partition woanders haben, müssen Sie das selbst herausfinden. Wenn Sie keine Ahnung haben, worum es geht, versuchen Sie es mit usw. 2
, 3
bis es klappt.
Sobald das System hochfährt, führen Sie
# dpkg-reconfigure grub-pc
um GRUB neu zu konfigurieren, sodass es den richtigen Gerätenamen für das Root-Dateisystem verwendet.
Möglicherweise müssen Sie die Datei auch reparieren, /etc/fstab
wenn sich die UUID des Geräts tatsächlich geändert hat. Führen Sie dazu Folgendes aus:
# blkid /dev/sda1
und ersetzen Sie den UUID-Wert im entsprechenden fstab-Eintrag durch den blkid
im Wert gemeldeten UUID
Wert.
Die darin enthaltene Zahl /dev/sdN
sollte offensichtlich mit dem übereinstimmen, was bei Ihnen als root=
Parameter des Kernels funktioniert hat.
Antwort2
Wenn Sie nach dem Verschieben der virtuellen Maschine und dem Versuch, sie zu starten, eine Meldung erhalten, die etwa wie folgt lautet:
Das Öffnen der Festplatte ist fehlgeschlagen.
Die Festplatte kann nicht registriert werden, da bereits eine Festplatte mit UUID vorhanden ist.
Gehen Sie dann in das Verzeichnis Ihrer virtuellen Maschine. Ändern Sie den tatsächlichen Pfad natürlich so, dass er mit dem tatsächlichen Pfad übereinstimmt, in den Sie gehen:
cd /full/path/to/virtualbox/virtualmachine/Sandbox
Und führen Sie diesen Befehl aus, um der Festplatte eine neue UUID zuzuweisen:
VBoxManage internalcommands sethduuid Sandbox.vdi