Dd kopija. Stvaranje USB flash pogona za pokretanje sustava za instalaciju sustava Windows pomoću programa Rufus. Prijenos datoteke slike diska na drugo računalo

30.03.2020 Sigurnost

dd je jednostavan uslužni program koji je uključen u većinu operativnih sustava sličnih Unixu - Linux, FreeBSD, Solaris itd.
Njegova je svrha čitanje podataka s jednog uređaja ili datoteke i pisanje na drugi.

dd može se učinkovito koristiti za stvaranje slike tvrdi disk, bez komercijalnih uslužnih programa kao što su Acronis True Image ili Norton Ghost.

Pretpostavimo da imamo dva diska:

  • /dev/sda - disk čija slika treba biti kreirana;
  • /dev/sdb - disk na koji će biti zapisana slika.

Ako je potrebno, trebate zamijeniti vlastite vrijednosti.

Prvi korak je dizanje s bilo kojeg dostupnog Live-CD diska koji ima uslužni program dd i ulazak naredbeni redak kao superkorisnik. Stvorite točku montiranja za sigurnosnu kopiju.

mkdir /mnt/sigurnosna kopija

Montiramo HDD na koju želite spremiti sliku.

Stvaranje slike tvrdog diska

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M conv=sync,no error

  • if=/dev/sda - kopirajte cijeli tvrdi disk sda;
  • of=/mnt/backup/sda.img - kopiraj u /mnt/backup/sda.img;
  • bs=8M — postavite veličinu predmemorije tvrdog diska kako biste ubrzali postupak kopiranja (inače će se podaci resetirati u malim dijelovima od 512 bajtova);
  • conv=sync,noerror - ukazujemo dd-u na potrebu bit-za-bit kopiranja i ignoriranja pogrešaka čitanja.

Za smanjenje veličine slika teškog disk se može komprimirati bilo kojim arhiverom.

dd if=/dev/sda bs=8M conv=sync,no error | gzip -c > /mnt/backup/sda.img

Oporavak slike tvrdog diska

Za vraćanje slike tvrdog diska morate slijediti postupak obrnut od postupka za stvaranje ove slike.

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,no error

Kada koristite kompresiju, morate paralelno raspakirati sliku.

gunzip -c /mnt/backup/sda.img | dd of=/dev/sda conv=sync,no error bs=8M

Migracija sustava na drugi tvrdi disk

Za migraciju cijelog sustava na drugi tvrdi disk morate postaviti lokaciju novog pogona kao odredište.

dd if=/dev/sda of=/dev/sdb bs=8M conv=sync,no error

Zatim, ako je potrebno, instalirajte boot from ovako tesko disk. Pod uvjetom da novi tvrdi disk je veći od starog, na njemu će biti nedodijeljeno područje. Treba ga označiti i formatirati prema postojećim zahtjevima.

Kopiraj statistiku u dd

Glavni nedostatak dd je nedostatak vizualni prikaz statistika postupka kopiranja. Međutim, ovaj se nedostatak može lako zaobići. Sve što trebate učiniti je spojiti se na drugi terminal.

Odredite broj procesa pod kojim se izvodi dd.

Šalji povremeno ovaj proces naredba kill -USR1 broj_procesa_dd.

gledati -n 5 ubiti -USR1 broj_procesa_dd

  • watch -n 5 - izvršavanje naredbe svakih 5 sekundi;
  • kill -USR1 broj_procesa_dd — prikaži statistiku kopiranja.

Nedostaci korištenja dd-a za stvaranje slika diska

Sve ima prednosti i mane. dd je besplatan i vrlo fleksibilan alat, ali može napraviti samo punu kopiju sveska. Posebni programi mogu kopirati samo podatke koji su pohranjeni na disku.

Stoga će volumen slike diska stvorene pomoću dd biti jednak volumenu samog diska - bez obzira na to koliko podataka ima na disku.

