Τρόπος χρήσης της εντολής DD για αντιγραφή αρχείων VHD σε φυσικό σκληρό δίσκο



Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων

Τα αρχεία εικονικού σκληρού δίσκου (VHD) είναι γιγαντιαία αρχεία που μιμούνται τη χρήση φυσικών μέσων στο VirtualBox και ορισμένους άλλους εικονικούς εξομοιωτές x86 / x86_64. Αυτό σας επιτρέπει να εκτελείτε Windows, OS X, MS-DOS, FreeBSD, OpenBSD, OS / 2 ή ακόμη και άλλες εκδόσεις Linux εντός της διανομής Linux. Αυτά τα αρχεία δεν σας επιτρέπουν να γράφετε απευθείας τα περιεχόμενά τους σε έναν φυσικό δίσκο μέσω της εντολής dd που σας επιτρέπει να κάνετε το ίδιο με ένα ISO, αλλά υπάρχει ένας τρόπος να το κάνετε. Ενώ ορισμένοι οδηγοί απαιτούν να μετατρέψετε το αρχείο VHD σε ISO, δεν θα χρειαστεί να το κάνετε αυτό εάν χρησιμοποιείτε το VirtualBox σε οποιαδήποτε σύγχρονη έκδοση του Linux. Οι χρήστες του QEMU έχουν επίσης μια διέξοδο, αν και συνεπάγεται περισσότερο παιχνίδι.



Θα πρέπει να βεβαιωθείτε ότι καμία από τις μονάδες δίσκου ή τα διαμερίσματα με τα οποία δεν πρόκειται να εργαστείτε είναι αυτά από τα οποία εκκινείτε. Χρησιμοποιήσαμε απλώς ένα κομμάτι διαμερισμένης μνήμης NAND για αυτό το παράδειγμα, αλλά ίσως θέλετε να χρησιμοποιήσετε μια ζωντανή εκκίνηση DVD ή USB εάν διαφορετικά δεν θα μπορούσατε να το κάνετε. Ανεξάρτητα από τον τρόπο με τον οποίο εκκινήσατε το εν λόγω μηχάνημα, ξεκινήστε το τερματικό σας πρόγραμμα είτε κρατώντας πατημένα τα πλήκτρα Ctrl, Alt και T, αναζητώντας το στο Ubuntu Dash ή ανοίγοντας το από τα υπομενού Tools Tools στο Xfce4 ή LXDE.



Μέθοδος 1: Χρήση του VBoxManage από τη γραμμή εντολών

Ο ευκολότερος τρόπος για να γίνει αυτό είναι η χρήση μιας παραδοσιακής εγκατάστασης VirtualBox. Βεβαιωθείτε πρώτα ότι έχετε δημιουργήσει αντίγραφα ασφαλείας όλων των δεδομένων που ανησυχείτε για την απώλεια επειδή πρόκειται να καταστρέψετε τυχόν δεδομένα στο φυσικό υλικό του προορισμού, ενώ θα μπορούσατε επίσης να καταλήξετε να κάνετε κάτι στο αρχείο VHD ή VHDX στη διαδικασία. Αυτό ισχύει και για την άλλη μέθοδο, καθώς και οτιδήποτε περιλαμβάνει εντολές που είναι αυτές οι καταστροφικές.



Μόλις είστε βέβαιοι ότι όλα είναι ασφαλή και ότι η μονάδα δίσκου προορισμού είναι αποσυναρμολογημένη, αλλά εξακολουθεί να είναι συνδεδεμένη στο μηχάνημα, πείτε έναν εξωτερικό σκληρό δίσκο στον οποίο έχετε ακόμα συνδέσει, αλλά δεν είναι τοποθετημένος ή μπορεί ακόμη και να είναι ακατέργαστος καθώς θα χάσετε τα πάντα στη διαδικασία, εκτελέστε VBoxManage clonehd freeBSD.VHDX - μορφή RAW freeBSD.RAW αντικαθιστώντας το freeBSD.VHDX με τον εικονικό σκληρό σας δίσκο. Είχαμε ένα εικονικό αρχείο σκληρού δίσκου με κάπως μέτρια εγκατάσταση του FreeBSD για δοκιμαστικούς σκοπούς, εξ ου και το όνομα.

Μόλις ολοκληρωθεί αυτή η εντολή, εκτελέστε sudo dd if = freeBSD.RAW από = / dev / sde , αντικαθιστώντας το όνομα του αρχείου RAW με το RAW που μόλις δημιουργήσατε και το sde block device με τη συσκευή που πραγματικά σας ενδιαφέρει. Εάν δεν είστε σίγουροι, τότε μπορείτε πάντα να εκτελέσετε sudo fdisk -l για να βεβαιωθείτε ότι γνωρίζετε το σωστό όνομα διαμερίσματος. Όπως και με τη χρήση dd για οτιδήποτε άλλο, δεν θέλετε να γράψετε σε λάθος συσκευή.

Ενδέχεται να εμφανιστεί σφάλμα σχετικά με το ότι δεν υπάρχει χώρος στη συσκευή, όπως εάν προσπαθήσατε να γράψετε ένα μεγάλο αρχείο σε μια μικρότερη συσκευή, αλλά αυτό δεν προκάλεσε προβλήματα στις δοκιμές. Φαίνεται ότι αυτή η διαδικασία προσθέτει επιπλέον μηδενικά. Διαφορετικά, καταφέρατε να αντιγράψετε τον εικονικό δίσκο σε έναν φυσικό δίσκο σε δύο μόνο βήματα με ελάχιστο να ξεγελάσετε.



