Naredba dd (Definicija skupa podataka) jednostavan je, koristan i iznenađujuće jednostavan alat; Pomoću ovog alata možete učiniti isto na uređajima: diskovima i particijama, kao i kod komercijalnih programa poput Norton Ghost, na Windowsima ili besplatnim programima poput CloneZille, na Linuxu, samo kratkom naredbenom linijom.
Osnovna sintaksa:
Najosnovnija sintaksa za upotrebu naredbe dd bila bi ova:
sudo dd if=origen of=destino
Gde ako znači "ulazna datoteka = ulazna datoteka“, Odnosno ono što želite kopirati i sredstava "izlazna datoteka = izlazna datoteka“, Odnosno odredišna datoteka (gdje će se podaci kopirati);porijeklo i Odredište mogu biti uređaji (CD ili DVD čitač, tvrdi disk, disketa, privjesak, particija itd.), Sigurnosna kopija datoteke ili slike diska itd., Ali ne i mape ili podmape.
Za nesmetanu upotrebu ove naredbe, prva stvar je uvijek biti jasna oko toga koje se particije / tvrdi diskovi nazivaju u Linuxu (/ dev / sda1 na primjer; / dev potječe od device = device, na engleskom). da bismo saznali izvorni i odredišni disk / particiju, nešto što lako možemo saznati naredbom sudo fdisk -lo s nekim grafičkim particijskim programom poput gparted. Sve informacije o naredbi dd možete pogledati kod naredbe man dd i info dd,
Ovu naredbu treba koristiti s oprezom i uvijek provjeravati redoslijed i ime diskova / particija, jer kao što je disk kloniran, on ga u trenutku briše.
Sintaksa s naredbom pv: Korištenje naredbe dd s prethodnom sintaksom ima mali nedostatak, jer je vrlo rezervirana naredba - ne daje informacije - jer kada se izvrši, terminalski upit ostaje nepomičan, pa ne znamo šta se događa i koliko je vremena ostalo da se izvrši. Ovu manju neugodnost moguće je riješiti dodavanjem naredbe pv, (*) - koja djeluje kao terminalna cijev koja mjeri podatke koji kroz nju prolaze - u sintaksu naredbe dd, tako da bi sada sintaksa bila:
dd if=origen |pv|dd of=destino
Kao rezultat, dobili bismo neku vrstu trake napretka na terminalu, informacije o prebačenim bajtovima, vremenu provedenom i brzini prijenosa, sve u realnom vremenu.
(alf) - (~) └──┤ dd if = / devmmcblk0p1 | pv | dd od = / dev / mmcblk0p2 1,630GB 0:21:30 [1,12 MB / s] [
Pored toga, kada je završen, prikazuje nam statistiku brzine prijenosa, ukupnog broja prebačenih bajtova i ukupnog vremena potrebnog za prijenos svih podataka.
(alf) - (~) └──┤ dd if = / devmmcblk0p1 | pv | dd od = / dev / mmcblk0p2 10530816 + 0 pročitanih zapisa <=> 10530816 + 0 zapisanih zapisa 5391777792 bajtova (5.4 GB) kopirano, 3873,48 s, 1,4 MB / s 5,02 GB 1:04:33 [1,33 MB / s] [<=> 10530816 + 0 pročitanih zapisa <=> 10530816 + 0 zapisanih zapisa 5391777792 bajta (5.4 GB) kopirano, 3873,48, 1,4 s, XNUMX MB / s (alf) - (~) └──┤
(*) Provjerite prije izvođenja bilo koje naredbene linije s ovom drugom sintaksom da li imamo pv paket instaliran na sistemu ili ga instalirajte ako ga nemamo: oboje sa Synaptic-om.
Pogledajmo nekoliko praktičnih primjera i opcija ove naredbe (u njenoj verziji s trikom koji je prethodno objašnjen sa naredbom pv):
A) O čvrstim diskovima i particijama:
= Klonirajte tvrdi disk:
Ovim bismo klonirali hda disk u hdb. (IDE diskovi):
sudo dd if=/dev/hda |pv|dd of=/dev/hdb bs=1M
Ovim bismo klonirali sda disk u sdb. (SATA diskovi):
sudo dd if=/dev/sda |pv|dd of=/dev/sdb bs=1M
Uz opciju bs = 1M, moguće je da se i čitanje i pisanje obavljaju u blokovima od 1 megabajta, (manje, bilo bi sporije, ali sigurnije, a s više rizikujemo gubitak podataka na putu).
Imajte na umu da se na ovaj način disk snima "takav kakav je", MBR, tablica particija, prazan prostor itd., Tako da možete snimati samo na disk iste ili veće veličine.
= Napišite samo prvu particiju (hda1) izvornog diska na odredišni disk (hdb):
sudo dd if=/dev/hda1 |pv|dd of=/dev/hdb bs=1M
= Snimite cijeli disk (hda) na prvu particiju (hdb1) odredišnog diska:
sudo dd if=/dev/hda |pv|dd of=/dev/hdb1 bs=1M
= Stvorite sliku - može biti bin ili iso - sa tvrdog diska (hda), u / home direktoriju:
sudo dd if=/dev/hda |pv|dd of=/home/hda.bin
= Potpuno obrišite informacije na disku: da biste to učinili, napunite disk slučajnim znakovima, pet puta. Na disku neće biti traga informacijama:
for n in {1..5}; do dd if=/dev/urandom |pv|dd of=/dev/hda bs=8b conv=notrunc;
= Izbrišite bilo koju particiju i cijeli disk s bilo kojeg uređaja:
sudo dd if=/dev/zero |pv|dd of=/dev/sdx
(Potpuno brisanje diska)
sudo dd if=/dev/zero |pv|dd of=/dev/sdxa
(Brisanje particije diska)
gdje je: x disk za brisanje, a particija za brisanje
Ova je operacija vrlo korisna za potpuno brisanje bilo koje particije, osim toga podaci koji će se izbrisati ne mogu se povratiti, stoga je to vrlo nisko i vrlo sigurno brisanje, vrlo korisno, na primjer kada se pendrivi zaraze virusima s našim dragi prozori.
B) Na CD-u / DVD-u
= Kreirajte / montirajte .iso sliku sa CD-a (ili DVD-a)
Da biste kreirali .iso sliku CD-a u direktoriju / home:
sudo dd if=/dev/cdrom |pv|dd of=/home/imagendeCD.iso
Da biste montirali .iso sliku sa CD-a:
sudo mount -o loop imagedeCD.iso /mnt/home
= Oporavak ogrebotina DVD-a (Ovo neće oporaviti cijeli DVD, u ovom slučaju samo čitave sektore). Pogodan je i za oštećene tvrde diskove:
sudo dd if=/dev/cdrom |pv|dd of=/home/dvd_recuperado.iso conv=noerror,sync
Opcija noerror koristi se za izbjegavanje pogrešaka u čitanju u bilo kojoj situaciji.
C) O MBR i VBS:
= Kopiraj / vrati glavni zapis pokretanja (MBR):
Da biste kopirali MBR:
sudo dd if=/dev/hda |pv|dd of=mbr count=1 bs=512
Da biste vratili MBR:
sudo dd if=mbr |pv|dd of=/dev/hda
= Očistite našu MBR i tablicu particija:
sudo dd if=/dev/zero |pv|dd of=/dev/hda bs=512 count=1
= Očistite MBR, ali ne dodirujte tablicu particija (vrlo korisno za brisanje GRUB-a bez gubitka podataka na particijama):
sudo dd if=/dev/zero |pv|dd of=/dev/hda bs=446 count=1
= Kopiranje / vraćanje sektora za podizanje volumena (VBS):
Da biste kopirali VBS:
sudo dd if=/dev/hda |pv|dd of=/home/sector_arranque_hda count=1 bs=512
Da biste vratili VBS:
sudo dd if=/home/sector_arranque_hda |pv|dd of=/dev/hda
D) Ostalo:
= Snimite sliku diska u naš / home direktorij, preskačući pogreške na disku (vrlo korisno za diskove koji umiru):
sudo dd conv=noerror if=/dev/hda |pv|dd of=~/home/imagen_disco_con_errores.iso
= Kreirajte praznu datoteku od 1 Mb:
sudo dd if=/dev/zero |pv|dd of=archivo_nuevo_vacio bs=1024 count=1024
= Stvorite 2Gb datoteku za razmjenu:
sudo dd if=/dev/zero |pv|dd of=/swapspace bs=4k count=2048M
mkswap /swapspace
swapon /swapspace
= Pretvori sva slova u velika slova:
sudo dd if=miarchivo |pv|dd of=miarchivo conv=ucase
Koristite naredbu dd s programom za grafičko okruženje: Gdiskdump, je grafičko okruženje za ovu naredbu dd koje olakšava zadatak klonirati particije ili diskove, brzo i jednostavno. Može se preuzeti sa stranice https://launchpad.net/gdiskdump/ Jednom kada ga otvorimo, uz root dozvole - sudo gdiskdump -, vidimo da je program vrlo jednostavan za upotrebu, jer mu samo moramo reći particiju ili disk da ga kloniraju (Input Format) i njegovo odredište (Output Format).
Skoro da sam dijabetički zloupotrijebio naredbu dd.
usput, koja bi bila razlika sa dd_rescue?
ddrescue se po defaultu ne zaustavlja na greškama čitanja i pokušava na različite načine oporaviti nečitljive informacije.
hahahha Također sam vrlo loše koristio naredbu dd, mnogo je moćnija nego što sam mislio.
Komentiram da vjerujem da je svaki korisnik luka u nekom trenutku koristio
@ sieg84, razlika je u tome što je dd prekinut nekom greškom očitavanja ili uređaja, u ovom slučaju to se neće dogoditi, jer će ga oštećeni blok pročitati određeni broj puta i nastaviti sa sljedećim, također pruža prednost u tome što Možemo ga pokrenuti nekoliko puta na istoj slici i neće početi od početka, već ćemo ga pokušati dovršiti.
Vrijedno je spomenuti da dd_rescue nikada ga nisam koristio.
Ako postoji neki GUI napravljen u qt za KDE koji koristi ovu naredbu? ili moram dati ostavku.?
Gdiskdump je više od GUI-ja za ovu naredbu (temelji se na njoj) i iako ne znam jesu li to učinili u qt-u (mislim da ne), gotovo sigurno vam ide u KDE-u
hvala na pojašnjenju.
Samo sam dd_rescue koristio za kopiranje ISO-a na USB (uglavnom zato što su ga imali u wikiju openSUSE).
dd_rescue tu.iso / dev / sdX
ono što mi se sviđa je to što pokazuje traku napretka:
http://box.jisko.net/i/110db781.png
alfa:
Nedavno sam vidio ovaj isti post objavljen na blogu Hatteras. Vjerovatno je da on to ne shvaća pogrešno, ali ne znam, barem bi iz ljubaznosti bilo dobro pozvati se na to. Takođe pobjeđuje u web pozicioniranju.
Ne želim s tim stvarati dilemu, ali na prvi pogled članak se čini 95% identičnim, osim snimaka zaslona terminala koje ste prilagodili. Čak je spomenuo i svoje izvore.
Zanimljivo priznajem da | pv | nije ga poznavao.
Krel Mislim da je izvor u ubuntu wikiju ili pozdravima u obliku luka.
@krel, stvar s linuxom je sljedeća:
Tijekom svog putovanja po ovom svijetu čitao sam i sakupljao stvari, imam bilježnicu s više od 400 postova koje sam stavio u Ubuntu Mexico, koja je bila zajednica u kojoj sam najviše doprinio u svojim ranim danima, nažalost, stvari se mogu ponoviti ako pregledate veliku količinu objavite na netu, gotovo su istim redoslijedom, stvar je u tome da je većina kraća.
Mogu objaviti još 5 postova u sedmici, a vi možete pronaći druge slične ili iste, razlog? ubuntu ima najviše foruma / blogova na mreži.
Ni u kom slučaju ne mislim da će biti dileme i ako me administratori razmotre izbrisati, to me uopće ne bi vrijeđalo ili smetalo, pridržavam se pravila i onoga što slijedi, među mojim bilješkama 8 da ih nemam u redu), želim nešto dodati kako bi se izbjegla slučajnost.
Saludos
Nikome nije tajna da je najviše samo 10% sadržaja koji se generira na mreži nov. S kojim se ostalih 90 duplicira, obnavlja ili spašava sadržaj, i ne kažem da je ovo manje važno, već naprotiv, to je oblik širenja znanja.
Međutim, tamo gdje se zaustavim je nešto drugo. Kada imate blog ove vrste, postoji lični motiv da pomognete, a možda čak i dobijete priznanje za to. U isto vrijeme siguran sam da se većina onih koji pišu sadržaj o Slobodnom softveru slaže s idejom dijeljenja. Međutim, ne zaboravimo da čak i najplemenitije licence poput BSD-a traže priznanje.
Također, reference su način na koji neke tražilice poput google poboljšavaju pozicioniranje web stranice. Samo kažem, budući da je materijal korišten kao minimalna zahvalnost, pozvao bih se na to djelo.
Mislim da je sjajno što dijelite, ali šta gubite referenciranjem? Zamislite samo da li bi se s drugog bloga s boljim pozicioniranjem od ovog sadržaj ovog duplicirao. desdelinux Bez referenciranja, na kraju bi zakopali ovaj blog.
Hatteras ga je objavio prije 10 dana i ako ga nije izvadio iz vaše bilježnice ili ste Luis Puente, ne mogu objasniti što govorite, gotovo je sve tekstualno. Malo vjerovatno, ali ne i nemoguće.
Ali ništa, takve se stvari događaju. I ne znam, zbog lične etike i zbog suradnje s drugim kolegom, pozvao bih se na njega. To ovisi o vama, mislim da ni Hatteras ovo ne shvaća pogrešno, već upravo suprotno.
Istina je, istinita je kopija ovog posta: http://hatteras.wordpress.com/2013/01/18/algunos-usos-practicos-del-comando-dd/
Hmm ... Napravio sam dd if = file.iso = / media / hard disk ... greškom 😛
bilo koji način za oporavak datoteka s tvrdog diska ???
Možete koristiti Testdisk
Možda mi se prijatelj dogodio sa testdisk-om ili sa specijalizovanom distribucijom uživo za spašavanje podataka. Moja preporuka da napravim sigurnosnu kopiju za sljedeći put, budući da je upotreba te naredbe nešto delikatno u mojim početničkim danima za formatiranje cijelog tvrdog diska, a da to nisam želio, a sada za dobro ponovno pokretanje ...... Nepotrebno je reći, niti je grub počeo.
Može li mi netko reći koju naredbu upotrijebiti za gledanje napretka kopiranja s naredbom dd, mislim na to da vidim traku napretka s% koji je kopirao.
slds
Prijatelju! dodavanje naredbe pv. U ovom istom postu to govori gotovo na početku i objašnjava kako se koristi. Pročitaj ponovo
pomoću ove naredbe:
dd ako = / dev / sdc | bzip2> /media/Elements/iso.gz
Uspio sam napraviti iso sliku diska od 16Gb i spremiti je na disk od 400Gb.
Ali ne znam koja bi bila naredba za vraćanje te slike na originalni disk od 16 GB ili na drugi istog kapaciteta
pitanje
koristite ovu naredbu za
za n u {1..5}; učiniti dd ako = / dev / urandom | pv | dd od = / dev / hda bs = 8b conv = notrunc;
za disk od 2TB
onda ostanem u konzoli tako nekako
>
Da li bih trebao pokrenuti drugu naredbu ili koliko dugo postupak može trajati?
hvala i nastavi
Postoji greška u pismu za ... nedostaje na kraju reda «; gotovo »ostalo« za n u {1..5}; učiniti dd ako = / dev / urandom | pv | dd od = / dev / hda bs = 8b conv = notrunc; gotovo »
vrlo dobar članak ... .. provest ću ga u praksi ... pozdrav prijatelju
Vrlo korisno, puno mi je pomoglo zahvaljujući
Dobar Alf. Hvala na informacijama.
Pitanje. Postoji li način kopiranja samo dijela izvornog diska? Slučaj je da, ako imam disk od 120Gb na kojem se koristi samo 25Gb i želim kopirati na disk od 40Gb, zanimalo bi me samo kopiranje iskorištenog prostora (25Gb), postoji li način s ovom naredbom?
Hvala unaprijed.
Bilo bi vam bolje da koristite rsync, naredbom rsync -av / path / to / origin / path / to / destiny već biste napravili sigurnosnu kopiju svih svojih dozvola s pripadajućim dozvolama.
Mislio sam: "sve vaše datoteke s pripadajućim dozvolama"
Poštovani, zna li neko zašto kada zauzima naredbu dd, ona doseže samo 4.2 GB i pokazuje da je datoteka vrlo velika? To je slika diska od 250 GB i ide na vanjski disk od 1 TB.
sudo dd if = / dev / sda | pv | dd od = / home / fox / backup.iso
Greška u 4Gb vam je daje, jer pokušavate napraviti sigurnosnu kopiju na particiji s fs FAT16
Kakav dobar blog. Vrlo koristan unos. Već sam vidio upotrebu ove naredbe negdje drugdje, ali uopće nisu ništa objasnili. Hvala ti.
Pozdrav, imam mašinu za ubrizgavanje u kojoj je program izgubljen otkako su zamijenili bios stack, nemamo sigurnosnu kopiju, ali imamo drugu istu mašinu, ima samo disketu, serijski i paralelni port, kako mogu napraviti sigurnosnu kopiju ove mašine da ga učitam u drugi, nadam se da mi možete pomoći
Samo želim kopirati particiju bez pokretanja sa LIVE CD-a. Na primjer, imam disk s / dev / sda1, / dev / sda5, / dev / sda6 i želim kopirati na / dev / sda5 s drugog diska / dev / sdb1
naredba je dd ako = / dev / sdb1 od = / dev / sda5 bs = 1M ????
Zdravo, kako si. Takođe živim u Guadalajari.
Vaš članak o naredbi DD je vrlo zanimljiv. Želim testirati neke Linux distribucije, posebno Archlinux, ali nisam uspio koristiti DD naredbu i kopirati Archilinux ISO koji sam već preuzeo na USB stick. Ne znam možete li mi dodati kvadratu da započnem s ovim. Hvala ti, Pedro lobato
Jer kad je iso snimljen naredbom "dd", radi li samo za pokretanje na nekim računarima?
Exp. Imam 2 laptopa i nijedan se ne pokreće iso bilo koje linux distribucije; već upravo suprotno, pokreće se na starom stolnom računaru sa neaktivnim diskom
Najbolje je igrati se na siguran način koristeći unetbootin, a kod dd mi je također ostalo pitanje zašto ponekad to ne radi.
Mislim da to ne ovisi o DD već o ISO. Ista stvar sa Unetbootinom, ne funkcionira dobro sa svim distribucijama.
Ponekad to radi na svim računarima, ali u proces morate dodati mbr i syslinux na usb; ali ovo je dugo i zamorno.
Jednostavan dio o unetbootiranju
Budite oprezni: to za mene nije iso ili dd, to je način na koji to snimate.
Sumnjam da li koristim ovu naredbu:
sudo dd ako = / dev / nula = / dev / diskdrive
Umjesto toga, formatiranje na niskom nivou je isto ili traje duže od ovog:
sudo dd ako = / dev / nula od = / dev / diskdrive bs = 1M ..
Može li se naredba dd koristiti za brisanje određene datoteke?
na primjer,
dd if = / dev / urandom of = / home / myfile delete
sa bs = 1M postaje brže
I ako ću napraviti tačnu kopiju s jednog diska na drugi, sa svim njegovim particijama (swap, sda ...) i oba diska ista, ali jedan je na računaru, a drugi na NAS-u preko mreže ????
hvala
Komentar, koristim ga sa status = progress na kraju i ne treba mi pv, tako da debian radi jako dobro da vidim napredak.
I drugo, postoji li način da se dobiju samo podaci, a ne cijela jedinica, jer ako je riječ o disku od 2 TB i koristim samo 100 GB, potreban mi je sav taj prostor. Postoji li način da napravite sigurnosnu kopiju tih 100 GB? A kad ga prebacim na drugi medij, to bi mogao biti manji disk, možda jedan od 500?
Upomoc !!!
Izvršite naredbu
dd if = cbpp-9.0-amd64-20170621.iso od = / dev / sdb
sve dobro ... ali sada želim koristiti usb kao jedinicu za pohranu i ...
USB nije montiran, čak se ne pojavljuje ni u GPartedu.
Zna li neko šta mogu učiniti?
PS: koji bi bio najbolji program za oporavak podataka s diskova i CD DVD-a….
morate ponovo particionirati test sa fdisk-om