Izmantojot komandu dd

Dd (Dataset Definition) komanda ir vienkāršs, noderīgs un pārsteidzoši viegli lietojams rīks; Izmantojot šo rīku, jūs varat darīt to pašu ierīcēs: diskos un nodalījumos, tāpat kā komerciālajās programmās, piemēram, Norton Ghost, Windows vai bezmaksas programmās, piemēram, CloneZilla, Linux, tikai ar īsu komandrindu.

Pamata sintakse:

Pamata sintakse komandas dd izmantošanai būtu šāda:

sudo dd if=origen of=destino

Kur ja nozīmē "ievades fails = ievades fails“, Tas ir, ko vēlaties kopēt un nozīmē "izejas fails = izvades fails“, Tas ir, mērķa fails (kur dati tiks kopēti);izcelsme un Galamērķis var būt ierīces (CD vai DVD lasītājs, cietais disks, diskete, pendrive, nodalījums utt.), Dublējuma fails vai diska attēls utt., Bet ne mapes vai apakšmapes.

Lai vienmērīgi izmantotu šo komandu, vispirms vienmēr ir jābūt skaidram par to, kādus nodalījumus / cietos diskus sauc Linux (piemēram, / dev / sda1; / dev izriet no device = device, angļu valodā). lai uzzinātu avota un mērķa disku / nodalījumu, kaut ko mēs viegli varam uzzināt, izmantojot komandu sudo fdisk -lo ar kādu grafisko nodalījumu programmu, piemēram, gparted. Visu informāciju par komandu dd var meklēt komandā man dd un info dd,

Šī komanda ir jāizmanto piesardzīgi un vienmēr pārbaudot disku / nodalījumu secību un nosaukumu, jo tas pats, kas klons tiek klase, tas tiek izdzēsts.

Sintakse ar komandu pv: Izmantojot komandu dd ar iepriekšējo sintaksi, ir neliels trūkums, jo tā ir ļoti rezervēta komanda - tā nedod informāciju - jo, izpildot, termināla uzvedne paliek nekustīga, tāpēc mēs nezinām, ko ir tas, kas notiek, un cik daudz laika ir atlicis, līdz tas beidz izpildīt. Šīs nelielās neērtības var atrisināt, pievienojot komandu pv, (*) - kas darbojas kā termināla caurule, kas mēra caur to esošos datus - komandas dd sintaksei, lai tagad sintakse būtu:

dd if=origen |pv|dd of=destino

Rezultātā mēs dabūtu terminālā zināmu progresa joslu, informāciju par pārsūtītajiem baitiem, tā darbības laiku un pārsūtīšanas ātrumu reālajā laikā.

