Dd (Dataset Definition) käsk on lihtne, kasulik ja üllatavalt hõlpsasti kasutatav tööriist; Selle tööriista abil saate sama teha ka seadmetes: ketastel ja sektsioonidel, nagu kommertsprogrammidel nagu Norton Ghost, Windowsil või tasuta programmidel nagu CloneZilla, Linuxil, vaid lühikese käsurea abil.
Põhisüntaks:
Dd-käsu kasutamise põhiline süntaks oleks järgmine:
sudo dd if=origen of=destino
Kus kui tähendab "sisendfail = sisendfail“, See tähendab, mida soovite kopeerida ja tähendab "väljundfail = väljundfail“, See tähendab sihtfail (kuhu andmed kopeeritakse);päritolu ja Sihtkohaks võivad olla seadmed (CD- või DVD-lugeja, kõvaketas, diskett, pendrive, partitsioon jne), varukoopiad või kettapilt jne, kuid mitte kaustad ega alamkaustad.
Selle käsu tõrgeteta kasutamiseks on kõigepealt alati selge, milliseid partitsioone / kõvakettaid Linuxis nimetatakse (näiteks / dev / sda1; / dev tuleneb seadmest = device, inglise keeles). teada lähte- ja sihtketast / partitsiooni, mida saame hõlpsasti teada saada käsuga sudo fdisk -lo mõne graafilise partitsiooniprogrammiga nagu gparted. Kogu käsu dd kohta käivat teavet saab vaadata käsust man dd ja info dd,
Seda käsku tuleks kasutada ettevaatusega ja alati kontrollida ketaste / partitsioonide järjekorda ja nime, sest nii nagu ketas kloonitakse, kustutab see selle peagi.
Süntaks käsuga pv: dd-käsu kasutamisel eelmise süntaksiga on väike puudus, kuna see on väga reserveeritud käsk - see ei anna teavet - kuna selle käivitamisel jääb terminaliviip liikumatuks, nii et me ei tea, mida on see, mis toimub ja kui palju aega on selle täitmiseks lõpetatud. Selle väikese ebamugavuse saab lahendada, lisades käsu pv, (*) - mis toimib terminali toruna, mis mõõdab seda läbivaid andmeid - käsu dd süntaksisse, nii et nüüd oleks süntaks järgmine:
dd if=origen |pv|dd of=destino
Selle tulemusena saaksime terminalis mingi edenemisriba, teabe edastatud baitide, töötatud aja ja ülekandekiiruse kohta - seda kõike reaalajas.
(alf) - (~) └──┤ dd if = / devmmcblk0p1 | pv | dd = / dev / mmcblk0p2 1,630 0 GB 21:30:1,12 [XNUMX MB / s] [
Lisaks näitab see pärast lõpetamist meile statistikat ülekandekiiruse, kogu edastatud baitide ja kõigi andmete edastamiseks kulunud aja kohta.
(alf) - (~) └──┤ dd if = / devmmcblk0p1 | pv | dd = / dev / mmcblk0p2 10530816 + 0 loetud kirjet <=> 10530816 + 0 kirjutatud kirjet 5391777792 baiti (5.4 GB) kopeeritud, 3873,48 s, 1,4 MB / s 5,02GB 1:04:33 [1,33MB / s] [<=> 10530816 + 0 loetud kirjet <=> 10530816 + 0 kirjutatud kirjet kopeeritud 5391777792 baiti (5.4GB) kopeeritud, 3873,48, 1,4 s, XNUMX MB / s (alf) - (~) └──┤
(*) Enne käsurea käivitamist selle teise süntaksiga kontrollige, kas meil on pv pakett süsteemi installitud, või installige see, kui meil seda pole: mõlemad koos Synapticuga.
Vaatame selle käsu mõningaid praktilisi näiteid ja võimalusi (selle versioonis koos trikiga, mida on eelnevalt selgitatud käsuga pv):
A) Kõvaketaste ja sektsioonide kohta:
= Kloneeri kõvaketas:
Selle abil kloonime hda ketta hdb-sse. (IDE-kettad):
sudo dd if=/dev/hda |pv|dd of=/dev/hdb bs=1M
Selle abil kloonime sda ketta SDB-s. (SATA-kettad):
sudo dd if=/dev/sda |pv|dd of=/dev/sdb bs=1M
Valikuga bs = 1M saavutatakse, et nii lugemine kui ka kirjutamine toimub 1-megabaidistes plokkides (vähem, see oleks aeglasem, kuid turvalisem ja enamaga riskime andmete kaotamisega).
Pidage meeles, et sel viisil salvestatakse ketas "sellisena nagu see on", MBR, partitsioonitabel, tühi ruum jne ..., nii et saate salvestada ainult sama või suurema suurusega kettale.
= Sihtkettale (hdb) kirjutage ainult lähteketta esimene partitsioon (hda1):
sudo dd if=/dev/hda1 |pv|dd of=/dev/hdb bs=1M
= Kirjutage kogu ketas (hda) sihtketta esimesse partitsiooni (hdb1):
sudo dd if=/dev/hda |pv|dd of=/dev/hdb1 bs=1M
= Loo pilt - võib olla bin või iso - kõvakettalt (hda) kataloogis / home:
sudo dd if=/dev/hda |pv|dd of=/home/hda.bin
= Plaadilt teabe täielik kustutamine: selleks täitke plaat juhuslike märkidega viis korda. Plaadil pole jälgi teabest:
for n in {1..5}; do dd if=/dev/urandom |pv|dd of=/dev/hda bs=8b conv=notrunc;
= Kustutage mis tahes seadmest sektsioon ja kogu ketas:
sudo dd if=/dev/zero |pv|dd of=/dev/sdx
(Kogu ketta kustutamine)
sudo dd if=/dev/zero |pv|dd of=/dev/sdxa
(Kettasektsiooni kustutamine)
kus: x on kustutatav ketas, a on kustutatav partitsioon
See toiming on väga kasulik mis tahes sektsiooni täielikuks kustutamiseks, lisaks ei saa kustutatavaid andmeid taastada, seetõttu on tegemist madala taseme ja väga turvalise kustutamisega, mis on väga kasulik näiteks siis, kui pendrive nakatub meie viirustega kallid aknad.
B) CD / DVD-l
= .Iso pildi loomine / paigaldamine CD-lt (või DVD-lt)
CD-i .iso-pildi loomiseks kataloogis / home:
sudo dd if=/dev/cdrom |pv|dd of=/home/imagendeCD.iso
.Iso-pildi paigaldamine CD-lt:
sudo mount -o loop imagedeCD.iso /mnt/home
= Taastage kriimustatud DVD (See ei taasta tervet DVD-d, antud juhul ainult loetavaid sektoreid). See sobib ka defektsete kõvaketaste jaoks:
sudo dd if=/dev/cdrom |pv|dd of=/home/dvd_recuperado.iso conv=noerror,sync
Valikut Noerror kasutatakse lugemisvigade vältimiseks igas olukorras.
C) MBR-i ja VBS-i kohta:
= Kopeeri / taasta alglaadimise kirje (MBR):
MBR-i kopeerimiseks toimige järgmiselt.
sudo dd if=/dev/hda |pv|dd of=mbr count=1 bs=512
MBR-i taastamine:
sudo dd if=mbr |pv|dd of=/dev/hda
= Puhastage meie MBR ja partitsioonitabel:
sudo dd if=/dev/zero |pv|dd of=/dev/hda bs=512 count=1
= Puhastage MBR, kuid ärge puudutage partitsioonitabelit (väga kasulik kustutada GRUB, kaotamata partitsioonide andmeid):
sudo dd if=/dev/zero |pv|dd of=/dev/hda bs=446 count=1
= Kopeeri / taasta köidete alglaadimissektor (VBS):
VBS-i kopeerimiseks toimige järgmiselt.
sudo dd if=/dev/hda |pv|dd of=/home/sector_arranque_hda count=1 bs=512
VBS-i taastamine:
sudo dd if=/home/sector_arranque_hda |pv|dd of=/dev/hda
D) teised:
= Kirjutage kettapilt meie / kodukataloogi, jättes kettavead vahele (väga kasulik surevate ketaste puhul):
sudo dd conv=noerror if=/dev/hda |pv|dd of=~/home/imagen_disco_con_errores.iso
= Loo tühi 1 Mb fail:
sudo dd if=/dev/zero |pv|dd of=archivo_nuevo_vacio bs=1024 count=1024
= Looge 2Gb vahetusfail:
sudo dd if=/dev/zero |pv|dd of=/swapspace bs=4k count=2048M
mkswap /swapspace
swapon /swapspace
= Teisenda kõik tähed suurtähtedeks:
sudo dd if=miarchivo |pv|dd of=miarchivo conv=ucase
Kasutage graafilise keskkonnaprogrammiga käsku dd: Gdiskdump on selle dd käsu graafiline keskkond, mis hõlbustab kloonida vaheseinad või kettad, kiiresti ja lihtsalt. Selle saab lehelt alla laadida https://launchpad.net/gdiskdump/ Kui oleme selle juurõigustega - sudo gdiskdump - avanud, näeme, et programmi on väga lihtne kasutada, kuna peame talle ütlema ainult kloonimiseks mõeldud sektsiooni või ketta (sisendvorming) ja selle sihtkoha (väljundvorming).
Sain peaaegu diabeetilise käsu dd väärkasutamise.
muide, mis oleks vahet dd_rescue-ga?
Vaikimisi ei peatu ddrescue lugemisvead ja proovib mitmel viisil taastada loetamatu teabe.
hahahha kasutasin ka dd käsku väga halvasti, see on palju võimsam, kui ma arvasin.
Kommenteerin, et usun, et iga arhi kasutaja mingil hetkel kasutas
@ sieg84, erinevus seisneb selles, et dd katkestati mõne lugemis- või seadme veaga. Sel juhul seda ei juhtu, kuna kahjustatud plokk loeb seda teatud arv kordi ja jätkab järgmisega, see annab ka eelise, et Saame seda samal pildil mitu korda käivitada ja see ei alga nullist, vaid proovib seda lõpule viia.
Tasub mainida, et dd_rescue pole ma seda kunagi kasutanud.
Kui KDE-s on qt-s tehtud mõni GUI, mis seda käsku kasutab? või pean ma tagasi astuma.?
Gdiskdump on selle käsu jaoks rohkem kui GUI (see põhineb sellel) ja kuigi ma ei tea, kas nad tegid seda qt-s (ma arvan, et mitte), töötab see KDE-s teie jaoks peaaegu kindlasti
tänud selgitamast.
Olen ISO-le USB-ks kopeerimiseks kasutanud ainult dd_rescue (enamasti seetõttu, et openSUSE vikis oli see neil olemas).
dd_rescue tu.iso / dev / sdX
mis mulle meeldib, on see, et see näitab edenemisriba:
http://box.jisko.net/i/110db781.png
Alfa:
Nägin hiljuti seda sama postitust postitatud Hatterase ajaveebi. Tõenäoliselt ei võta ta seda valesti, aga ma ei tea, vähemalt viisakalt oleks hea sellele viidata. Nii võidab ta ka veebipositsioonimisel.
Ma ei taha sellega dilemma tekitada, kuid esmapilgul tundub artikkel olevat 95% identne, välja arvatud teie kohandatud terminalipildid. Ta mainis isegi oma allikaid.
Huvitav tunnistan, et | pv | ei tundnud teda.
Krel Ma arvan, et allikas on ubuntu wikis või arch-tervitustes.
@krel, Linuxi asi on järgmine:
Kogu oma teekonna selles maailmas olen lugenud ja kogunud asju, mul on rohkem kui 400 postitusega märkmik, mille panin Mehhiko Ubuntu, mis oli kogukond, kuhu oma algusaegadel kõige rohkem panustasin. Kahjuks võib asju korrata, kui suur summa üle vaadata neti postitada, need on peaaegu samas järjekorras, asi on selles, et enamik on lühemad.
Ma saan nädala jooksul veel 5 postitust avaldada ja võite leida teisi sarnaseid või samu, põhjus? Ubuntul on netis kõige rohkem foorumeid / blogisid.
Ma ei arva, et mingil juhul oleks dilemma ja kui administraatorid kaaluksid selle kustutamist, ei solvaks see mind üldse ega häiriks mind, järgin reegleid ja järgnevat oma märkuste 8 hulgas, et mul pole neid korras) juhuste vältimiseks.
seoses
See pole kellelegi mõistatus, et maksimaalselt ainult 10% veebis loodud sisust on uus. Millega ülejäänud 90 sisu dubleeritakse, uuendatakse või päästetakse, ja ma ei ütle, et see oleks vähem oluline, pigem vastupidi, see on teadmiste levitamise vorm.
Kus ma siiski peatun, on midagi muud. Kui teil on seda tüüpi ajaveeb, on olemas isiklik motivatsioon aidata ja võib-olla isegi selle eest tunnustust saada. Samas olen kindel, et enamik neist, kes kirjutavad sisu vaba tarkvara kohta, nõustuvad jagamise ideega. Ärgem unustagem, et isegi kõige õilsamad litsentsid nagu BSD nõuavad tunnustust.
Samuti on viited viis, kuidas mõned otsingumootorid, näiteks google, parandavad veebisaidi positsioneerimist. Ma lihtsalt ütlen, et kuna materjali kasutati minimaalse tänutundena, siis viitan sellele teosele.
Minu meelest on tore, et jagad, aga mida sa viite tegemisega kaotad? Mõelda vaid, kas mõnest teisest parema asukohaga ajaveebi sisu oleks dubleeritud. desdelinux Ilma sellele viitamata mataksid nad selle blogi lõpuks maha.
Hatteras avaldas selle 10 päeva tagasi ja kui ta pole seda teie märkmikust välja võtnud või olete Luis Puente, ei oska ma seletada, mida te mulle ütlesite, see on see, et peaaegu kõik on tekstiline. Ebatõenäoline, kuid mitte võimatu.
Kuid mitte midagi, et sellist asja juhtub. Ja ma ei tea, isikliku eetika ja teise kolleegiga koostöö nimel viitan ma talle. See on teie otsustada, ma arvan, et ka Hatteras ei võta seda valesti, pigem vastupidi.
See on tõsi, see on selle postituse tõeline koopia: http://hatteras.wordpress.com/2013/01/18/algunos-usos-practicos-del-comando-dd/
Hmm ... tegin kogemata dd if = file.iso = / media / kõvakettale ...
kuidagi failide taastamine kõvakettalt ???
Võite kasutada Testdiskit
Sõber on minuga juhtunud võib-olla testdiskiga või spetsiaalse otseülekandega andmete päästmiseks. Minu soovitus teha varukoopia järgmiseks korraks, kuna selle käsu kasutamine on minu uustulnukapäevadel midagi õrna, et kogu kõvaketas vormindada ilma seda tahtmata ja nüüd taaskäivitada ... Pole vaja öelda, et kumbki grub ei alanud.
Kas keegi oskab öelda, millist käsku kasutada käsuga dd kopeerimise edenemise nägemiseks, mida ma mõtlen, on näha edenemisriba kopeeritava% -ga
slds
Sõber! lisades käsu pv. Selles samas postituses ütleb ta seda peaaegu alguses ja selgitab, kuidas seda kasutada. Loe uuesti
kasutades seda käsku:
dd kui = / dev / sdc | bzip2> /media/Elements/iso.gz
Mul on õnnestunud teha 16Gb kettast iso pilt ja salvestada see 400Gb kettale.
Kuid ma ei tea, mis oleks käsk selle pildi taastamiseks algsele 16 GB kettale või mõnele muule samale mahule
küsimus
kasutage seda käsku
n jaoks ajavahemikus {1..5}; tee dd, kui = / dev / urandom | pv | dd = / dev / hda bs = 8b conv = notrunc;
2TB ketta jaoks
siis jään konsooli juurde midagi sellist
>
Kas peaksin käivitama mõne muu käsu või kui kaua protsess võib aega võtta?
aitäh ja jätka
Rea lõpus puudub kirjaviga ... valmis »viibis« n jaoks ajavahemikus {1..5}; tee dd, kui = / dev / urandom | pv | dd = / dev / hda bs = 8b conv = notrunc; tehtud »
väga hea artikkel ... .. kavatsen selle praktikas rakendada ... tervitussõber
Väga kasulik, see aitas mind palju tänu
Hea Alf. Tänan info eest.
Küsimus. Kas on võimalik kopeerida ainult osa lähtekettast? Juhtum on see, et kui mul on 120Gb ketas, milles kasutatakse ainult 25Gb ja tahan teha koopia 40Gb kettale, oleksin huvitatud ainult kasutatud ruumi (25Gb) kopeerimisest, kas selle käsuga on kuidagi võimalik?
Tänud ette.
Parem oleks, kui kasutate rsync, käsuga rsync -av / path / to / origin / path / to / destiny varundate juba kõik oma õigused nende vastavate õigustega.
Ma mõtlesin: "kõik teie failid koos nende vastavate õigustega"
Kallis, kas keegi teab, miks käsk dd hõivates jõuab see kõigest 4.2 GB-ni ja näitab, et fail on väga suur? See on 250 GB ketta pilt ja see läheb 1 TB välisele kettale.
sudo dd, kui = / dev / sda | pv | dd = / home / fox / backup.iso
4Gb viga annab selle teile, kuna proovite partitsioonis varukoopiat teha fs FAT16 abil
Milline hea ajaveeb. Väga kasulik sissekanne. Ma olin selle käsu kasutusviise juba mujal näinud, kuid need ei selgitanud üldse midagi. Aitäh.
Tere, mul on süstimismasin, milles programm kadus, kuna nad asendasid bios-virna, meil pole varukoopiat, kuid meil on veel üks sama masin, sellel on ainult disketi-, jada- ja paralleelport. Kuidas ma saan sellest masinast varukoopia teha selle teisele laadimiseks loodan, et saate mind tänada
Ma tahan lihtsalt partitsiooni kopeerida ilma LIVE CD-lt alustamata. Näiteks on mul ketas / dev / sda1, / dev / sda5, / dev / sda6 ja ma tahan teha koopia / dev / sda5 teiselt kettalt / dev / sdb1
käsk on dd, kui = / dev / sdb1 = / dev / sda5 bs = 1M ????
Tere kuidas sul läheb. Ma elan ka Guadalajaras.
Teie artikkel käsust DD on väga huvitav. Ma tahan testida mõnda Linuxi jaotust, täpsemalt Archlinuxit, kuid ma pole suutnud DD käsku kasutada ja juba alla laaditud Archilinux ISO-d USB-mälupulgale kopeerida. Ma ei tea, kas saate sellega alustamiseks puugi anda. Aitäh, Pedro lobato
Sest kui iso salvestatakse käsuga "dd", töötab see ainult mõnes arvutis käivitamiseks?
Exp. Mul on 2 sülearvutit ja ükski neist ei käivita ühegi Linuxi jaotuse iso; kuid vastupidi, see käivitub vanas lauaarvutis, millel on tühikäik
Parim on unetbootini abil turvaliselt mängida, dd-ga on mul jäänud ka küsimus, miks see mõnikord ei toimi.
Ma arvan, et see ei sõltu DD-st, vaid ISO-st. Sama asi Unetbootiniga, see ei tööta kõigi jaotustega.
Mõnikord töötab see kõigil arvutitel, kuid peate protsessi lisama mbr ja syslinux usb-le; aga see on pikk ja tüütu.
Lihtne osa taaskäivitamisest
Olge ettevaatlik: see pole minu jaoks iso ega dd, see on viis, kuidas te selle salvestate.
Ma kahtlen, kas ma kasutan seda käsku:
sudo dd kui = / dev / null = / dev / kettaseadet
Selle asemel on madal vormindamine sama või võtab kauem aega kui see:
sudo dd kui = / dev / null = / dev / kettaseade bs = 1M ..
Kas käsku dd saab kasutada konkreetse faili kustutamiseks?
näiteks
dd kui = / dev / urandom = = home / myfile kustuta
bs = 1M korral muutub see kiiremaks
Ja kui ma kavatsen teha täpse koopia ühelt kettalt teisele koos kõigi selle partitsioonidega (swap, sda ...) ja mõlemad kettad on samad, kuid üks on arvutis ja teine võrgu kaudu NAS-is ????
tänan
Kommentaar, ma kasutan seda status = progress lõpus ja ma ei vaja pv-d, nii et debian töötab minu jaoks edusammude nägemiseks väga hästi.
Ja teiseks, kas on võimalik saada ainult andmeid, mitte kogu üksust, sest kui see on 2TB ketas ja ma kasutan ainult 100 GB, siis on mul vaja kogu seda ruumi. Kas on võimalik lihtsalt varundada see 100 GB? Ja kui edastan selle teisele andmekandjale, võib see olla väiksem ketas, võib-olla üks 500-st?
Abi !!!
Tehke käsk
dd if = cbpp-9.0-amd64-20170621.iso = / dev / sdb
kõik hea ... aga nüüd tahan USB-d kasutada mäluseadmena ja ...
USB-d pole ühendatud, seda ei kuvata isegi GPartedis.
Kas keegi teab, mida ma teha saan.
PS: mis oleks parim programm andmete taastamiseks plaatidelt ja CD-delt ...
peate uuesti testima fdiskiga