Za izradu slike tvrdog diska nije potrebno koristiti uslužne programe poput Acronis True Image ili Norton Ghost; jednostavan uslužni program dd, koji je uključen u većinu operativnih sustava sličnih Unixu (Linux, FreeBSD, Solaris itd.), Članak govori o jednostavnoj metodi stvaranja sigurnosne kopije slike tvrdog diska pomoću dd. Prvo što trebate učiniti je pripremiti se za sigurnosna kopija. U ovom članku uvodimo sljedeće oznake:

  • /dev/sda - disk čija slika treba biti kreirana;
  • /dev/sdb - disk na koji će biti zapisana slika.

Ako je potrebno, trebate zamijeniti vlastite vrijednosti.

Priprema za stvaranje slike tvrdog diska

Prvi korak je dizanje s bilo kojeg dostupnog Live-CD diska koji ima uslužni program dd i ulazak u naredbeni redak kao superuser. Stvorite točku montiranja za sigurnosnu kopiju.

mkdir /mnt/sigurnosna kopija

Montiramo tvrdi disk na koji želite spremiti sliku.

Stvaranje slike tvrdog diska

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M conv=sync,no error

  • if=/dev/sda - kopirajte cijeli tvrdi disk sda;
  • of=/mnt/backup/sda.img - kopiraj u /mnt/backup/sda.img;
  • bs=8M - postavite veličinu predmemorije tvrdog diska kako biste ubrzali postupak kopiranja (inače će se podaci resetirati u malim dijelovima od 512 bajtova);
  • conv=sync,noerror - ukazujemo dd-u na potrebu bit-za-bit kopiranja i ignoriranja pogrešaka čitanja.

Da biste smanjili veličinu slike tvrdog diska, možete je komprimirati bilo kojim programom za arhiviranje.

dd if=/dev/sda bs=8M conv=sync,no error | gzip -c > /mnt/backup/sda.img

Oporavak slike tvrdog diska

Za vraćanje slike tvrdog diska morate slijediti postupak obrnut od postupka za stvaranje ove slike.

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,no error

Kada koristite kompresiju, morate paralelno raspakirati sliku.

gunzip -c /mnt/backup/sda.img | dd of=/dev/sda conv=sync,no error bs=8M

Migracija sustava na drugi tvrdi disk

Za migraciju cijelog sustava na drugi tvrdi disk morate postaviti lokaciju novog pogona kao odredište.

dd if=/dev/sda of=/dev/sdb bs=8M conv=sync,no error

Zatim, ako je potrebno, instalirajte pokretanje s ovog tvrdog diska. Pod uvjetom da je novi tvrdi disk veći od starog, na njemu će biti nedodijeljeno područje. Treba ga označiti i formatirati prema postojećim zahtjevima.

Kopiraj statistiku u dd

Glavni nedostatak dd je nedostatak vizualnog prikaza statistike postupka kopiranja. Međutim, ovaj se nedostatak može lako zaobići. Sve što trebate učiniti je spojiti se na drugi terminal.

Odredite broj procesa pod kojim se izvodi dd.

Povremeno pošaljite naredbu kill -USR1 process_number_dd ovom procesu.

gledati -n 5 ubiti -USR1 broj_procesa_dd

  • watch -n 5 - izvršavanje naredbe svakih 5 sekundi;
  • kill -USR1 broj_procesa_dd - prikaži statistiku kopiranja.

Ovo je konfigurabilna postavka koja određuje vrstu i primjenu kreiranog USB pogona za podizanje sustava.

U Rufusu su dostupna četiri načina preuzimanja, od kojih se jedan mora odabrati s padajućeg popisa. Na popisu su označeni kao MS-DOS, FreeDOS, ISO slika, DD slika. Prva dva dostupna su samo za računala i uređaje s BIOS-om - moraju se odabrati s padajućeg popisa u retku "Particijska shema i vrsta sučelja sustava".