(alf) - (~) └──┤ dd if = / devmmcblk0p1 | pv | dd no = / dev / mmcblk0p2 1,630 0 GB 21:30:1,12 [XNUMX MB / s] [

Turklāt, kad esat pabeidzis, tas parāda mums statistiku par pārsūtīšanas ātrumu, kopējo pārsūtīto baitu skaitu un kopējo laiku, kas vajadzīgs visu datu pārsūtīšanai.

(alf) - (~) └──┤ dd if = / devmmcblk0p1 | pv | dd no = / dev / mmcblk0p2 10530816 + 0 lasāmie ieraksti <=> 10530816 + 0 ierakstītie ieraksti nokopēti 5391777792 baiti (5.4 GB), 3873,48 s, 1,4 MB / s 5,02GB 1:04:33 [1,33MB / s] [<=> 10530816 + 0 nolasītie ieraksti <=> 10530816 + 0 rakstītie ieraksti nokopēti 5391777792 baiti (5.4GB), 3873,48, 1,4 s, XNUMX MB / s (alf) - (~) └──┤

(*) Pirms jebkuras komandrindas izpildīšanas ar šo otro sintaksi pārbaudiet, vai sistēmā ir instalēta pv pakotne, vai instalējiet to, ja mums tā nav: abas ar Synaptic.

Apskatīsim dažus šīs komandas praktiskus piemērus un iespējas (tās versijā ar triku, kas iepriekš tika izskaidrots ar komandu pv):

A) Par cietajiem diskiem un nodalījumiem:

= Klonēt cieto disku:

Ar to mēs klonētu hda disku hdb. (IDE diski):

sudo dd if=/dev/hda |pv|dd of=/dev/hdb bs=1M

Ar to mēs klonētu SDA disku SDB. (SATA diski):

sudo dd if=/dev/sda |pv|dd of=/dev/sdb bs=1M

Izmantojot opciju bs = 1M, tiek panākts, ka gan lasīšana, gan rakstīšana tiek veikta 1 megabaitu blokos (mazāk, tas būtu lēnāk, bet drošāk, un ar vairāk mēs riskējam zaudēt datus).

Paturiet prātā, ka šādā veidā disks tiek ierakstīts "tāds, kāds tas ir", MBR, nodalījuma tabula, tukša vieta utt., Tāpēc jūs varat ierakstīt tikai tāda paša vai lielāka izmēra diskā.

= Galamērķa diskā (hdb) ierakstiet tikai avota diska pirmo nodalījumu (hda1):

sudo dd if=/dev/hda1 |pv|dd of=/dev/hdb bs=1M

= Visu disku (hda) ierakstiet galamērķa diska pirmajā nodalījumā (hdb1):

sudo dd if=/dev/hda |pv|dd of=/dev/hdb1 bs=1M

= Izveidojiet attēlu - var būt bin vai iso - no cietā diska (hda), direktorijā / home:

sudo dd if=/dev/hda |pv|dd of=/home/hda.bin

= Pilnībā izdzēsiet informāciju diskā: lai to izdarītu, piecas reizes aizpildiet disku ar nejaušām rakstzīmēm. Diskā nebūs informācijas pēdas:

for n in {1..5}; do dd if=/dev/urandom |pv|dd of=/dev/hda bs=8b conv=notrunc;

= Dzēsiet jebkuru nodalījumu un visu disku no jebkuras ierīces:

sudo dd if=/dev/zero |pv|dd of=/dev/sdx (Pilna diska dzēšana)

sudo dd if=/dev/zero |pv|dd of=/dev/sdxa (Diska nodalījuma dzēšana)

kur: x ir dzēšamais disks, dzēšamais nodalījums

Šī darbība ir ļoti noderīga, lai pilnībā izdzēstu jebkuru nodalījumu, turklāt datus, kas tiks izdzēsti, nevar atgūt, tāpēc tā ir zema līmeņa un ļoti droša dzēšana, kas ir ļoti noderīga, piemēram, kad pendrives inficējas ar vīrusiem ar mūsu dārgie logi.

B) CD / DVD

= Izveidojiet / piestipriniet .iso attēlu no kompaktdiska (vai DVD)

Lai izveidotu .iso attēlu kompaktdiskā / home direktorijā:

sudo dd if=/dev/cdrom |pv|dd of=/home/imagendeCD.iso

Lai uzstādītu .iso attēlu no kompaktdiska:

sudo mount -o loop imagedeCD.iso /mnt/home

= Atkopt nokasītu DVD (Tas neatkopj visu DVD, šajā gadījumā tikai lasāmos sektorus). Tas ir piemērots arī bojātiem cietajiem diskiem:

sudo dd if=/dev/cdrom |pv|dd of=/home/dvd_recuperado.iso conv=noerror,sync

Opcija Noerror tiek izmantota, lai izvairītos no lasīšanas kļūdām jebkurā situācijā.

C) Par MBR un VBS:

= Kopēt / atjaunot galveno sāknēšanas ierakstu (MBR):

Lai kopētu MBR:

sudo dd if=/dev/hda |pv|dd of=mbr count=1 bs=512

Lai atjaunotu MBR:

sudo dd if=mbr |pv|dd of=/dev/hda

= Notīriet mūsu MBR un nodalījumu tabulu:

sudo dd if=/dev/zero |pv|dd of=/dev/hda bs=512 count=1

= Notīra MBR, bet nepieskaras nodalījuma tabulai (ļoti noderīgi, lai izdzēstu GRUB, nezaudējot datus par nodalījumiem):

sudo dd if=/dev/zero |pv|dd of=/dev/hda bs=446 count=1

