Så här använder du DD-kommandot för att kopiera VHD-filer till fysisk hårddisk
Virtual Hard Disk (VHD) -filer är jättefiler som efterliknar användningen av fysiska medier på VirtualBox och några andra virtuella x86 / x86_64-emulatorer. Detta låter dig springa Windows, OS X, MS-DOS, FreeBSD, OpenBSD, OS / 2 eller även andra versioner av Linux i din Linux-distribution. Dessa filer låter dig inte direkt skriva innehållet till en fysisk disk via dd-kommandot som gör att du kan göra detsamma med en ISO, men det finns ett sätt att göra det. Medan vissa guider kräver att du konverterar VHD-filen till en ISO, behöver du inte göra det om du kör VirtualBox på någon modern version av Linux. QEMU-användare har också en utväg, men det innebär att spela mer.
Du måste se till att ingen av enheterna eller partitionerna du ska arbeta med är den du startar från. Vi har just använt ett partitionerat NAND-minne för det här exemplet, men du kanske vill använda en live DVD eller USB-boot om du annars inte skulle kunna göra det. Oavsett vilket sätt du startade den aktuella maskinen, starta ditt terminalprogram antingen genom att hålla ned Ctrl, Alt och T, leta efter det på Ubuntu Dash eller öppna det från undermenyerna System Tools i Xfce4 eller LXDE.
Metod 1: Använda VBoxManage från kommandotolken
Det enklaste sättet att göra det här är att använda en traditionell VirtualBox-installation. Se till att du har säkerhetskopierat all data du är orolig för att förlora eftersom du kommer att förstöra data på destinations fysiska hårdvara medan du också kan sluta göra något med VHD- eller VHDX-filen i processen. Detta gäller också för den andra metoden, liksom vad som helst som innefattar kommandon som är detta destruktiva.
När du är säker på att allt är säkert och att destinationsdriven är ommonterad men fortfarande ansluten till maskinen, säg en extern hårddisk som du fortfarande har anslutit men inte är monterad eller kan till och med vara rå eftersom du kommer att förlora allt på det I processen kör VBoxManage clonehd freeBSD.VHDX-format RAW freeBSD.RAW medan du ersätter freeBSD.VHDX med din virtuella hårddisk. Vi hade en virtuell hårddiskfil med en ganska måttlig installation av FreeBSD för teständamål, därav namnet.
Så snart det här kommandot är klart kör du sudo dd if = freeBSD.RAW of = / dev / sde, ersätter RAW-filens namn med den RAW du just skapat och sde-blockenheten med den enhet du är intresserad av. Om du är osäker, då kan du alltid köra sudo fdisk -l så att du vet rätt partitionsnamn. Precis som om du använder dd för något annat vill du inte skriva till fel enhet.
Det kan hända att du får ett fel om att det inte finns något ledigt utrymme på enheten, precis som om du försökte skriva en stor fil till en mindre enhet, men det orsakade inte problem i testen. Det verkar som om denna process lägger till extra nollor. Annars har du kunnat kopiera den virtuella skivan till en fysisk disk i bara två steg med ett minimum av att luras runt.
PRO TIPS: Om problemet är med din dator eller en bärbar dator, bör du försöka använda Reimage Plus-programvaran som kan skanna förvaret och ersätta korrupta och saknade filer. Detta fungerar i de flesta fall där problemet uppstått på grund av systemkorruption. Du kan ladda ner Reimage Plus genom att klicka härMetod 2: Med kommandot QEMU Disk Network Network Block Server Server
Användare som bara har tillgång till Quick Emulator (QEMU) virtualiseringssystem kommer att behöva hantera en något mer involverad procedur än de som har tillgång till kommandot VBoxManage. Vid kommandotolken kör sudo modprobe nbd följt av qemu-nbd -r -c / dev / ndb0 -f vpc ourTest.vhd, med filnamnet ändrat för att återspegla det aktuella filnamnet du arbetar med. Du kan behöva sudo för att köra qemu-nbd, beroende på hur du har konfigurerat din installation. Om du kopierar kommandona härifrån och klistrar in dem, var noga med att ändra dem innan de körs. I de flesta fall kommer du bara att få ndb0-enheten att oroa dig här, så du borde inte ha några problem där.
När det är klart kan du skriva partitionen med qemu-nbd -P2 -r-c / dev / nbd2 -f vpc ourTest.vhd följt av sudo ddrescure -v -f / dev / nbd2 / dev / sde2, men kom ihåg att Byt ut enhetsfilerna med de som du verkligen är intresserade av att använda. Om du kopierar och klistrar in dem i din egen terminal, så var noga med att ersätta de filnamn och partitionsnummer med dem du försöker skriva till. Vår / dev / sde-enhet var bara ett använt SDHC-kort som vi använde för att säkert testa detta utan att skada något. Du kan behöva sudo för att köra qemu-nbd, men du borde inte behöva det. På samma sätt kan du behöva släppa partitionsnumren beroende på din konfiguration. QEMU-processen är inte så intuitiv av dessa skäl.
Hyper-V-användare kan ha en VHDX-bild istället för en VHD-fil. Om så är fallet måste du istället köra qemu-nbd -c / dev / nbd0 -f VHDX ourTest.vhd medan du ersätter filnamnet igen. Medan det här formatet var ett tillägg till Windows Server 2012 för att lägga till större lagringskapacitet för virtualiserade maskiner, vänder allt fler Linux-användare till det för att undvika 2TB-gränsen som VHD har. I annat fall borde dessa anvisningar fungera oberoende av aktuell filstorlek. GNU ddrescue-verktyget ska fungera som dd, men det är säkert att kopiera de bästa blocken först.
När det här körs, måste användare som arbetar med VHDX-bilder köra sudo ddrescue -v -f / dev / nbd2 / dev / sde2, och ersätter sedan filerna upp ovan. Annars kan alla med alla typer av VirtualBox-bilder använda qemu-nbd -P2 -r -c / dev / nbd2 -f vpc ourTest.vhd för att montera den aktuella partitionen som om det var någon gammal disk. Du måste använda sudo mount / dev / nbd2 / cdrom eller sudo mount / dev / nbd2 / mnt för att montera det. Se till att du inte har något annat monterat på / cdrom eller / mnt katalogerna innan du försöker det.
Metod 3: Avmontera och sedan koppla bort filen
För att avmontera bilden behöver du bara använda sudo umount / mnt eller sudo umount / cdrom för att lossa den. Linuxkärnan själv var trots allt upptagen med att behandla det som om det var någon annan volym.
Du måste fortfarande koppla bort den från QEMU-systemet, men skriv så qemu-ndb -d / dev / nbd2 för att koppla bort den.
PRO TIPS: Om problemet är med din dator eller en bärbar dator, bör du försöka använda Reimage Plus-programvaran som kan skanna förvaret och ersätta korrupta och saknade filer. Detta fungerar i de flesta fall där problemet uppstått på grund av systemkorruption. Du kan ladda ner Reimage Plus genom att klicka här