Ova metoda učitavanja u Rufusu stvara USB flash pogon za podizanje sustava s operativnim sustavom MS-DOS. Ovo je diskovni operativni sustav koji može biti potreban u sljedećim slučajevima:

  • za ažuriranje i flash BIOS-a, sigurnije je izvršiti ovaj postupak iz DOS-a;
  • za dijagnosticiranje i testiranje računala ili prijenosnog računala, budući da većina uslužnih programa za duboku dijagnostiku RAM-a ili tvrdog diska radi samo pod DOS-om;
  • ako trebate pristupiti datotekama na vašem tvrdom disku kada nedostaje ili je oštećen operacijski sustav;
  • kada koristite stare konzolne programe (npr. za programiranje periferni uređaji), koji možda neće ispravno raditi u sustavu Windows;
  • ako trebate pristup datotečnom sustavu tvrdi diskovi računalo ili prijenosno računalo na nižoj razini.

FreeDOS je operativni sustav sličan MS-DOS-u, koji se besplatno distribuira pod besplatnom licencom i dostupan je u Rufusu. Također vam omogućuje ažuriranje BIOS-a, popravak tvrdog diska pomoću posebni programi, test radna memorija(RAM) i tako dalje. Radnje se izvode pomoću posebnih naredbi iz naredbenog retka.

Treba odabrati ISO metodu pokretanja za prijenos gotove ISO slike diska za pokretanje na USB pogon. Prvo treba izraditi ISO sliku pomoću programa namijenjenih za to. Ova metoda se može koristiti u operacijskim dvoranama Windows sustavi, Linux i drugi. Primljeno disk za pokretanje tada se može koristiti za oporavak od katastrofe alati za dijagnostiku operativnog sustava i tvrdog diska.

Metoda za učitavanje DD slike u Rufusu

Koristi se za stvaranje disketa za podizanje sustava iz slika stvorenih u operacijskoj dvorani Linux sustav DD program. Temeljna razlika između ove metode učitavanja je u tome što DD program u biti ne stvara sliku, već čini bitnu kopiju zadanog imenika.

Program Rufus nije nešto jedinstveno na području izrade medija za podizanje sustava, njegova glavna prednost je jednostavnost korištenja.

Tim dd dizajniran je za korištenje istoimenog uslužnog programa, dizajniranog za kopiranje i pretvorbu podataka na niskoj razini. Njegovo ime je skraćenica od “data duplicator” ili “data duplicator”. Ovaj uslužni program prvenstveno se koristi za snimanje slika instalacijskih diskova distribucija Linuxa na flash diskove i stvaranje slika optički mediji, međutim, raspon njegovih funkcija nije ograničen na navedene operacije. Na primjer, dd može se koristiti za jednostavno kopiranje datoteke ili mijenjanje velikih i malih slova znakova tekstualni nizovi. Općenito, korisnost o kojoj je riječ donekle je jedinstvena jer uključuje upotrebu vlastiti format prolazni parametri.

Standardna sintaksa naredbe je sljedeća:

$dd ako=<имя исходного файла>od=<имя целевого файла>[opcije]

Lako je primijetiti da se format snimanja koristi za prosljeđivanje parametara uslužnom programu <имя параметра>=<значение параметра> . Uslužni program može čitati izvorne podatke sa standardnog ulaza i ispisati rezultirajuće podatke koristeći standardni izlaz ako se parametri ne koriste ako I od, ali u velikoj većini slučajeva ti su parametri nužni za određivanje naziva datoteka s odgovarajućim podacima. Uslužni program čita i zapisuje podatke u blokovima, a veličina bloka se može promijeniti pomoću parametra bs(Blokovi od 512 KB koriste se prema zadanim postavkama). Postoje odvojeni parametri za postavljanje veličine blokova za čitanje i za pisanje, naime, ibs I prim. Broj čitanih blokova može se ograničiti pomoću parametra računati. Parametar se može koristiti za preskakanje određenog broja blokova u izvornoj datoteci. preskočiti, ciljna datoteka - parametar tražiti. Parametar se može koristiti za određivanje oznaka za čitanje i pisanje odvojenih zarezima iflag

  • dodati- aktivacija načina dodavanja podataka u ciljnu datoteku.
  • direktno- način obrade podataka zaobilazeći predmemoriju datotečni sustavi(povećava brzinu).
  • dsync- način snimanja podataka sa sinkronizacijom (povećava pouzdanost).
  • sinkronizacija- način snimanja podataka i metapodataka sa sinkronizacijom (povećava pouzdanost).
  • puni blok- čitanje samo kompletnih blokova.
  • neblokirati- aktivacija neblokirajućeg I/O moda (povećava brzinu).
  • noatime- onemogućavanje mehanizma za ažuriranje vremenskih oznaka elementa datotečnog sustava (povećava brzinu).
  • nofollow- odbijanje praćenja simboličkih poveznica.