= Kopēt / atjaunot sējuma sāknēšanas sektoru (VBS):

Lai kopētu VBS:

sudo dd if=/dev/hda |pv|dd of=/home/sector_arranque_hda count=1 bs=512

Lai atjaunotu VBS:

sudo dd if=/home/sector_arranque_hda |pv|dd of=/dev/hda

D) Citi:

= Ierakstiet diska attēlu mūsu / mājas direktorijā, izlaižot diska kļūdas (ļoti noderīgi mirstošajiem diskiem):

sudo dd conv=noerror if=/dev/hda |pv|dd of=~/home/imagen_disco_con_errores.iso

= Izveidojiet tukšu 1 Mb failu:

sudo dd if=/dev/zero |pv|dd of=archivo_nuevo_vacio bs=1024 count=1024

= Izveidojiet 2Gb mijmaiņas failu:

sudo dd if=/dev/zero |pv|dd of=/swapspace bs=4k count=2048M
mkswap /swapspace
swapon /swapspace

= Pārvērst visus burtus lielajiem burtiem:

sudo dd if=miarchivo |pv|dd of=miarchivo conv=ucase

Izmantojot komandu dd ar grafiskās vides programmu: Gdiskdump ir grafiska vide šai komandai dd, kas atvieglo klonu starpsienas vai diskus, ātri un viegli. To var lejupielādēt no lapas https://launchpad.net/gdiskdump/ Kad mēs to esam atvēruši ar root atļaujām - sudo gdiskdump -, mēs redzam, ka programmu ir ļoti viegli izmantot, jo mums ir jāpasaka tikai klonēšanai paredzētais nodalījums vai disks (ievades formāts) un tā galamērķis (izvades formāts).


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   84 teica

    Es gandrīz kļuvu diabēta slimnieks ar nepareizu komandas dd izmantošanu.
    starp citu, kāda būtu atšķirība ar dd_rescue?

    1.    EVER teica

      Pēc noklusējuma ddrescue neapstājas ar lasīšanas kļūdām un ar dažādiem līdzekļiem mēģina atgūt neizlasāmu informāciju.

    2.    Šeko teica

      hahahha es arī ļoti slikti izmantoju komandu dd, tā ir daudz jaudīgāka, nekā es domāju.

  2.   87 teica

    Es komentēju, ka es uzskatu, ka katrs arkas lietotājs kādā brīdī to izmantoja

  3.   Alf teica

    @ sieg84, atšķirība ir tāda, ka dd tika pārtraukts ar kādu lasīšanas vai ierīces kļūdu, šajā gadījumā tas nenotiks, jo bojātais bloks to lasīs noteiktu skaitu reižu un turpinās ar nākamo, tas arī sniedz priekšrocību, ka Mēs to varam palaist vairākas reizes ar vienu un to pašu attēlu, un tas netiks sākts no nulles, bet mēģinās to pabeigt.

    Ir vērts pieminēt, ka dd_rescue es to nekad neesmu izmantojis.

    1.    merlin debianite teica

      Ja KDE ir izveidots kāds GUI, kas ir izveidots qt, kas izmanto šo komandu? vai man ir jāatkāpjas.?

      1.    Jūlijs teica

        Gdiskdump ir vairāk nekā GUI šai komandai (tas ir balstīts uz to), un, lai arī es nezinu, vai viņi to darīja qt (es domāju, ka nē), tas gandrīz noteikti darbojas jums KDE

    2.    84 teica

      paldies par paskaidrojumu.
      Es tikai izmantoju dd_rescue, lai kopētu ISO uz USB (galvenokārt tāpēc, ka OpenSUSE wiki viņiem tas bija).
      dd_rescue tu.iso / dev / sdX
      man patīk tas, ka tajā ir redzama progresa josla:
      http://box.jisko.net/i/110db781.png

  4.   krels teica

    Alfs:
    Nesen es redzēju šo pašu ierakstu, kas ievietots Hatteras emuārā. Visticamāk, ka viņš to neizmanto nepareizi, bet es nezinu, vismaz kā pieklājīgi būtu labi uz to atsaukties. Tātad arī viņš uzvar tīmekļa pozicionēšanā.

    Es nevēlos ar to radīt dilemmu, bet no pirmā acu uzmetiena raksts šķiet 95% identisks, izņemot jūsu pielāgotos termināļa ekrānuzņēmumus. Viņš pat pieminēja savus avotus.

  5.   merlin debianite teica

    Interesanti es atzīstu, ka | pv | viņu nepazina.

    Krel Es domāju, ka avots ir ubuntu wiki vai arkas apsveikumos.

  6.   Alf teica

    @krel, Linux lieta ir šāda:

    Visā ceļojumā šajā pasaulē esmu lasījis un apkopojis lietas, man ir piezīmju grāmatiņa ar vairāk nekā 400 ziņām, kuras es ievietoju Ubuntu Mexico, kas bija kopiena, kurā es pirmajos laikos ieguldīju visvairāk, diemžēl lietas var atkārtot, ja pārskatāt lielo summu no tīklā ievietotajiem ierakstiem tie ir gandrīz tādā pašā secībā, ka lielākā daļa ir īsāki.

    Nedēļas laikā es varu publicēt vēl 5 ziņas, un jūs varat atrast citus līdzīgus vai tādus pašus, iemesls? Ubuntu tīklā ir visvairāk forumu / emuāru.

    Nekādā gadījumā nedomāju, ka būs kāda dilemma, un, ja administratori apsver iespēju to dzēst, tas mani nemaz neaizvainotu un neuztrauktu, es ievēroju noteikumus un sekojošo, starp manām 8. piezīmēm, ka man to nav kārtībā), es vēlos kaut ko pievienot lai izvairītos no nejaušības.

    Sveicieni

    1.    krels teica

      Nevienam nav noslēpums, ka ne vairāk kā 10% no tīmeklī radītā satura ir jauns. Ar kuru pārējie 90 tiek dublēts, atjaunots vai izglābts saturs, un es nesaku, ka tas ir mazāk svarīgi, gluži pretēji, tas ir zināšanu izplatīšanas veids.

      Tomēr tas, kur es apstājos, ir kaut kas cits. Ja jums ir šāda veida emuārs, ir personiska motivācija palīdzēt un, iespējams, pat saņemt atzinību par to. Tajā pašā laikā esmu pārliecināts, ka lielākā daļa no tiem, kas raksta saturu par brīvo programmatūru, piekrīt koplietošanas idejai. Tomēr neaizmirsīsim, ka pat tādas cēlākās licences kā BSD prasa atzīšanu.

      Atsauces ir veids, kā dažas meklētājprogrammas, piemēram, google, uzlabo vietnes pozicionēšanu. Es tikai saku, tā kā materiāls tika izmantots kā minimāla pateicība, es atsaucos uz šo darbu.

      Manuprāt, ir lieliski, ka jūs dalāties, bet ko jūs zaudējat, izdarot atsauci? Iedomājieties, vai no cita emuāra ar labāku izvietojumu nekā šis, šī emuāra saturs tiktu dublēts. desdelinux Neatsaucoties uz to, galu galā viņi apglabātu šo emuāru.

      Haterss to publicēja pirms 10 dienām, un, ja vien viņš to nav izņēmis no jūsu piezīmju grāmatiņas vai jūs neesat Luiss Puente, es nevaru izskaidrot to, ko jūs man sakāt, tas ir tas, ka gandrīz viss ir tekstuāls. Maz ticams, bet ne neiespējams.

      Bet nekas, ka šāda veida lietas notiek. Un es nezinu, personiskās ētikas un sadarbības labad ar citu kolēģi es gribētu atsaukties uz viņu. Tas ir atkarīgs no jums, es nedomāju, ka arī Haterass to izvēlas nepareizi, tieši pretēji.

      1.    MSX teica

        Tā ir taisnība, tā ir īsta šīs ziņas kopija: http://hatteras.wordpress.com/2013/01/18/algunos-usos-practicos-del-comando-dd/

  7.   Iepriekšējais teica

    Hmm ... Es kļūdas pēc izveidoju dd if = file.iso = / media / cietais disks ...
    kāds veids, kā atgūt failus no cietā diska ???

    1.    dzīvīgs teica

      Varat izmantot Testdisk

    2.    merlin debianite teica

      Draugs ir noticis ar mani, iespējams, ar testdisku vai ar specializētu tiešraidi, lai glābtu datus. Mans ieteikums veikt rezerves kopēšanu nākamajai reizei, jo šīs komandas izmantošana manos debitentu laikos ir kaut kas delikāts, lai formatētu visu cieto disku, nevēloties un tagad labi pārstartēt ... Lieki piebilst, ka ne grub sākās.

  8.   Raul teica

    Vai kāds man var pateikt, kādu komandu izmantot, lai redzētu kopēšanas gaitu ar komandu dd, ko es domāju redzēt progresa joslu ar%, kas ir kopēts.

    slds

    1.    Jūlijs teica

      Draugs! pievienojot komandu pv. Šajā pašā amatā viņš to saka gandrīz sākumā un paskaidro, kā to izmantot. Izlasiet vēlreiz

  9.   Pedro teica

    izmantojot šo komandu:
    dd ja = / dev / sdc | bzip2> /media/Elements/iso.gz
    Man ir izdevies izveidot 16 Gb diska iso attēlu un saglabāt to 400 Gb diskā.
    Bet es nezinu, kāda būtu komanda, lai atjaunotu šo attēlu sākotnējā 16 GB diskā vai citā tādā pašā ietilpībā

  10.   Luis Rodriguez teica

    jautājums

    izmantojiet šo komandu
    par n vietā {1..5}; do dd, ja = / dev / urandom | pv | dd no = / dev / hda bs = 8b conv = notrunc;
    2TB diskam
    tad es palieku pie pults kaut kā tā
    >
    Vai man vajadzētu palaist citu komandu vai cik ilgi process var ilgt?

    paldies un turpini

    1.    Jazb teica

      Rindas beigās trūkst kļūdas for ... darīts »palicis« n uz {1..5}; do dd, ja = / dev / urandom | pv | dd no = / dev / hda bs = 8b conv = notrunc; darīts »

  11.   Henrijs Salazārs teica

    ļoti labs raksts ... .. Es to īstenošu praksē ... sveiciens draugs

  12.   Marcos_tux teica

    Ļoti noderīgi, tas man ļoti palīdzēja

  13.   EDFR teica

    Labais Alf. Paldies par informāciju.

    Jautājums. Vai ir veids, kā kopēt tikai daļu avota diska? Gadījums ir tāds, ka, ja man ir 120 Gb disks, kurā tiek izmantots tikai 25 Gb, un es vēlos izveidot kopiju 40 Gb diskā, mani interesētu tikai nokopēt izlietoto vietu (25 Gb), vai ar šo komandu ir kāds veids?
    Paldies jau iepriekš.

    1.    Jukiteru teica

      Labāk būtu izmantot rsync, ar komandu rsync -av / path / to / origin / path / to / liktenis jūs jau dublējat visas savas atļaujas ar tām atbilstošajām atļaujām.

    2.    Jukiteru teica

      Es domāju: "visi jūsu faili ar attiecīgajām atļaujām"

  14.   FOXSPY teica

    Dārgais, vai kāds zina, kāpēc, aizņemot komandu dd, tā sasniedz tikai 4.2 GB un norāda, ka fails ir ļoti liels? Tas ir 250 GB diska attēls, un tas nonāk 1 TB ārējā diskā.

    sudo dd, ja = / dev / sda | pv | dd no = / home / fox / backup.iso

    1.    Nolaupītājs teica

      4Gb kļūda jums to piešķir, jo jūs mēģināt izveidot dublējumu nodalījumā ar fs FAT16

  15.   Berne teica

    Cik labs emuārs. Ļoti noderīgs ieraksts. Es jau biju redzējis šīs komandas lietojumus citur, bet viņi vispār neko nepaskaidroja. Paldies.

  16.   Karloss Toress teica

    sveiki, man ir injekcijas mašīna, kurā programma tika pazaudēta, jo viņi aizstāja BIOS kaudzi, mums nav dublējuma, bet mums ir vēl viena mašīna, tajā ir tikai disketes, sērijveida un paralēlais ports, kā es varu izveidot šīs mašīnas dublējumu lai to ielādētu otrā, es ceru, ka jūs varat man palīdzēt, pateicoties

  17.   Ernesto teica

    Es tikai vēlos nokopēt nodalījumu, nesākot no LIVE CD. Piemēram, man ir disks ar / dev / sda1, / dev / sda5, / dev / sda6, un es vēlos izveidot kopiju uz / dev / sda5 no cita diska / dev / sdb1

    komanda ir dd, ja = / dev / sdb1 no = / dev / sda5 bs = 1M ????

  18.   Pīters Lobato teica

    Sveiks kā tev iet. Es arī dzīvoju Gvadalaharā.
    Jūsu raksts par komandu DD ir ļoti interesants. Es gribu izmēģināt dažus Linux izplatījumus, īpaši Archlinux, taču man nav izdevies izmantot komandu DD un kopēt jau lejupielādēto Archilinux ISO uz USB atmiņas kartes. Es nezinu, vai jūs varat nodot man ķeksīti, lai sāktu ar šo. Paldies, Pedro lobato

  19.   uzvarētājs teica

    Jo, ierakstot iso ar komandu "dd", tas tiek izmantots tikai sāknēšanai dažos datoros?
    Exp. Man ir 2 klēpjdatori, un neviens no tiem neuzliek neviena Linux izplatītāja iso; bet gluži pretēji, tas tiek palaists uz veca darbvirsmas ar dīkstāves disku

    1.    seb teica

      Vislabāk ir spēlēt droši, izmantojot unetbootin, ar dd man arī ir palicis jautājums, kāpēc dažreiz tas nedarbojas.

      1.    dzīvīgs teica

        Es domāju, ka tas nav atkarīgs no DD, bet no ISO. Tas pats, kas ar Unetbootin, tas nedarbojas labi ar visiem izplatījumiem.

  20.   uzvarētājs teica

    Dažreiz tas darbojas visos datoros, taču procesam ir jāpievieno mbr un syslinux usb; bet tas ir garš un garlaicīgs.
    Vienkāršā daļa par atiestatīšanu

    Esiet uzmanīgs: man tas nav iso vai dd, tas ir veids, kā jūs to ierakstāt.

  21.   Danny teica

    Man ir šaubas, vai izmantoju šo komandu:
    sudo dd, ja = / dev / nulle = / dev / diskdziņa
    Tā vietā zemā līmeņa formatēšana ir tāda pati vai prasa ilgāku laiku:
    sudo dd, ja = / dev / nulle = / dev / diskdziņa bs = 1M ..

  22.   arg0s teica

    Vai komandu dd var izmantot, lai izdzēstu konkrētu failu?

    piemēram,

    dd if = / dev / urandom no = / home / myfile izdzēst

  23.   arg0s teica

    ar bs = 1M tas kļūst ātrāks

  24.   alex teica

    Un ja es taisīšu precīzu kopiju no viena diska uz otru, ar visiem tā nodalījumiem (swap, sda ...) un abiem diskiem vienādi, bet viens atrodas datorā, bet otrs tīklā NAS ????
    paldies

  25.   Gerardo teica

    Komentārs, es to izmantoju ar status = progress beigās, un man nav vajadzīgs pv, tāpēc debian man ļoti labi darbojas, lai redzētu progresu.
    Otrkārt, vai ir veids, kā iegūt tikai datus, nevis visu vienību, jo, ja tas ir 2 TB disks un es izmantoju tikai 100 GB, man ir nepieciešama visa šī vieta. Vai ir veids, kā vienkārši dublēt šo 100 GB? Un, kad es to nododu citam datu nesējam, tas varētu būt mazāks disks, varbūt 500?

  26.   Alexander teica

    Palīdzi !!!
    Izpildiet komandu
    dd if = cbpp-9.0-amd64-20170621.iso = / dev / sdb

    viss labs ... bet tagad es gribu izmantot usb kā atmiņas vienību un ...

    USB nav pievienots, tas pat neparādās GParted.

    Vai kāds zina, ko es varu darīt.

    PS: kura būtu labākā programma informācijas atgūšanai no diskiem un CD DVD ...

    1.    anonīms teica

      jums ir atkārtoti jādalās ar fdisk