Menggunakan perintah dd

Perintah dd (Dataset Definition) adalah alat yang sederhana, berguna, dan sangat mudah digunakan; Dengan alat ini Anda dapat melakukan hal yang sama, pada perangkat: disk dan partisi, seperti pada program komersial seperti Norton Ghost, pada Windows atau program gratis seperti CloneZilla, di Linux, hanya dengan baris perintah singkat.

Sintaks Dasar:

Sintaks paling dasar untuk menggunakan perintah dd adalah ini:

sudo dd if=origen of=destino

Dimana jika berarti "file masukan = file masukan“, Artinya, apa yang ingin Anda salin dan sarana "file keluaran = file keluaran“, Artinya, file tujuan (dimana data akan disalin);asal dan Tujuan dapat berupa perangkat (pembaca CD atau DVD, hard disk, floppy disk, flashdisk, partisi, dll.), File cadangan atau gambar disk, dll., Tetapi bukan folder atau subfolder.

Untuk kelancaran penggunaan perintah ini, hal pertama yang harus selalu jelas tentang nama partisi / hard drive di Linux (/ dev / sda1 misalnya; / dev berasal dari device = device, dalam bahasa Inggris). untuk mengetahui sumber dan tujuan disk / partisi, sesuatu yang dapat dengan mudah kita temukan dengan perintah sudo fdisk -lo dengan beberapa program partisi grafis seperti gparted. Semua informasi tentang perintah dd dapat dikonsultasikan dengan perintah man dd dan info dd,

Perintah ini harus digunakan dengan hati-hati, dan selalu memeriksa urutan dan nama disk / partisi, karena seperti disk yang dikloning, ia akan menghapusnya dalam sekejap.

Sintaks dengan perintah pv: Menggunakan perintah dd dengan sintaks sebelumnya memiliki kelemahan kecil, karena ini adalah perintah yang sangat dicadangkan - tidak memberikan informasi - karena ketika dijalankan, prompt terminal tetap tidak bergerak, jadi kami tidak tahu apa adalah apa yang terjadi dan berapa banyak waktu yang tersisa untuk menyelesaikannya. Ketidaknyamanan kecil ini dapat diatasi dengan menambahkan perintah pv, (*) - yang bertindak sebagai pipa terminal yang mengukur data yang melewatinya - ke sintaks perintah dd, sehingga sekarang sintaksnya adalah:

dd if=origen |pv|dd of=destino

Hasilnya, kami akan mendapatkan semacam bilah kemajuan di terminal, informasi tentang byte yang ditransfer, waktu berjalan dan kecepatan transfer, semuanya dalam waktu nyata.

(alf) - (~) └──┤ hh jika = / devmmcblk0p1 | pv | hh dari = / dev / mmcblk0p2 1,630 GB 0:21:30 [1,12 MB / dtk] [

Juga ketika selesai itu menunjukkan kepada kita statistik kecepatan transfer, total byte yang ditransfer dan total waktu yang dibutuhkan untuk mentransfer semua data.

(alf) - (~) └──┤ dd if = / devmmcblk0p1 | pv | dd of = / dev / mmcblk0p2 10530816 + 0 catatan dibaca <=> 10530816 + 0 catatan tertulis 5391777792 byte (5.4 GB) disalin, 3873,48 s, 1,4 MB / s 5,02GB 1:04:33 [1,33MB / s] [<=> 10530816 + 0 catatan dibaca <=> 10530816 + 0 catatan tertulis 5391777792 byte (5.4GB) disalin, 3873,48, 1,4 d, XNUMX MB / dtk (alf) - (~) └──┤

(*) Periksa sebelum menjalankan baris perintah apa pun dengan sintaks kedua ini, bahwa kita telah menginstal paket pv pada sistem, atau menginstalnya jika kita tidak memilikinya: keduanya dengan Synaptic.

Mari kita lihat beberapa contoh dan opsi praktis dari perintah ini (dalam versinya dengan trik yang dijelaskan sebelumnya dengan perintah pv):

A) Tentang hard drive dan partisi:

= Kloning hard drive:

Dengan ini kami akan mengkloning disk hda dalam hdb. (Disk IDE):

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

Dengan ini kami akan mengkloning disk sda di sdb. (Disk SATA):

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

Dengan opsi bs = 1M, tercapai bahwa membaca dan menulis dilakukan dalam blok 1 megabyte, (lebih sedikit, ini akan lebih lambat tetapi lebih aman, dan dengan lebih banyak kita berisiko kehilangan data di sepanjang jalan).

Ingatlah bahwa dengan cara ini disk direkam "sebagaimana adanya", MBR, tabel partisi, ruang kosong, dll ..., jadi Anda hanya dapat merekam pada disk dengan ukuran yang sama atau lebih besar.

= Tulis hanya partisi pertama (hda1) dari disk sumber ke disk tujuan (hdb):

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

= Bakar seluruh disk (hda) ke partisi pertama (hdb1) dari disk tujuan:

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

= Buat gambar - bisa bin atau iso - dari hard disk (hda), di direktori / home:

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

= Hapus informasi pada disk sepenuhnya: untuk melakukan ini, isi disk dengan karakter acak, lima kali. Tidak akan ada jejak informasi di disk:

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

= Hapus semua partisi dan seluruh disk dari perangkat apa pun:

sudo dd if=/dev/zero |pv|dd of=/dev/sdx (Penghapusan disk penuh)

sudo dd if=/dev/zero |pv|dd of=/dev/sdxa (Penghapusan partisi disk)

di mana: x adalah disk yang akan dihapus, a adalah partisi yang akan dihapus

Operasi ini sangat berguna untuk menghapus seluruh partisi, selain itu data yang akan terhapus tidak dapat dipulihkan kembali, oleh karena itu ini adalah penghapusan level rendah dan sangat aman, sangat berguna misalnya ketika pendrives terinfeksi virus dengan virus kita. jendela sayang.

B) Di CD / DVD

