Sådan bruges DD-kommandoen til at kopiere VHD-filer til fysisk harddisk
Virtual Hard Disk (VHD) -filer er gigantiske filer, der efterligner brugen af fysiske medier på VirtualBox og nogle andre virtuelle x86 / x86_64 emulatorer. Dette giver dig mulighed for at køre Windows, OS X, MS-DOS, FreeBSD, OpenBSD, OS / 2 eller endda andre versioner af Linux i din Linux distribution. Disse filer giver dig ikke mulighed for direkte at skrive deres indhold til en fysisk disk via dd-kommandoen, som lader dig gøre det samme med en ISO, men der er en måde at gøre det på. Mens nogle guider kræver, at du konverterer VHD-filen til en ISO, behøver du ikke at gøre dette, hvis du kører VirtualBox på en moderne version af Linux. QEMU-brugere har også en udvej, selv om det indebærer mere at spille rundt.
Du skal sørge for, at ingen af de drev eller partitioner, du skal arbejde med, er den du starter fra. Vi har lige brugt et stykke partitioneret NAND-hukommelse til dette eksempel, men du vil måske bruge en live DVD eller USB boot, hvis du ellers ikke ville kunne gøre det. Uanset hvilken måde du startede den pågældende maskine, skal du starte dit terminalprogram enten ved at holde Ctrl, Alt og T nede, søge efter det på Ubuntu Dash eller åbne det fra undermenuerne System Tools i Xfce4 eller LXDE.
Metode 1: Brug af VBoxManage fra kommandoprompt
Langt den nemmeste måde at gøre dette på er at bruge en traditionel VirtualBox-installation. Sørg først for at du har sikkerhedskopieret alle de data, du er bekymret for at miste, fordi du vil ødelægge data på destinations fysiske hardware, mens du også kan ende med at gøre noget til VHD- eller VHDX-filen i processen. Dette gælder også for den anden metode, samt hvad der involverer kommandoer, der er denne destruktive.
Når du er sikker på, at alt er sikkert, og at destinationsdrevet er afmonteret, men stadig er fastgjort til maskinen, skal du sige en ekstern harddisk, som du stadig har tilsluttet, men ikke er monteret eller måske endda rå, da du vil miste alt på det i gang med at køre VBoxManage clonehd freeBSD.VHDX -format RAW freeBSD.RAW, mens du udskifter freeBSD.VHDX med din virtuelle harddisk. Vi havde en virtuel harddiskfil med en noget moderat installation af FreeBSD til testformål, dermed navnet.
Så snart denne kommando er færdig, kør sudo dd if = freeBSD.RAW af = / dev / sde, erstatter RAW-filens navn med den RAW, du netop har oprettet, og sde-blokenheden med den enhed, du rent faktisk er interesseret i. Hvis du er i tvivl, så kan du altid køre sudo fdisk -l for at sikre dig, at du kender det rigtige partitionsnavn. Ligesom med at bruge dd til noget andet, vil du ikke skrive til den forkerte enhed.
Du kan muligvis få en fejl om, at der ikke er plads tilbage på enheden, ligesom hvis du forsøgte at skrive en stor fil til en mindre enhed, men det forårsagede ikke problemer i testene. Det ser ud til, at denne proces tilføjer ekstra nuller. Ellers har du kunnet kopiere den virtuelle disk til en fysisk disk i kun to trin med et minimalt minimum at narre rundt.
PRO TIP: Hvis problemet er med din computer eller en bærbar computer / notesbog, skal du prøve at bruge Reimage Plus-softwaren, som kan scanne lagrene og udskifte korrupte og manglende filer. Dette virker i de fleste tilfælde, hvor problemet er opstået på grund af systemkorruption. Du kan downloade Reimage Plus ved at klikke herMetode 2: Med kommandoen QEMU Disk Network Network Block Server Server
Brugere, der kun har adgang til Quick Emulator (QEMU) virtualiseringssystem, skal håndtere en lidt mere involveret procedure end dem, der har adgang til VBoxManage kommandoen. Ved kommandoprompten skal du køre sudo modprobe nbd efterfulgt af qemu-nbd -r-c / dev / ndb0 -f vpc ourTest.vhd, med filnavnet ændret for at afspejle det aktuelle filnavn, du arbejder med. Du kan have brug for sudo til at køre qemu-nbd, afhængigt af hvordan du har konfigureret din installation. Hvis du kopierer kommandoerne herfra og indsætter dem, skal du sørge for at ændre dem, før du kører dem. I de fleste tilfælde vil du kun få ndb0-enheden til at bekymre dig om her, så du bør ikke have nogen problemer der.
Når det er gjort, kan du skrive partitionen med qemu-nbd -P2 -r-c / dev / nbd2 -f vpc ourTest.vhd efterfulgt af sudo ddrescure -v -f / dev / nbd2 / dev / sde2, men husk at Udskift enhedens filer med dem, du rent faktisk er interesseret i at bruge. Hvis du kopierer og indsætter disse i din egen terminal, skal du sørge for at erstatte disse filnavne og partitionsnumre med dem, du forsøger at skrive til. Vores / dev / sde enhed var blot et brugt SDHC-kort, vi brugte til sikkert at teste dette uden at skade noget. Du kan have brug for sudo til at køre qemu-nbd, men du behøver det ikke. På samme måde skal du måske tabe partitionsnumrene afhængigt af din konfiguration. QEMU-processen er ikke så intuitiv af disse årsager.
Hyper-V-brugere kan have et VHDX-billede i stedet for en VHD-fil. Hvis dette er tilfældet, skal du i stedet køre qemu-nbd -c / dev / nbd0 -f VHDX ourTest.vhd, mens du udskifter filnavnet igen. Mens dette format var en tilføjelse til Windows Server 2012 for at tilføje større lagerkapacitet til virtualiserede maskiner, bliver flere og flere Linux-brugere vendt til det for at undgå 2TB-grænsen, som VHD har. Ellers skal disse instruktioner fungere uanset den aktuelle filstørrelse. GNU ddrescue-værktøjet skal fungere som dd, selvom det er sikker på at kopiere de bedste blokke først.
Når dette er kørt, skal brugere, der arbejder med VHDX-billeder, køre sudo ddrescue -v -f / dev / nbd2 / dev / sde2, igen erstatte filerne ovenover. Ellers kan alle med alle slags VirtualBox-billeder bruge qemu-nbd -P2 -r -c / dev / nbd2 -f vpc ourTest.vhd til at montere den pågældende partition som om det var en gammel disk. Du skal bruge sudo mount / dev / nbd2 / cdrom eller sudo mount / dev / nbd2 / mnt for at montere den. Sørg for, at du ikke har noget andet monteret til / cdrom eller / mnt mapper, før du prøver det.
Metode 3: Afmontere og derefter afbryde filen
For at afmontere billedet skal du blot bruge sudo umount / mnt eller sudo umount / cdrom til at løsne det. Linuxkernen selv var jo travlt med at behandle det som om det var noget andet volumen.
Du skal stadig afbryde forbindelsen fra QEMU-systemet, men skriv så qemu-ndb -d / dev / nbd2 for at afbryde forbindelsen.
PRO TIP: Hvis problemet er med din computer eller en bærbar computer / notesbog, skal du prøve at bruge Reimage Plus-softwaren, som kan scanne lagrene og udskifte korrupte og manglende filer. Dette virker i de fleste tilfælde, hvor problemet er opstået på grund af systemkorruption. Du kan downloade Reimage Plus ved at klikke her