Konačno, parametar se može koristiti za određivanje oznaka konverzije odvojenih zarezima konv. Najčešće korištene zastavice su:

  • lcase- pretvaranje znakova niza u ASCII kodiranju u mala slova.
  • ucase- pretvaranje string znakova u ASCII kodiranju u velika slova.
  • nocreat- prikazati poruku o pogrešci ako ciljna datoteka nedostaje.
  • isključujući- prikazati poruku o pogrešci ako ciljna datoteka postoji.
  • notrunc- odbijanje skraćivanja ciljne datoteke.
  • obrisak- mijenjanje mjesta svaka dva bajta iz izvorne datoteke.
  • nema pogreške- nastavak rada čak i ako se pojave greške.
  • fdatasync- aktivacija načina pisanja podataka u ciljnu datoteku prije dovršetka uslužnog programa.
  • fsync- aktivacija načina pisanja podataka i metapodataka u ciljnu datoteku prije dovršetka uslužnog programa.

Primjeri korištenja

Sigurnosno kopiranje podataka diska

Pretpostavimo da koristimo tvrdi disk predstavljen datotekom uređaja /dev/sda, a mi moramo stvoriti sigurnosnu kopiju svih podataka koji se nalaze na njemu sektor po sektor, spremajući ih u datoteku na particiji prijenosnog USB pogona koju predstavlja datoteka uređaja /dev/sdb1 i montiran u imenik /mnt/sdb1. Ove datoteke sigurnosne kopije obično se nazivaju dumps ili slike diska. Naša datoteka slike diska bit će imenovana sigurnosna kopija.img. Ovo je naredba s kojom ga možete kreirati:

# dd if=/dev/sda of=/mnt/sdb1/backup.img

U ovoj naredbi, pomoću parametra ako put do izvorna datoteka, i pomoću parametra od- do cilja.

Vraćanje podataka iz sigurnosne kopije

Za vraćanje podataka iz stvorene sigurnosne kopije, morate pokrenuti sustav iz instalacijski disk distribuciju i izvršiti obrnutu naredbu.

# dd if=/mnt/sdb1/backup1.img of=/dev/sda

Upozorenje: izvršavanje ove naredbe prebrisat će cijeli sadržaj navedenog tvrdog diska, stoga biste takve naredbe trebali tretirati s posebnom pažnjom.

Kloniranje tvrdog diska

Prije kloniranja tvrdog diska, morate osigurati da imate tvrdi disk iste veličine kao izvorni. Ista se operacija može izvesti u slučaju flash pogona s USB sučeljem sličnih veličina. Pretpostavimo da je izvorni flash pogon predstavljen datotekom uređaja /dev/sdb, a cilj - datoteka uređaja /dev/sdc. U tom slučaju možete klonirati izvorni pogon pomoću sljedeće naredbe:

# dd if=/dev/sdb of=/dev/sdc

Čak i ako ciljni pogon ima veći kapacitet, imat ćete pristup samo veličini izvornog flash pogona pohranjenog na razini datotečnog sustava.

Prijenos datoteke slike diska na drugo računalo

Za prijenos datoteke slike diska preko mreže na drugo računalo pod nazivom cilj može se koristiti sljedeća naredba:

# dd if=/dev/sdb | ssh root@target "(cat >backup.img)"

Sažimanje datoteke slike diska

Da bi sigurnosna kopija particija diska zauzima manje prostora, možete je komprimirati pomoću kompresora kao što je bzip2 :

# dd if=/dev/sdb | bzip2 sigurnosna kopija.img.bz2

Stvaranje ISO slike optičkog diska