= Buat / Pasang image .iso dari CD (atau DVD)

Untuk membuat image .iso dari CD di direktori / home:

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

Untuk memasang image .iso dari CD:

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

= Pulihkan DVD yang tergores (Ini tidak memulihkan seluruh DVD, dalam hal ini hanya sektor yang dapat dibaca). Ini juga cocok untuk hard drive yang rusak:

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

Opsi noerror digunakan untuk menghindari kesalahan membaca dalam situasi apa pun.

C) Tentang MBR dan VBS:

= Salin / Pulihkan Master Boot Record (MBR):

Untuk menyalin MBR:

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

Untuk memulihkan MBR:

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

= Bersihkan MBR dan tabel partisi kami:

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

= Membersihkan MBR tetapi tidak menyentuh tabel partisi, (sangat berguna untuk menghapus GRUB tanpa kehilangan data pada partisi):

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

= Salin / Pulihkan Volume Boot Sector (VBS):

Untuk menyalin VBS:

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

Untuk memulihkan VBS:

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

D) Lainnya:

= Membakar image disk ke direktori / home kami, melewati kesalahan disk (sangat berguna untuk disk yang sekarat):

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

= Buat file 1 Mb kosong:

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

= Buat file swap 2Gb:

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

= Ubah semua huruf menjadi huruf besar:

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