Μέθοδος 2: Με την εντολή διακομιστή συσκευής μπλοκ δικτύου QEMU δίσκου

Οι χρήστες που έχουν πρόσβαση μόνο στο σύστημα εικονικοποίησης Quick Emulator (QEMU) θα πρέπει να αντιμετωπίσουν μια ελαφρώς πιο εμπλεκόμενη διαδικασία από εκείνους που έχουν πρόσβαση στην εντολή VBoxManage. Στη γραμμή εντολών, εκτελέστε sudo modprobe nbd ακολουθούμενη από qemu-nbd -r -c / dev / ndb0 -f vpc ourTest.vhd , με το όνομα αρχείου να αλλάζει για να αντικατοπτρίζει το πραγματικό όνομα αρχείου με το οποίο εργάζεστε. Ίσως χρειαστείτε sudo για να εκτελέσετε το qemu-nbd, ανάλογα με τον τρόπο που έχετε ρυθμίσει την εγκατάστασή σας. Εάν αντιγράφετε τις εντολές από εδώ και τις επικολλάτε, φροντίστε να τις αλλάξετε πριν τις εκτελέσετε. Στις περισσότερες περιπτώσεις θα έχετε μόνο τη συσκευή ndb0 που πρέπει να ανησυχείτε εδώ, οπότε δεν θα πρέπει να έχετε προβλήματα εκεί.

Μόλις ολοκληρωθεί, μπορείτε να γράψετε το διαμέρισμα με qemu-nbd -P 2 -r -c / dev / nbd2 -f vpc ourTest.vhd ακολουθούμενη από sudo ddrescure -v -f / dev / nbd2 / dev / sde2 , αλλά θυμηθείτε να αντικαταστήσετε τα αρχεία της συσκευής με αυτά που πραγματικά σας ενδιαφέρουν να χρησιμοποιήσετε. Εάν αντιγράφετε και επικολλάτε αυτά στο δικό σας τερματικό, φροντίστε να αντικαταστήσετε αυτά τα ονόματα αρχείων και τους αριθμούς διαμερισμάτων με αυτά που προσπαθείτε να γράψετε. Η συσκευή μας / dev / sde ήταν απλώς μια κάρτα SDHC που χρησιμοποιούσαμε για να το δοκιμάσουμε με ασφάλεια χωρίς να καταστρέψουμε τίποτα. Μπορεί να χρειαστείτε sudo για να εκτελέσετε το qemu-nbd, αλλά δεν θα πρέπει να το χρειάζεστε. Ομοίως, ίσως χρειαστεί να αφήσετε τους αριθμούς διαμερισμάτων ανάλογα με τη διαμόρφωσή σας. Η διαδικασία QEMU δεν είναι σχεδόν τόσο διαισθητική για αυτούς τους λόγους.

Οι χρήστες Hyper-V ενδέχεται να έχουν εικόνα VHDX αντί για αρχείο VHD. Εάν συμβαίνει αυτό, θα πρέπει να τρέξετε qemu-nbd -c / dev / nbd0 -f VHDX ourTest.vhd αντικαθιστώντας ξανά το όνομα του αρχείου. Ενώ αυτή η μορφή ήταν μια προσθήκη στον Windows Server 2012 για να προσθέσει μεγαλύτερη χωρητικότητα αποθήκευσης σε εικονικοποιημένες μηχανές, όλο και περισσότεροι χρήστες Linux στρέφονται προς αυτήν προκειμένου να ξεφύγουν από το όριο 2 TB που έχει η VHD. Διαφορετικά, αυτές οι οδηγίες θα πρέπει να λειτουργούν ανεξάρτητα από το πραγματικό μέγεθος του αρχείου. Το εργαλείο GNU ddrescue πρέπει να λειτουργεί όπως το dd, αν και φροντίζει πρώτα να αντιγράψει τα καλύτερα μπλοκ.

Μόλις εκτελεστεί, θα πρέπει να εκτελεστούν οι χρήστες που εργάζονται με εικόνες VHDX sudo ddrescue -v -f / dev / nbd2 / dev / sde2 , αντικαθιστώντας ξανά τα αρχεία πάνω. Διαφορετικά, όλοι με όλους τους τύπους εικόνων VirtualBox μπορούν να χρησιμοποιήσουν qemu-nbd -P 2 -r -c / dev / nbd2 -f vpc ourTest.vhd για να προσαρτήσετε το εν λόγω διαμέρισμα σαν να ήταν παλιός δίσκος. Θα πρέπει να χρησιμοποιήσετε sudo mount / dev / nbd2 / cdrom ή sudo mount / dev / nbd2 / mnt για να το τοποθετήσετε. Βεβαιωθείτε ότι δεν έχετε τοποθετήσει τίποτα άλλο στους καταλόγους / cdrom ή / mnt προτού το δοκιμάσετε.

Μέθοδος 3: Αποσύνδεση και, στη συνέχεια, αποσύνδεση του αρχείου

Για να αποσυνδέσετε την εικόνα, απλά πρέπει να χρησιμοποιήσετε sudo umount / mnt ή sudo umount / cdrom για να το αποσυνδέσετε. Ο ίδιος ο πυρήνας του Linux, εξάλλου, ήταν απασχολημένος να το αντιμετωπίζει σαν να ήταν άλλος τόμος.

Ωστόσο, θα πρέπει να το αποσυνδέσετε από το σύστημα QEMU qemu-ndb -d / dev / nbd2 για να το αποσυνδέσετε.

4 λεπτά ανάγνωση