Verwenden des DD-Befehls zum Kopieren von VHD-Dateien auf die physische Festplatte
Virtual Hard Disk (VHD) -Dateien sind riesige Dateien, die die Verwendung von physischen Medien auf VirtualBox und einigen anderen virtuellen x86 / x86_64-Emulatoren emulieren. Damit können Sie Windows, OS X, MS-DOS, FreeBSD, OpenBSD, OS / 2 oder sogar andere Linux-Versionen in Ihrer Linux-Distribution ausführen. Mit diesen Dateien können Sie ihre Inhalte nicht direkt über den Befehl dd auf eine physische Festplatte schreiben. Dadurch können Sie das Gleiche mit einem ISO tun, aber es gibt eine Möglichkeit, dies zu tun. Während einige Anleitungen erfordern, dass Sie die VHD-Datei in eine ISO konvertieren, müssen Sie dies nicht tun, wenn Sie VirtualBox auf einer modernen Version von Linux ausführen. QEMU-Benutzer haben auch einen Ausweg, obwohl es mehr herumspielt.
Sie müssen sicherstellen, dass keines der Laufwerke oder Partitionen, mit denen Sie arbeiten, von denen Sie starten, ist. Wir haben für dieses Beispiel nur einen Teil des partitionierten NAND-Speichers verwendet, aber Sie möchten vielleicht eine Live-DVD oder einen USB-Boot verwenden, wenn Sie dies sonst nicht könnten. Unabhängig davon, auf welche Art und Weise Sie den fraglichen Rechner gebootet haben, starten Sie Ihr Terminalprogramm, indem Sie entweder Strg, Alt und T gedrückt halten, auf dem Ubuntu Dash suchen oder es in den Untermenüs System Tools in Xfce4 oder LXDE öffnen.
Methode 1: Verwenden von VBoxManage von der Eingabeaufforderung
Der einfachste Weg, dies zu tun, ist die Verwendung einer herkömmlichen VirtualBox-Installation. Stellen Sie zuerst sicher, dass Sie alle Daten gesichert haben, die Sie verlieren möchten, da Sie Daten auf der physischen Hardware des Zielortes zerstören werden, während Sie gleichzeitig etwas mit der VHD- oder VHDX-Datei machen können. Dies gilt auch für die andere Methode sowie für alles, was Befehle mit sich bringt, die zerstörerisch sind.
Sobald Sie sicher sind, dass alles sicher ist und das Ziellaufwerk nicht angeschlossen ist, aber immer noch an den Rechner angeschlossen ist, sagen Sie eine externe Festplatte, die noch angeschlossen, aber nicht montiert oder sogar roh ist, da Sie alles verlieren Führen Sie dabei VBoxManage clonehd freeBSD.VHDX -format RAW freeBSD.RAW aus, während Sie freeBSD.VHDX durch Ihre virtuelle Festplatte ersetzen. Wir hatten eine virtuelle Festplatten-Datei mit einer etwas moderaten Installation von FreeBSD zu Testzwecken, daher der Name.
Sobald dieser Befehl beendet ist, starte sudo dd if = freeBSD.RAW von = / dev / sde und ersetze den Namen der RAW-Datei durch das gerade erstellte RAW und das sde-Block-Gerät mit dem Gerät, an dem du wirklich interessiert bist Sie sind sich nicht sicher, dann können Sie immer sudo fdisk -l ausführen, um sicherzustellen, dass Sie den richtigen Partitionsnamen kennen. Genau wie bei der Verwendung von dd für alles andere, möchten Sie nicht auf das falsche Gerät schreiben.
Möglicherweise wird ein Fehler angezeigt, dass auf dem Gerät kein Speicherplatz mehr vorhanden ist, als ob Sie versucht hätten, eine große Datei auf ein kleineres Gerät zu schreiben, was jedoch bei Tests keine Probleme verursachte. Es scheint, dass dieser Prozess zusätzliche Nullen hinzufügt. Sonst ist es Ihnen gelungen, den virtuellen Datenträger in nur zwei Schritten auf ein physikalisches Laufwerk zu kopieren, und zwar mit minimalem Aufwand.
PRO TIPP: Wenn das Problem bei Ihrem Computer oder Laptop / Notebook auftritt, sollten Sie versuchen, die Reimage Plus Software zu verwenden, die die Repositories durchsuchen und beschädigte und fehlende Dateien ersetzen kann. Dies funktioniert in den meisten Fällen, in denen das Problem aufgrund einer Systembeschädigung auftritt. Sie können Reimage Plus herunterladen, indem Sie hier klickenMethode 2: Mit dem Befehl QEMU Disk Network Block Device Server
Benutzer, die nur Zugriff auf das QEMU-Virtualisierungssystem (Quick Emulator) haben, müssen sich mit einer etwas komplizierteren Prozedur befassen als diejenigen, die Zugriff auf den VBoxManage-Befehl haben. Führen Sie an der Eingabeaufforderung sudo modprobe nbd aus, gefolgt von qemu-nbd -r -c / dev / ndb0 -f vpc ourTest.vhd, wobei der Dateiname entsprechend dem tatsächlichen Dateinamen geändert wird, mit dem Sie arbeiten. Möglicherweise müssen Sie sudo ausführen, um qemu-nbd auszuführen, je nachdem, wie Sie Ihre Installation konfiguriert haben. Wenn Sie die Befehle von hier kopieren und einfügen, müssen Sie sie vor dem Ausführen ändern. In den meisten Fällen haben Sie immer nur das Gerät ndb0, um das Sie sich hier kümmern müssen. Sie sollten also keine Probleme haben.
Sobald es fertig ist, können Sie die Partition mit qemu-nbd -P2 -r -c / dev / nbd2 -f vpc ourTest.vhd gefolgt von sudo ddrescure -v -f / dev / nbd2 / dev / sde2 schreiben, aber denken Sie daran Ersetzen Sie die Gerätedateien durch diejenigen, an denen Sie tatsächlich interessiert sind. Wenn Sie diese in Ihr eigenes Terminal kopieren und einfügen, müssen Sie diese Dateinamen und Partitionsnummern durch diejenigen ersetzen, mit denen Sie schreiben möchten. Unser / dev / sde-Gerät war lediglich eine gebrauchte SDHC-Karte, die wir benutzten, um dies sicher zu testen, ohne etwas zu beschädigen. Möglicherweise benötigen Sie sudo, um qemu-nbd auszuführen, aber Sie sollten es nicht brauchen. Ebenso müssen Sie möglicherweise die Partitionsnummern abhängig von Ihrer Konfiguration löschen. Der QEMU-Prozess ist aus diesen Gründen nicht annähernd so intuitiv.
Hyper-V-Benutzer haben möglicherweise ein VHDX-Bild anstelle einer VHD-Datei. Wenn dies der Fall ist, müssen Sie stattdessen qemu-nbd -c / dev / nbd0 -f VHDX ourTest.vhd ausführen, während Sie den Dateinamen erneut ersetzen. Während dieses Format eine Erweiterung von Windows Server 2012 darstellt, um virtuellen Maschinen mehr Speicherkapazität zu bieten, wenden sich immer mehr Linux-Benutzer diesem System an, um der 2-TB-Beschränkung von VHD zu entgehen. Andernfalls sollten diese Anweisungen unabhängig von der tatsächlichen Dateigröße funktionieren. Das GNU-ddrescue-Tool sollte wie dd funktionieren, obwohl es sicherstellt, dass die besten Blöcke zuerst kopiert werden.
Sobald dies ausgeführt wird, müssen Benutzer, die mit VHDX-Images arbeiten, sudo ddrescue -v -f / dev / nbd2 / dev / sde2 ausführen und die oben genannten Dateien erneut ersetzen. Andernfalls kann jeder mit allen Arten von VirtualBox-Images qemu-nbd -P2 -r -c / dev / nbd2 -f vpc ourTest.vhd verwenden, um die betreffende Partition so zu mounten, als wäre sie eine alte Festplatte. Sie müssen sudo mount / dev / nbd2 / cdrom oder sudo mount / dev / nbd2 / mnt verwenden, um es zu mounten. Stellen Sie sicher, dass Sie nichts anderes in den Verzeichnissen / cdrom oder / mnt gemountet haben, bevor Sie es versuchen.
Methode 3: Unmounten und dann Trennen der Datei
Um das Image zu entfernen, müssen Sie einfach sudo umount / mnt oder sudo umount / cdrom verwenden, um es zu lösen. Der Linux-Kernel war schließlich damit beschäftigt, ihn so zu behandeln, als wäre es ein anderer Band.
Sie müssen es jedoch weiterhin vom QEMU-System trennen. Geben Sie daher qemu-ndb -d / dev / nbd2 ein, um die Verbindung zu trennen.
PRO TIPP: Wenn das Problem bei Ihrem Computer oder Laptop / Notebook auftritt, sollten Sie versuchen, die Reimage Plus Software zu verwenden, die die Repositories durchsuchen und beschädigte und fehlende Dateien ersetzen kann. Dies funktioniert in den meisten Fällen, in denen das Problem aufgrund einer Systembeschädigung auftritt. Sie können Reimage Plus herunterladen, indem Sie hier klicken