Cara Menggunakan Perintah DD untuk Menyalin Fail VHD ke Cakera Keras Fizikal



Cuba Instrumen Kami Untuk Menghapuskan Masalah

Fail Virtual Hard Disk (VHD) adalah fail gergasi yang meniru penggunaan media fizikal pada VirtualBox dan beberapa emulator x86 / x86_64 maya yang lain. Ini membolehkan anda menjalankan Windows, OS X, MS-DOS, FreeBSD, OpenBSD, OS / 2 atau bahkan versi Linux yang lain di dalam pengedaran Linux anda. Fail-fail ini tidak membiarkan anda menulis kandungannya secara langsung ke cakera fizikal melalui arahan dd yang membolehkan anda melakukan perkara yang sama dengan ISO, tetapi ada cara untuk melakukannya. Walaupun beberapa panduan menghendaki anda menukar fail VHD ke ISO, anda tidak perlu melakukan ini jika anda menjalankan VirtualBox pada versi Linux yang moden. Pengguna QEMU juga mempunyai jalan keluar, walaupun melibatkan lebih banyak bermain-main.



Anda perlu memastikan bahawa tidak ada pemacu atau partition yang akan anda bekerjasama dengan yang anda boot. Kami baru menggunakan sekeping memori NAND yang dipartisi untuk contoh ini, tetapi anda mungkin mahu menggunakan boot DVD atau USB secara langsung jika anda tidak dapat melakukannya. Terlepas dari cara anda boot mesin yang dimaksud, mulailah program terminal anda dengan menahan Ctrl, Alt dan T, mencarinya di Ubuntu Dash atau membukanya dari submenu Alat Sistem di Xfce4 atau LXDE.



Kaedah 1: Menggunakan VBoxManage dari Prompt Perintah

Sejauh ini cara termudah untuk melakukan ini adalah dengan menggunakan pemasangan VirtualBox tradisional. Pastikan terlebih dahulu bahawa anda telah membuat sandaran semua data yang anda bimbangkan akan hilang kerana anda akan memusnahkan sebarang data pada perkakasan fizikal destinasi sementara anda juga boleh membuat sesuatu pada fail VHD atau VHDX dalam prosesnya. Ini berlaku untuk kaedah lain juga, serta apa sahaja yang melibatkan perintah yang boleh merosakkan ini.



Setelah anda yakin semuanya selamat dan pemacu destinasi dilepaskan tetapi masih terpasang pada mesin, katakan cakera keras luaran yang masih anda pasangkan tetapi tidak dipasang atau mungkin mentah kerana anda akan kehilangan semua yang ada dalam proses, jalankan VBoxManage clonehd freeBSD.VHDX –format RAW freeBSD.RAW sambil mengganti freeBSD.VHDX dengan cakera keras maya anda. Kami mempunyai fail cakera keras maya dengan pemasangan FreeBSD yang agak sederhana untuk tujuan pengujian, oleh itu namanya.

Sebaik sahaja arahan ini selesai, jalankan sudo dd if = freeBSD.RAW dari = / dev / sde , menggantikan nama fail RAW dengan RAW yang baru anda buat dan peranti blok sde dengan peranti yang sebenarnya anda minati. Sekiranya anda tidak pasti, maka anda selalu boleh menjalankan sudo fdisk -l untuk memastikan anda mengetahui nama partition yang betul. Sama seperti menggunakan dd untuk perkara lain, anda tidak mahu menulis ke peranti yang salah.

Anda mungkin mendapat ralat kerana tidak ada ruang yang tersisa di peranti, sama seperti jika anda cuba menulis fail besar ke peranti yang lebih kecil, tetapi ini tidak menyebabkan masalah dalam ujian. Nampaknya proses ini menambah sifar tambahan. Jika tidak, anda dapat menyalin cakera maya ke cakera fizikal hanya dalam dua langkah dengan minimum bermain-main.



Kaedah 2: Dengan Perintah Pelayan Peranti Blok Rangkaian Cakera QEMU

