Ako používať príkaz DD na kopírovanie súborov VHD na fyzický pevný disk



Vyskúšajte Náš Nástroj Na Odstránenie Problémov

Súbory Virtual Hard Disk (VHD) sú obrovské súbory, ktoré emulujú použitie fyzických médií na VirtualBoxe a niektorých ďalších virtuálnych emulátoroch x86 / x86_64. Vďaka tomu môžete vo svojej distribúcii Linuxu spúšťať systémy Windows, OS X, MS-DOS, FreeBSD, OpenBSD, OS / 2 alebo dokonca iné verzie systému Linux. Tieto súbory vám nedovolia priamo napísať ich obsah na fyzický disk pomocou príkazu dd, ktorý vám umožní urobiť to isté s ISO, ale existuje spôsob, ako to urobiť. Aj keď niektorí sprievodcovia požadujú, aby ste konvertovali súbor VHD na ISO, nemusíte to robiť, ak používate VirtualBox na akejkoľvek modernej verzii systému Linux. Používatelia QEMU majú tiež východisko, aj keď to vyžaduje viac hrania.



Musíte sa ubezpečiť, že žiaden z diskov alebo diskových oddielov, s ktorými budete pracovať, nie sú disky, z ktorých bootujete. Pre tento príklad sme práve použili kúsok rozdelenej pamäte NAND, ale ak by ste to inak nedokázali, môžete použiť živé bootovanie z DVD alebo USB. Bez ohľadu na to, akým spôsobom ste príslušné zariadenie spustili, spustite terminálový program podržaním klávesov Ctrl, Alt a T, vyhľadaním v Ubuntu Dash alebo ich otvorením v podponukách Systémové nástroje v Xfce4 alebo LXDE.



Metóda 1: Použitie VBoxManage z príkazového riadku

Zďaleka najjednoduchší spôsob, ako to dosiahnuť, je použitie tradičnej inštalácie VirtualBox. Najskôr sa uistite, že ste zálohovali všetky údaje, o ktoré sa obávate, že ich stratíte, pretože zničíte všetky údaje na fyzickom hardvéri cieľového miesta, pričom by ste pri tom mohli tiež niečo urobiť so súborom VHD alebo VHDX. To platí aj pre druhú metódu, rovnako ako pre všetko, čo obsahuje príkazy, ktoré sú toto deštruktívne.



Keď ste si istí, že je všetko v bezpečí a cieľová jednotka je odpojená, ale stále pripojená k zariadeniu, povedzte externý pevný disk, ktorý ste stále pripojili, ale nie je pripojený alebo môže byť dokonca nespracovaný, pretože na ňom stratíte všetko. v procese, spustiť VBoxManage clonehd freeBSD.VHDX - formát RAW freeBSD.RAW pri výmene súboru freeBSD.VHDX za virtuálny pevný disk. Mali sme súbor virtuálneho pevného disku s trochu miernou inštaláciou FreeBSD na testovacie účely, odtiaľ aj názov.

Akonáhle je tento príkaz hotový, spustite ho sudo dd if = freeBSD.RAW of = / dev / sde , ktorý nahradí názov súboru RAW RAW, ktorý ste práve vytvorili, a zariadenie sde block zariadením, ktoré vás skutočne zaujíma. Ak si nie ste istí, môžete kedykoľvek spustiť sudo fdisk -l aby ste sa uistili, že poznáte správny názov oddielu. Rovnako ako pri použití dd na čokoľvek iné, aj vy nechcete písať na nesprávne zariadenie.

Môže sa zobraziť chyba, že v zariadení nezostane miesto, rovnako ako keby ste sa pokúsili napísať veľký súbor na menšie zariadenie, ale pri testoch to nespôsobilo problémy. Zdá sa, že tento proces pridáva ďalšie nuly. V opačnom prípade by sa vám podarilo virtuálny disk skopírovať na fyzický disk iba v dvoch krokoch s minimálnym počtom klamstiev.



