Paano Magamit ang DD Command upang Kopyahin ang VHD Files sa Physical Hard Disk



Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema

Ang mga file ng Virtual Hard Disk (VHD) ay mga higanteng file na gumaya sa paggamit ng pisikal na media sa VirtualBox at ilang iba pang mga emulator ng virtual x86 / x86_64. Hinahayaan ka nitong patakbuhin ang Windows, OS X, MS-DOS, FreeBSD, OpenBSD, OS / 2 o kahit na iba pang mga bersyon ng Linux sa loob ng iyong pamamahagi ng Linux. Hindi ka pinapayagan ng mga file na direktang isulat ang kanilang mga nilalaman sa isang pisikal na disk sa pamamagitan ng utos ng dd na hinahayaan kang gawin ang pareho sa isang ISO, ngunit may isang paraan upang magawa ito. Habang hinihiling ka ng ilang mga gabay na i-convert ang VHD file sa isang ISO, hindi mo ito gagawin kung nagpapatakbo ka ng VirtualBox sa anumang modernong bersyon ng Linux. Ang mga gumagamit ng QEMU ay mayroon ding isang paraan palabas, kahit na nagsasangkot ito ng higit na paglalaro.



Kakailanganin mong tiyakin na wala sa mga drive o partisyon na iyong makikipagtulungan ang mag-boot mula sa iyo. Gumamit lang kami ng isang piraso ng na-partition na memorya ng NAND para sa halimbawang ito, ngunit baka gusto mong gumamit ng isang live na DVD o USB boot kung hindi mo magawa ito. Hindi alintana kung aling paraan ang na-boot mo ang pinag-uusapan na makina, simulan ang iyong programa sa terminal alinman sa pamamagitan ng pagpindot sa Ctrl, Alt at T, na hahanapin ito sa Ubuntu Dash o buksan ito mula sa System Tools submenus sa Xfce4 o LXDE.



Paraan 1: Paggamit ng VBoxManage mula sa Command Prompt

Sa ngayon ang pinakamadaling paraan upang gawin ito ay ang paggamit ng isang tradisyonal na pag-install ng VirtualBox. Siguraduhin muna na nai-back up mo ang lahat ng data na nag-aalala ka tungkol sa pag-loose dahil masisira mo ang anumang data sa pisikal na hardware ng patutunguhan habang maaari mo ring gawin ang isang bagay sa VHD o VHDX file sa proseso. Ito ay napupunta din para sa iba pang pamamaraan, pati na rin ang anumang kinasasangkutan ng mga utos na mapanirang ito.



Sa sandaling sigurado ka na ang lahat ay ligtas at na ang patutunguhang drive ay hindi maalis ngunit nakakabit pa rin sa makina, sabihin ang isang panlabas na hard disk na na-plug mo pa rin ngunit hindi naka-mount o maaaring maging hilaw dahil malaya mo ang lahat dito. sa proseso, patakbuhin VBoxManage clonehd freeBSD.VHDX –format RAW freeBSD.RAW habang pinapalitan ang freeBSD.VHDX sa iyong virtual hard disk. Nagkaroon kami ng isang virtual hard disk file na may isang katamtamang pag-install ng FreeBSD para sa mga layunin sa pagsubok, kaya't ang pangalan.

Sa sandaling matapos ang utos na ito, tumakbo sudo dd if = freeBSD.RAW ng = / dev / sde , pinapalitan ang pangalan ng RAW file ng RAW na iyong nilikha lamang at ang sde block na aparato sa aparato na talagang interesado ka. Kung hindi ka sigurado, maaari mong palaging tumakbo sudo fdisk -l upang matiyak na alam mo ang tamang pangalan ng pagkahati. Tulad ng paggamit ng dd para sa anumang bagay, hindi mo nais na sumulat sa maling aparato.

Maaari kang makakuha ng isang error tungkol sa walang puwang naiwan sa aparato, tulad ng kung sinubukan mong magsulat ng isang malaking file sa isang mas maliit na aparato, ngunit hindi ito naging sanhi ng mga problema sa mga pagsubok. Tila ang prosesong ito ay nagdaragdag ng labis na mga zero. Kung hindi man, nagawa mong kopyahin ang virtual disk sa isang pisikal na disk sa loob lamang ng dalawang mga hakbang na may isang maliit na minimum na panloloko.



Paraan 2: Gamit ang QEMU Disk Network Block Device Server Command