Pengguna yang hanya mempunyai akses ke sistem virtualisasi Quick Emulator (QEMU) harus menghadapi prosedur yang sedikit lebih terlibat daripada yang mempunyai akses ke perintah VBoxManage. Pada arahan arahan, jalankan sudo modprobe nbd diikuti oleh qemu-nbd -r -c / dev / ndb0 -f vpc ourTest.vhd , dengan nama file diubah untuk mencerminkan nama fail sebenar yang sedang Anda gunakan. Anda mungkin memerlukan sudo untuk menjalankan qemu-nbd, bergantung pada bagaimana anda mengkonfigurasi pemasangan anda. Sekiranya anda menyalin perintah dari sini dan menempelkannya, pastikan untuk mengubahnya sebelum menjalankannya. Dalam kebanyakan kes, anda hanya akan perlu risau tentang peranti ndb0 di sini, jadi anda tidak seharusnya mempunyai masalah di sana.

Setelah selesai, anda boleh menulis partisi dengan qemu-nbd -P 2 -r -c / dev / nbd2 -f vpc ourTest.vhd diikuti oleh sudo ddrescure -v -f / dev / nbd2 / dev / sde2 , tetapi ingat untuk mengganti fail peranti dengan fail yang sebenarnya anda minat gunakan. Sekiranya anda menyalin dan menempelkannya ke terminal anda sendiri, pastikan untuk mengganti nama fail dan nombor partisi dengan yang anda cuba tulis. Peranti / dev / sde kami hanyalah kad SDHC terpakai yang kami gunakan untuk menguji ini dengan selamat tanpa merosakkan apa-apa. Anda mungkin memerlukan sudo untuk menjalankan qemu-nbd, tetapi anda tidak semestinya memerlukannya. Begitu juga, anda mungkin perlu menjatuhkan nombor partisi bergantung pada konfigurasi anda. Proses QEMU hampir sama intuitif kerana alasan ini.

Pengguna Hyper-V mungkin mempunyai gambar VHDX dan bukannya fail VHD. Sekiranya ini berlaku, anda perlu berjalan qemu-nbd -c / dev / nbd0 -f VHDX ourTest.vhd sambil mengganti nama fail sekali lagi. Walaupun format ini adalah tambahan kepada Windows Server 2012 untuk menambahkan kapasiti penyimpanan yang lebih besar ke mesin virtual, semakin banyak pengguna Linux beralih kepadanya untuk menghindari had 2TB yang dimiliki VHD. Jika tidak, arahan ini harus berfungsi tanpa mengira saiz fail yang sebenarnya. Alat ddrescue GNU harus berfungsi seperti dd, walaupun memastikan untuk menyalin blok terbaik terlebih dahulu.

Setelah ini dijalankan, pengguna yang bekerja dengan gambar VHDX perlu dijalankan sudo ddrescue -v -f / dev / nbd2 / dev / sde2 , sekali lagi menggantikan fail di atas. Jika tidak, semua orang dengan semua jenis gambar VirtualBox boleh menggunakan qemu-nbd -P 2 -r -c / dev / nbd2 -f vpc ourTest.vhd untuk memasang partisi yang berkenaan seolah-olah ia adalah cakera lama. Anda perlu menggunakan sudo mount / dev / nbd2 / cdrom atau sudo mount / dev / nbd2 / mnt untuk memasangnya. Pastikan anda tidak memasang apa-apa lagi ke direktori / cdrom atau / mnt sebelum anda mencubanya.

Kaedah 3: Melepaskan dan kemudian Memutuskan Fail

Untuk melepaskan gambar, anda hanya perlu menggunakan sudo umount / mnt atau sudo umount / cdrom untuk melepaskannya. Kernel Linux sendiri, bagaimanapun, sibuk memperlakukannya seolah-olah ia adalah jilid lain.

Anda masih perlu memutuskan sambungannya dari sistem QEMU qemu-ndb -d / dev / nbd2 untuk memutuskannya.

4 minit membaca