Gunakan perintah dd dengan program lingkungan grafis: Gdiskdump, adalah lingkungan grafis untuk perintah dd ini yang memfasilitasi tugas mengkloning partisi atau disk, dengan cepat dan mudah. Itu dapat diunduh dari halaman https://launchpad.net/gdiskdump/ Setelah kami membukanya, dengan izin root - sudo gdiskdump -, kami melihat bahwa program ini sangat mudah digunakan, karena kami hanya perlu memberi tahu partisi atau disk yang akan dikloning (Format Input) dan tujuannya (Format Output).


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   sieg84 dijo

    Saya hampir menjadi diabetes dengan penyalahgunaan perintah dd.
    ngomong-ngomong, apa bedanya dengan dd_rescue?

    1.    pernah dijo

      ddrescue secara default tidak berhenti pada kesalahan baca dan mencoba dengan berbagai cara untuk memulihkan informasi yang tidak terbaca.

    2.    sheko dijo

      hahahha saya juga menggunakan perintah dd dengan sangat buruk, itu jauh lebih kuat dari yang saya kira.

  2.   busuk87 dijo

    Saya berkomentar bahwa saya percaya bahwa setiap pengguna arch di beberapa titik pernah menggunakannya

  3.   Alf dijo

    @ sieg84, perbedaannya adalah bahwa dd terputus dengan beberapa pembacaan atau kesalahan perangkat, dalam hal ini tidak akan terjadi karena blok yang rusak akan membacanya beberapa kali dan melanjutkan dengan yang berikutnya, ini juga memberikan keuntungan bahwa Kita dapat menjalankannya beberapa kali pada gambar yang sama dan itu tidak akan mulai dari awal tetapi akan mencoba untuk menyelesaikannya.

    Perlu disebutkan bahwa dd_rescue saya belum pernah menggunakannya.

    1.    merlin debianite tersebut dijo

      Alf apakah ada GUI yang dibuat di qt untuk KDE yang menggunakan perintah ini? atau apakah saya harus mengundurkan diri.?

      1.    Juli dijo

        Gdiskdump lebih dari sekedar GUI untuk perintah ini (ini didasarkan padanya) dan meskipun saya tidak tahu apakah mereka melakukannya di qt (menurut saya tidak) itu hampir pasti bekerja untuk Anda di KDE

    2.    sieg84 dijo

      terimakasih atas klarifikasinya.
      Saya hanya menggunakan dd_rescue untuk menyalin ISO ke USB (terutama karena di wiki openSUSE mereka memilikinya).
      dd_rescue tu.iso / dev / sdX
      yang saya suka adalah itu menunjukkan bilah kemajuan:
      http://box.jisko.net/i/110db781.png

  4.   krel dijo

    Alfi:
    Saya baru-baru ini melihat posting yang sama ini diposting di Hatteras Blog. Sepertinya dia tidak menerima ini dengan buruk tetapi saya tidak tahu, setidaknya sebagai rasa hormat akan baik untuk merujuknya. Begitu juga dia menang dalam posisi web.

    Saya tidak ingin membuat dilema dengan ini, tetapi sekilas artikel tersebut tampaknya 95% identik dengan saya kecuali untuk screenshot terminal yang telah Anda adaptasi. Dia bahkan menyebutkan sumbernya.

  5.   merlin debianite tersebut dijo

    Menarik Saya akui bahwa | pv | tidak mengenalnya.

    Krel menurut saya sumbernya ada di ubuntu wiki atau arch greetings.

  6.   Alf dijo

    @krel, hal linux adalah ini:

    Sepanjang perjalanan saya di dunia ini saya telah membaca dan mengumpulkan banyak hal, saya memiliki notebook dengan lebih dari 400 posting yang saya masukkan di Ubuntu Mexico, yang merupakan komunitas tempat saya berkontribusi paling banyak di masa-masa awal saya, sayangnya hal-hal dapat diulang, jika Anda meninjau jumlah yang besar posting di internet, mereka hampir dalam urutan yang sama, masalahnya adalah bahwa sebagian besar lebih pendek.

    Saya dapat mempublikasikan 5 posting lain dalam seminggu dan Anda dapat menemukan orang lain yang serupa atau sama, alasannya? ubuntu memiliki paling banyak forum / blog di internet.

    Saya pikir tidak akan ada dilema, dan, jika administrator mempertimbangkan untuk menghapusnya, itu tidak akan menyinggung atau mengganggu saya sama sekali, saya mematuhi aturan dan yang berikut, di antara catatan saya 8 bahwa saya tidak memilikinya secara berurutan) Saya ingin menambahkan sesuatu untuk menghindari kebetulan.

    salam

    1.    krel dijo

      Bukan misteri bagi siapa pun bahwa paling banyak hanya 10% dari konten yang dihasilkan di web adalah baru. Dengan 90 lainnya adalah konten duplikat, diperbarui atau diselamatkan, dan saya tidak mengatakan bahwa ini kurang penting, sebaliknya, ini adalah bentuk penyebaran pengetahuan.

      Namun, di mana saya berhenti adalah sesuatu yang lain. Ketika Anda memiliki blog jenis ini, ada motivasi pribadi untuk membantu dan bahkan mungkin menerima pengakuan untuk itu. Pada saat yang sama saya yakin bahwa sebagian besar dari mereka yang menulis konten tentang Perangkat Lunak Bebas setuju dengan gagasan berbagi. Namun, jangan lupa bahwa bahkan lisensi paling mulia seperti BSD pun meminta pengakuan.

      Juga, referensi adalah cara yang digunakan beberapa mesin pencari seperti google untuk meningkatkan posisi situs web. Saya hanya mengatakan, karena materi digunakan sebagai ucapan terima kasih minimal, saya akan merujuk pada pekerjaan itu.

      Menurut saya bagus sekali Anda berbagi, tapi apa ruginya jika Anda membuat referensi? Bayangkan saja jika dari blog lain yang positioningnya lebih baik dari blog ini, isinya akan terduplikasi. desdelinux Tanpa referensi, pada akhirnya mereka akan mengubur blog ini.

      Hatteras menerbitkannya 10 hari yang lalu dan kecuali dia telah mengeluarkannya dari buku catatan Anda atau Anda adalah Luis Puente, saya tidak dapat menjelaskan apa yang Anda ceritakan kepada saya, hampir semuanya tekstual. Tidak mungkin tetapi bukan tidak mungkin.

      Tapi tidak ada, hal semacam ini terjadi. Dan saya tidak tahu, untuk etika pribadi dan untuk bekerja sama dengan kolega lain saya akan merujuknya. Itu terserah Anda, saya rasa Hatteras juga tidak menganggap ini salah, justru sebaliknya.

      1.    MSX dijo

        Memang benar, ini adalah salinan asli dari posting ini: http://hatteras.wordpress.com/2013/01/18/algunos-usos-practicos-del-comando-dd/

  7.   Yang sebelumnya dijo

    Hmm… Saya membuat dd if = file.iso dari = / media / hard disk… karena kesalahan 😛
    cara apapun untuk memulihkan file dari hard drive ???

    1.    hidup dijo

      Anda dapat menggunakan Testdisk

    2.    merlin debianite tersebut dijo

      Seorang teman telah terjadi pada saya mungkin dengan testdisk atau dengan distro langsung khusus untuk menyelamatkan data. Rekomendasi saya untuk membuat cadangan untuk waktu berikutnya karena menggunakan perintah itu adalah sesuatu yang rumit di masa pemula saya untuk memformat seluruh hard disk tanpa ingin dan sekarang untuk reboot dengan baik …… Tak perlu dikatakan, grub tidak dimulai.

  8.   Raul dijo

    Dapatkah seseorang memberi tahu saya perintah apa yang harus digunakan untuk melihat kemajuan penyalinan dengan perintah dd, yang saya maksud adalah melihat bilah kemajuan dengan% yang telah disalin.

    Slds

    1.    Juli dijo

      Teman! menambahkan perintah pv. Dalam posting yang sama dia mengatakannya hampir di awal dan menjelaskan bagaimana menggunakannya. Baca lagi

  9.   pedro dijo

    menggunakan perintah ini:
    dd if = / dev / sdc | bzip2> /media/Elements/iso.gz
    Saya telah berhasil membuat image iso dari disk 16Gb dan menyimpannya ke disk 400Gb.
    Tapi saya tidak tahu apa perintah untuk mengembalikan image itu ke disk 16GB asli atau ke kapasitas lain yang sama

  10.   Luis Rodriguez dijo

    pertanyaan

    gunakan perintah ini untuk
    untuk n di {1..5}; lakukan dd if = / dev / urandom | pv | dd of = / dev / hda bs = 8b conv = notrunc;
    untuk disk 2TB
    lalu aku tetap di konsol seperti itu
    >
    Haruskah saya menjalankan perintah lain atau berapa lama prosesnya?

    terima kasih dan lanjutkan

    1.    Jazz dijo

      Ada kesalahan ketik untuk ... hilang di akhir baris «; selesai »tinggal« selama n di {1..5}; lakukan dd if = / dev / urandom | pv | dd of = / dev / hda bs = 8b conv = notrunc; selesai »

  11.   henry salazar dijo

    artikel yang sangat bagus… ..saya akan mempraktekkannya… salam sobat

  12.   Marcos_tux dijo

    Sangat berguna, sangat membantu saya, terima kasih

  13.   EDFR dijo

    Alf yang bagus. Terimakasih atas infonya.

    Pertanyaan. Apakah ada cara untuk menyalin hanya sebagian dari disk sumber? Kasusnya adalah, jika saya memiliki disk 120Gb yang hanya 25Gb yang digunakan dan saya ingin membuat salinan ke disk 40Gb, saya hanya akan tertarik untuk menyalin ruang yang digunakan (25Gb), apakah ada cara dengan perintah ini?
    Terima kasih sebelumnya.

    1.    yukiteru dijo

      Akan lebih baik bagi Anda untuk menggunakan rsync, dengan perintah rsync -av / path / to / origin / path / to / destiny Anda sudah mencadangkan semua izin Anda dengan izin yang sesuai.

    2.    yukiteru dijo

      Maksud saya: "semua file Anda dengan izinnya yang sesuai"

  14.   FOXSPY dijo

    Yang terhormat, adakah yang tahu mengapa ketika menggunakan perintah dd, hanya mencapai 4.2GB dan menunjukkan bahwa file tersebut sangat besar? Ini adalah gambar dari disk 250GB dan masuk ke disk eksternal 1TB.

    sudo dd if = / dev / sda | pv | dd of = / home / fox / backup.iso

    1.    Penculik dijo

      Kesalahan 4Gb memberikannya kepada Anda karena Anda mencoba membuat cadangan di partisi dengan fs FAT16

  15.   Bern dijo

    Blog yang bagus. Entri yang sangat berguna. Saya telah melihat penggunaan perintah ini di tempat lain, tetapi mereka tidak menjelaskan apa pun. Terima kasih.

  16.   carlos torres dijo

    halo saya memiliki mesin injeksi di mana programnya hilang sejak mereka mengganti tumpukan bios, kami tidak memiliki cadangan tetapi kami memiliki mesin lain yang sama, hanya memiliki port floppy dan serial dan paralel, bagaimana saya dapat membuat cadangan mesin ini untuk memuatnya di lain, saya harap Anda dapat membantu saya terima kasih

  17.   ernesto dijo

    Saya hanya ingin menyalin partisi tanpa memulai dari LIVE CD. Misalnya saya memiliki disk dengan / dev / sda1, / dev / sda5, / dev / sda6 dan saya ingin membuat salinan ke / dev / sda5 dari disk lain / dev / sdb1

    perintahnya adalah dd if = / dev / sdb1 of = / dev / sda5 bs = 1M ????

  18.   Peter Lobato dijo

    Halo apa kabarmu. Saya juga tinggal di Guadalajara.
    Artikel Anda tentang perintah DD sangat menarik. Saya ingin mencoba beberapa distro Linux, khususnya Archlinux, tetapi saya belum dapat menggunakan perintah DD dan menyalin ISO Archilinux yang sudah saya unduh, ke stik USB. Saya tidak tahu apakah Anda bisa memberi saya tanda centang untuk memulai dengan ini. Terima kasih, Pedro lobato

  19.   pemenang dijo

    Karena ketika iso direkam dengan perintah "dd" itu hanya berfungsi untuk boot pada beberapa PC?
    Exp. Saya memiliki 2 laptop dan tidak satupun dari mereka melakukan boot pada iso dari distribusi linux manapun; tetapi sebaliknya, ia melakukan boot pada PC desktop lama dengan disk yang tidak aktif

    1.    seb dijo

      Cara terbaik untuk bermain aman menggunakan unetbootin, dengan dd saya juga dibiarkan dengan pertanyaan mengapa kadang-kadang tidak berhasil.

      1.    hidup dijo

        Saya tidak berpikir itu tergantung pada DD tetapi pada ISO. Sama halnya dengan Unetbootin, itu tidak berfungsi dengan baik dengan semua distribusi.

  20.   pemenang dijo

    Kadang-kadang ini bekerja pada semua PC tetapi Anda harus menambahkan mbr dan syslinux ke usb untuk proses tersebut; tapi ini panjang dan membosankan.
    Bagian mudah tentang unetbooting

    Hati-hati: ini bukan iso atau dd untuk saya, ini cara Anda merekamnya.

  21.   danny dijo

    Saya ragu jika saya menggunakan perintah ini:
    sudo dd if = / dev / zero dari = / dev / diskdrive
    Alih-alih ini, pemformatan tingkat rendah sama atau membutuhkan waktu lebih lama dari ini:
    sudo dd if = / dev / nol dari = / dev / diskdrive bs = 1M ..

  22.   arg0s dijo

    Bisakah perintah dd digunakan untuk menghapus file tertentu?

    misalnya,

    dd if = / dev / urandom of = / home / myfile delete

  23.   arg0s dijo

    dengan bs = 1M menjadi lebih cepat

  24.   alex dijo

    Dan jika saya akan membuat salinan persis dari satu disk ke disk lainnya, dengan semua partisinya (swap, sda…) dan kedua disknya sama, tetapi satu ada di PC dan yang lainnya di NAS melalui jaringan ????
    terima kasih

  25.   Gerardo dijo

    Sebuah komentar, saya menggunakannya dengan status = kemajuan di akhir dan saya tidak memerlukan pv, jadi debian bekerja dengan sangat baik bagi saya untuk melihat kemajuannya.
    Dan yang kedua, apakah ada cara untuk hanya mendapatkan data dan bukan seluruh unit, karena jika ini adalah disk 2TB dan saya hanya menggunakan 100 GB, saya memerlukan semua ruang itu. Apakah ada cara untuk mencadangkan 100GB itu? Dan ketika saya meneruskannya ke media lain, itu bisa menjadi disk yang lebih kecil mungkin salah satu dari 500?

  26.   Alexander dijo

    Tolong !!!
    Lakukan perintahnya
    dd if = cbpp-9.0-amd64-20170621.iso dari = / dev / sdb

    semua bagus ... tapi sekarang saya ingin menggunakan usb sebagai unit penyimpanan dan ...

    USB tidak terpasang, bahkan tidak muncul di GParted.

    Apakah ada yang tahu apa yang bisa saya lakukan.

    PS: yang merupakan program terbaik untuk memulihkan informasi dari cakram dan CD DVD….

    1.    anonim dijo

      Anda harus menguji ulang partisi dengan fdisk