Metóda 2: Pomocou príkazu servera QEMU Disk Network Block Device Server

Používatelia, ktorí majú prístup iba k virtualizačnému systému Quick Emulator (QEMU), sa budú musieť vysporiadať s trochu viac zapojeným postupom ako tí, ktorí majú prístup k príkazu VBoxManage. Na príkazovom riadku spustite príkaz sudo modprobe nbd nasledovaný qemu-nbd -r -c / dev / ndb0 -f vpc ourTest.vhd so zmeneným názvom súboru, aby odrážal skutočný názov súboru, s ktorým pracujete. Možno budete potrebovať sudo na spustenie qemu-nbd v závislosti od toho, ako ste nakonfigurovali inštaláciu. Ak odtiaľ kopírujete príkazy a prilepujete ich, nezabudnite ich pred spustením zmeniť. Vo väčšine prípadov tu budete mať vždy problém iba so zariadením ndb0, takže by ste tam nemali mať problémy.

Po dokončení môžete oddiel zapísať pomocou qemu-nbd -P 2 -r -c / dev / nbd2 -f vpc ourTest.vhd nasledovaný sudo ddrescure -v -f / dev / nbd2 / dev / sde2 , ale nezabudnite nahradiť súbory zariadenia tými, ktoré skutočne chcete použiť. Ak ich kopírujete a vkladáte do vlastného terminálu, nezabudnite tieto názvy súborov a čísla oblastí nahradiť tými, do ktorých sa pokúšate zapísať. Naše zariadenie / dev / sde bolo iba použitou kartou SDHC, ktorú sme používali na bezpečné otestovanie tohto stavu bez toho, aby sme niečo poškodili. Možno budete potrebovať sudo na spustenie qemu-nbd, ale nemali by ste to potrebovať. Rovnako bude pravdepodobne potrebné zrušiť čísla oddielov v závislosti od vašej konfigurácie. Proces QEMU nie je z týchto dôvodov ani zďaleka taký intuitívny.

Používatelia technológií Hyper-V môžu mať namiesto súboru VHD obrázok VHDX. Ak je to váš prípad, budete musieť namiesto toho spustiť qemu-nbd -c / dev / nbd0 -f VHDX ourTest.vhd pri opätovnom nahradení názvu súboru. Zatiaľ čo tento formát bol doplnkom systému Windows Server 2012, aby sa zvýšila kapacita úložného priestoru na virtualizovaných strojoch, čoraz viac používateľov systému Linux sa na neho obracia, aby uniklo z limitu 2 TB, ktorý má VHD. Inak by tieto pokyny mali fungovať bez ohľadu na príslušnú skutočnú veľkosť súboru. Nástroj GNU ddrescue by mal fungovať ako dd, aj keď najskôr zaistí skopírovanie najlepších blokov.

Po spustení sa budú musieť spustiť používatelia pracujúci s obrázkami VHDX sudo ddrescue -v -f / dev / nbd2 / dev / sde2 , opäť nahradzuje súbory vyššie. Inak môže používať každý so všetkými typmi obrázkov VirtualBox qemu-nbd -P 2 -r -c / dev / nbd2 -f vpc ourTest.vhd pripojiť predmetný oddiel, akoby to bol akýkoľvek starý disk. Budete musieť použiť sudo mount / dev / nbd2 / cdrom alebo sudo mount / dev / nbd2 / mnt namontovať. Pred vyskúšaním sa uistite, že nemáte nič iné pripojené k adresárom / cdrom alebo / mnt.

Metóda 3: Odpojenie a odpojenie súboru

Ak chcete odpojiť obrázok, jednoducho musíte použiť sudo umount / mnt alebo sudo umount / cdrom odpojiť to. Samotné jadro Linuxu bolo koniec koncov zaneprázdnené zaobchádzaním s ním, akoby išlo o akýkoľvek iný zväzok.

Stále ho však budete musieť odpojiť od systému QEMU, takže zadajte qemu-ndb -d / dev / nbd2 odpojiť.

4 minúty prečítané