Za stvaranje slike optički disk CD, DVD ili BD samo treba pročitati svoj sadržaj blok po blok i spremiti taj sadržaj u datoteku:

# dd if=/dev/sr0 of=image.iso bs=2048

Spremanje datoteke s oštećenog medija ili stvaranje slike takvog medija

Ako vaš omiljeni film ili glazbeni zapis više nije čitljiv zbog oštećenja medija, možete ga pokušati kopirati pomoću uslužnog programa dd, ignorirajući loše blokove:

# dd if=movie.avi of=/home/alex/movie.avi conv=no error,sync

Također možete stvoriti slikovnu datoteku oštećenog medija i pokušati izdvojiti datoteke iz nje:

# dd if=/dev/sdb of=/home/alex/movie.iso bs=2048 conv=no error,sync

Snimanje slike instalacijskog diska na USB flash pogon

Za ugradnju Linux distribucija s USB flash pogona, morate napisati sliku ISO instalacijskog diska na ovaj flash pogon. U tu svrhu može se koristiti slična naredba:

# dd if=/home/alex/Fedora-Workstation-Live-x86_64-26_Alpha-1.7.iso of=/dev/sdc

Važno je zapamtiti da čak i ako postoje particije na flash pogonu, ne biste trebali navesti put do datoteke uređaja jedne od particija, već put do datoteke uređaja samog pogona, u našem slučaju to je /dev/sdc.

Analiza sadržaja tvrdog diska

Korisnost dd izvrstan je alat za istraživanje datotečnih sustava. Za analizu sadržaja tvrdog diska s izlazom podataka iz pojedinačnih blokova, u našem slučaju, bloka 1001 na particiji koju predstavlja datoteka uređaja /dev/sdc1, samo upotrijebite sljedeću naredbu:

# dd if=/dev/sdc1 count=1 skip=1000

Kako biste vidjeli prvih 40 bajtova vašeg tvrdog diska u heksadecimalnom zapisu, koristite naredbu:

# dd if=/dev/sda bs=1 broj=40 | hexdump -C

U ovom slučaju, pomoću parametra bs postavlja veličinu bloka diska.

Testiranje performansi diska

Za testiranje performansi pogona diska predstavljenog, na primjer, datotekom uređaja /dev/sda Kod čitanja blokova različitih veličina može se koristiti slična naredba:


1000000+0 zapisa u
Izašlo 1000000+0 zapisa

# dd if=/dev/sda of=/dev/null bs=4096 broj=1000000
1000000+0 zapisa u
Izašlo 1000000+0 zapisa
4096000000 bajtova (4,1 GB) kopirano, 29,8747 s, 137 MB/s

Zahvaljujući mehanizmu predmemoriranja datotečnog sustava, možete naići na mistično ubrzanje operacija čitanja koje ne bi trebalo biti iznenađujuće:

# dd if=/dev/sda of=/dev/null bs=512 broj=1000000
1000000+0 zapisa u
Izašlo 1000000+0 zapisa
512000000 bajtova (512 MB) kopirano, 4,25186 s, 120 MB/s

# dd if=/dev/sda of=/dev/null bs=512 broj=1000000
1000000+0 zapisa u
Izašlo 1000000+0 zapisa
512000000 bajtova (512 MB) kopirano, 0,417317 s, 1,2 GB/s

Da biste dobili točne rezultate testa, preporučuje se potpuno zaobići mehanizam predmemoriranja datotečnog sustava korištenjem I/O načina bez predmemoriranja:

# dd if=/dev/sda of=/dev/null bs=512 broj=100000 iflag=izravno
100000+0 zapisa u
Izašlo 100000+0 zapisa
51200000 bajtova (51 MB) kopirano, 5,01053 s, 10,2 MB/s

Kopiranje datoteka

Da, korisnost ddčak se može koristiti za redovito kopiranje datoteka. Naravno, u tu svrhu bolje je koristiti uslužni program posebno dizajniran za tu svrhu, naime, cp. U svakom slučaju, datoteku možete kopirati pomoću slične naredbe:

$ dd if=/home/alex/test.txt /home/alex/test_copy.txt