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).
Saya hampir menjadi diabetes dengan penyalahgunaan perintah dd.
ngomong-ngomong, apa bedanya dengan dd_rescue?
ddrescue secara default tidak berhenti pada kesalahan baca dan mencoba dengan berbagai cara untuk memulihkan informasi yang tidak terbaca.
hahahha saya juga menggunakan perintah dd dengan sangat buruk, itu jauh lebih kuat dari yang saya kira.
Saya berkomentar bahwa saya percaya bahwa setiap pengguna arch di beberapa titik pernah menggunakannya
@ 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.
Alf apakah ada GUI yang dibuat di qt untuk KDE yang menggunakan perintah ini? atau apakah saya harus mengundurkan diri.?
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
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
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.
Menarik Saya akui bahwa | pv | tidak mengenalnya.
Krel menurut saya sumbernya ada di ubuntu wiki atau arch greetings.
@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
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.
Memang benar, ini adalah salinan asli dari posting ini: http://hatteras.wordpress.com/2013/01/18/algunos-usos-practicos-del-comando-dd/
Hmm… Saya membuat dd if = file.iso dari = / media / hard disk… karena kesalahan 😛
cara apapun untuk memulihkan file dari hard drive ???
Anda dapat menggunakan Testdisk
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.
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
Teman! menambahkan perintah pv. Dalam posting yang sama dia mengatakannya hampir di awal dan menjelaskan bagaimana menggunakannya. Baca lagi
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
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
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 »
artikel yang sangat bagus… ..saya akan mempraktekkannya… salam sobat
Sangat berguna, sangat membantu saya, terima kasih
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.
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.
Maksud saya: "semua file Anda dengan izinnya yang sesuai"
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
Kesalahan 4Gb memberikannya kepada Anda karena Anda mencoba membuat cadangan di partisi dengan fs FAT16
Blog yang bagus. Entri yang sangat berguna. Saya telah melihat penggunaan perintah ini di tempat lain, tetapi mereka tidak menjelaskan apa pun. Terima kasih.
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
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 ????
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
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
Cara terbaik untuk bermain aman menggunakan unetbootin, dengan dd saya juga dibiarkan dengan pertanyaan mengapa kadang-kadang tidak berhasil.
Saya tidak berpikir itu tergantung pada DD tetapi pada ISO. Sama halnya dengan Unetbootin, itu tidak berfungsi dengan baik dengan semua distribusi.
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.
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 ..
Bisakah perintah dd digunakan untuk menghapus file tertentu?
misalnya,
dd if = / dev / urandom of = / home / myfile delete
dengan bs = 1M menjadi lebih cepat
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
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?
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….
Anda harus menguji ulang partisi dengan fdisk