Ang mga gumagamit na may access lamang sa sistema ng virtualization ng Quick Emulator (QEMU) ay kailangang makitungo sa isang bahagyang mas kasangkot na pamamaraan kaysa sa mga may access sa utos ng VBoxManage. Sa prompt ng utos, patakbuhin sudo modprobe nbd sinundan ng qemu-nbd -r -c / dev / ndb0 -f vpc ourTest.vhd , na binago ang pangalan ng file upang maipakita ang tunay na pangalan ng file na iyong pinagtatrabaho. Maaaring kailanganin mo ang sudo upang magpatakbo ng qemu-nbd, depende sa kung paano mo na-configure ang iyong pag-install. Kung kinokopya mo ang mga utos mula rito at i-paste ito, tiyakin na baguhin ang mga ito bago patakbuhin ang mga ito. Sa karamihan ng mga kaso magkakaroon ka lamang ng ndb0 na aparato upang magalala tungkol dito, kaya't hindi ka dapat magkaroon ng anumang mga isyu doon.

Kapag tapos na ito, maaari mong isulat ang pagkahati sa qemu-nbd -P 2 -r -c / dev / nbd2 -f vpc ourTest.vhd sinundan ng sudo ddrescure -v -f / dev / nbd2 / dev / sde2 , ngunit tandaan na palitan ang mga file ng aparato ng mga talagang interesado kang gamitin. Kung kinokopya at inilalagay mo ang mga ito sa iyong sariling terminal, tiyakin na palitan ang mga pangalan ng file at mga numero ng pagkahati sa mga sinusubukan mong isulat. Ang aming / dev / sde device ay isang ginamit na SDHC card na ginagamit namin upang ligtas na subukan ito nang hindi nakakasira ng anuman. Maaaring kailanganin mo ang sudo upang magpatakbo ng qemu-nbd, ngunit hindi mo ito kailangan. Gayundin, maaaring kailangan mong i-drop ang mga numero ng pagkahati depende sa iyong pagsasaayos. Ang proseso ng QEMU ay hindi gaanong madaling maunawaan para sa mga kadahilanang ito.

Ang mga gumagamit ng Hyper-V ay maaaring magkaroon ng isang VHDX na imahe sa halip na isang VHD file. Kung ito ang kaso, sa halip kakailanganin mong tumakbo qemu-nbd -c / dev / nbd0 -f VHDX ourTest.vhd habang pinapalitan muli ang pangalan ng file. Habang ang format na ito ay isang karagdagan sa Windows Server 2012 upang magdagdag ng mas malaking kapasidad ng imbakan sa mga virtualized machine, mas maraming mga gumagamit ng Linux ang lumiliko dito upang makatakas sa 2TB na limitasyon na mayroon ang VHD. Kung hindi man, dapat gumana ang mga tagubiling ito anuman ang tunay na laki ng file na pinag-uusapan. Ang GNU ddrescue tool ay dapat gumana tulad ng dd, kahit na tinitiyak nitong kopyahin muna ang pinakamahusay na mga bloke.

Kapag natakbo na ito, ang mga gumagamit na nagtatrabaho sa mga imahe ng VHDX ay kailangang tumakbo sudo ddrescue -v -f / dev / nbd2 / dev / sde2 , muling pinapalitan ang mga file sa itaas. Kung hindi man, ang lahat na may lahat ng uri ng mga imaheng VirtualBox ay maaaring magamit qemu-nbd -P 2 -r -c / dev / nbd2 -f vpc ourTest.vhd upang mai-mount ang pinag-uusapang partisyon na parang ito ay anumang lumang disk. Kakailanganin mong gamitin sudo mount / dev / nbd2 / cdrom o sudo mount / dev / nbd2 / mnt upang mai-mount ito. Tiyaking wala kang ibang nai-mount sa mga direktoryo / cdrom o / mnt bago mo subukan ito.

Paraan 3: Pag-unmount at pagkatapos ay Pagdiskonekta sa File

Upang ma-unmount ang imahe, kailangan mo lang gamitin sudo umount / mnt o sudo umount / cdrom upang hiwalayin ito. Ang Linux kernel mismo, pagkatapos ng lahat, ay abala sa pagpapagamot nito na parang ito ay anumang iba pang dami.

Kakailanganin mo pa ring idiskonekta ito mula sa QEMU system, gayunpaman, i-type ito qemu-ndb -d / dev / nbd2 upang idiskonekta ito.

Basahin ang 4 na minuto