Gunakan ddrescue untuk memulihkan data pada Linux

PHPz
Lepaskan: 2024-03-20 13:37:06
ke hadapan
915 orang telah melayarinya

DDREASE ialah alat untuk memulihkan data daripada fail atau peranti sekat seperti cakera keras, SSD, cakera RAM, CD, DVD dan peranti storan USB. Ia menyalin data dari satu peranti blok ke peranti lain, meninggalkan blok data yang rosak dan hanya memindahkan blok data yang baik. ddreasue ialah alat pemulihan yang berkuasa yang automatik sepenuhnya kerana ia tidak memerlukan sebarang gangguan semasa operasi pemulihan. Selain itu, terima kasih kepada fail peta ddasue, ia boleh dihentikan dan disambung semula pada bila-bila masa. Ciri utama lain DDREASE adalah seperti berikut:

  • Ia tidak akan menimpa data yang dipulihkan tetapi akan mengisi ruang dalam kes pemulihan berulang. Walau bagaimanapun, ia boleh dipotong jika alat itu diarahkan untuk melakukannya secara eksplisit.
  • Pulihkan data daripada berbilang fail atau blok kepada satu fail.
  • Menyokong pelbagai jenis antara muka peranti, seperti SATA, ATA, SCSI, pemacu MFM, cakera liut dan kad SD.

Dalam panduan ini, saya akan melihat secara mendalam alat pemulihan data yang berkuasa ini, membincangkan langkah pemasangannya dan cara menggunakannya untuk memulihkan peranti blok atau partition.

  • Pasang ddrescue
  • Belajar perkara asas
  • Pertimbangan penting
  • Guna DDREASE
  • Baiki Bongkah Yang Patah
  • Pulihkan fail imej ke blok baharu
  • Pulihkan blok data ke blok data lain
  • Pulihkan data tertentu daripada fail imej yang disimpan
  • Ciri Termaju
  • Cara ddrescue berfungsi
  • Kesimpulan

Sila ambil perhatian: Dalam panduan ini, saya menggunakan pengedaran Linux (Ubuntu 22.04). Langkah pemasangan untuk utiliti Ddreasure mungkin berbeza bergantung pada pengedaran, tetapi garis panduan adalah universal untuk semua pengedaran Linux.

Pasang ddrescue

Untuk memasang ddrescue pada Linux, terutamanya Ubuntu dan versinya atau pengedaran berasaskan Debian, gunakan: Tujuan:

sudo apt install gddrescue

Untuk memasangnya pada REHL, Fedora dan CentOS, dayakan ETEL (Pakej Tambahan untuk Enterprise Linux dahulu).

sudo yum pasang epel—lepaskan

Arahan di atas boleh digunakan untuk versi yang lebih baharu bagi pengedaran masing-masing.

Kemudian laksanakan arahan berikut untuk memasang ddreasue:

sudo yum pasang ddrescue

Untuk pengedaran berasaskan Arch-Linux seperti Arch-Linux dan Manjaro, pasang utiliti pemulihan ddrescue menggunakan arahan yang diberikan di bawah.

sudo pacman—S ddrescue

Memandangkan saya menggunakan Ubuntu 22.04, saya akan menggunakan pengurus pakej APT untuk memasangnya.

Belajar perkara asas

Sebelum menggunakan alat ddreasue untuk memulihkan data, saya mengesyorkan agar pengguna yang tidak biasa dengan proses pemulihan memahami beberapa konvensyen penamaan Linux.

Linux mengenali blok (peranti) sebagai fail dan meletakkannya dalam direktori /dev. Untuk menyenaraikan fail dalam direktori /dev, gunakan arahan ls/dev.

Pemacu keras (blok storan) diwakili oleh sd dan abjad; dalam kes berbilang peranti storan, fail akan diwakili sebagai /dev/sda, /dev/sdb, dsb.

Jika peranti storan mempunyai partition, ia akan diwakili oleh nombor dengan nama fail pemacu yang sepadan, seperti /dev/sda1, /dev/sda2, dsb.

Untuk menyenaraikan semua blok dan peranti lain yang bersambung dalam sistem, gunakan arahan blok senarai lsblk:

lsblk

Gunakan ddrescue untuk memulihkan data pada Linux

arahan ddrescue boleh memulihkan keseluruhan blok (termasuk MBR dan partition) atau partition. Sebaliknya, jika anda hanya perlu memulihkan fail tertentu dari partition tertentu, maka lebih baik untuk memulihkan partition daripada keseluruhan blok.

Pertimbangan penting

Terdapat beberapa isu yang sangat kritikal yang harus dipertimbangkan sebelum menggunakan utiliti ddue:

  • Jangan cuba memulihkan blok yang dipasang, ia tidak sepatutnya berada dalam mod baca sahaja.
  • Jangan cuba membaiki blok data dengan ralat I/O.
  • Sistem boleh menukar nama peranti input dan output semasa but semula. Sebelum memulakan proses penyalinan, pastikan nama peranti adalah betul.
  • Jika anda menggunakan blok berasingan sebagai peranti output, semua data pada peranti akan ditimpa.

Gunakan ddrescue

Selepas memasang utiliti ddrescue dan memahami konvensyen penamaan, langkah seterusnya ialah mengenal pasti cakera yang gagal dan memulihkannya menggunakan alat ddrescue.

Baiki blok yang rosak

Contoh pertama akan mengandungi proses memulihkan keseluruhan blok. Mula-mula, senaraikan blok menggunakan arahan lsblk:

lsblk—o Nama, Saiz, FSTYPE

Bendera

—o digunakan untuk menentukan jenis maklumat (medan) yang harus dikeluarkan oleh arahan. Saya telah menyebut nama, saiz dan FSTYPE atau jenis sistem fail.

Gunakan ddrescue untuk memulihkan data pada Linux

Kini anda boleh menentukan blok sasaran, partition dan lokasi untuk menyimpan fail imej yang diselamatkan.

Satu lagi perkara penting yang perlu diberi perhatian ialah pada Linux, nama blok ditetapkan secara dinamik pada masa but dan selepas but semula, nama blok mungkin berubah. Jadi, berhati-hati semasa menulis nama blok.

Sekarang, gunakan sintaks di bawah untuk menyimpan bahagian sebagai fail imej dan gunakan fail log dalam direktori akar.

sudo ddrescue—d—rX/dev/[block][path/name]. img [logfile_name].

Nota: Gantikan [block], [path/name] dan [logfile_name] fail imej dengan nama pilihan yang sewajarnya.

Dalam contoh ini, saya memulihkan /dev/sda dalam direktori akar menggunakan nama fail imej recovery.img. Fail log (juga dipanggil fail peta) adalah perlu jika pemulihan akan disambung semula pada bila-bila masa.

Sudo dd rescue -d-r2/dev/sda2 restore.img restore.log

Dua bendera penting digunakan dalam arahan di atas.

D —Tidak Langsung Digunakan untuk memberitahu alat untuk mengakses cakera secara terus dan mengabaikan cache kernel
RX -Cuba Semula-Lulus Digunakan untuk memberitahu alat untuk mencuba semula sektor buruk X kali

Semasa melaksanakan arahan di atas, anda akan melihat bahawa dua fail muncul dalam penyemak imbas fail bernama recovery.img dan recovery.log.

Gunakan ddrescue untuk memulihkan data pada Linux

Masa pemulihan bergantung pada saiz blok input dan rasuah. Jika anda ingin memulihkan blok data yang besar, saya mengesyorkan menggunakan fail log, kerana proses itu boleh mengambil masa berjam-jam atau bahkan berhari-hari untuk disiapkan.

Keluaran arahan di atas adalah seperti berikut:

Gunakan ddrescue untuk memulihkan data pada Linux

Dalam imej output, ipos ialah lokasi input fail input dari mana penyalinan bermula, dan opos ialah lokasi output data yang ditulis pada fail output.

Non-try ialah saiz blok tanpa menunggu untuk mencuba. Diselamatkan mewakili saiz blok yang berjaya dipulihkan. Pct yang diselamatkan menunjukkan peratusan data yang berjaya dipulihkan. Terma, sektor tidak dipangkas, tidak luntur, buruk dan kawasan buruk adalah jelas. Walau bagaimanapun, istilah ralat baca mewakili percubaan baca yang gagal secara berangka.

Masa berjalan menunjukkan masa yang diperlukan alat untuk menyelesaikan proses, manakala masa yang tinggal ialah masa yang tinggal untuk menyelesaikan proses pemulihan. Output di atas menunjukkan bahawa masa yang tinggal ialah 0 kerana proses telah selesai, sila baca output di bawah dalam imej proses yang belum selesai.

Gunakan ddrescue untuk memulihkan data pada Linux

Mari lihat apa yang kita dapat dalam fail log; untuk membuka fail log yang dijana, gunakan arahan vim recovery.log.

Gunakan ddrescue untuk memulihkan data pada Linux

status_semasa ialah +, menunjukkan penghujung proses, dan current_pos ialah kedudukan pada blok.

Lihat jadual di bawah untuk senarai status semasa:

? Salin
* Pangkas
/ Srap
Cuba lagi
F Isi blok yang ditentukan
G Jana fail log
+ Proses selesai

Di bawah ini, fail log menunjukkan status ketulan yang diselamatkan sebelum ini dalam aksara yang disenaraikan di bawah:

? Sekat belum cuba lagi
* Blok gangguan yang tidak dipangkas
/ Blok tidak sah yang tidak dibuang
Sektor buruk gagal menyekat data
+ Blok Lengkap

Pulihkan fail imej ke blok baharu

Setelah anda menyelesaikan proses pemulihan dan mempunyai fail imej, anda kini mungkin mahu mengalihkannya daripada pemacu yang rosak ke pemacu baharu. Untuk mengalihkan fail imej ke blok baharu, mula-mula, sambungkan blok itu kepada sistem dan kemudian gunakan arahan lsblk untuk mengenal pasti nama blok.

Andaikan ia adalah /dev/sdb, gunakan arahan berikut untuk menyalin imej ke blok baharu.

sudo ddrescue—pemulihan img/dev/sdb logfile.log

Jika terdapat sebarang data, gunakan bendera -f untuk menulis ganti blok baharu. Ingat bahawa fail log mesti mempunyai nama yang berbeza untuk memastikan ia berasingan daripada fail log yang disimpan sebelum ini.

Operasi di atas juga boleh dilakukan menggunakan dd, satu lagi arahan berkuasa untuk menyalin fail.

sudo dd if = recovery img of =/dev/sdb

Sebelum meneruskan pemulihan, sila ingat bahawa blok baharu mestilah cukup besar untuk mengekalkan keseluruhan blok yang dipulihkan sebagai contoh, jika blok yang dipulihkan ialah 5GB, blok baharu hendaklah lebih besar daripada 5GB.

Jika fail imej yang dipulihkan menunjukkan banyak ralat, maka ia boleh dibaiki sedikit sebanyak menggunakan arahan fsck pada Linux. Pada Windows anda boleh menggunakan arahan CHKDSK atau SFC untuk melakukan ini. Walau bagaimanapun, pemulihan bergantung pada bilangan ralat yang dijana oleh fail yang rosak.

Kini, proses pemulihan dan kerja pembaikan telah selesai. Satu lagi perkara penting yang perlu diberi perhatian ialah daripada mencipta fail imej dan kemudian menyalinnya ke blok baharu, anda boleh memulihkan blok yang rosak terus pada blok lain. Okay, dalam bahagian seterusnya saya akan menerangkan secara terperinci tentang proses ini.

Pulihkan blok data ke blok data lain

Untuk memulihkan blok terus ke blok baharu, mula-mula sambungkan blok itu kepada sistem dan kemudian gunakan arahan lsblk sekali lagi untuk mengenal pasti nama blok. Nama blok yang salah boleh mengganggu keseluruhan proses dan anda mungkin kehilangan data.

Selepas mengenal pasti blok sumber dan sasaran, gunakan arahan berikut untuk memulihkan blok:

sudo ddrescue—d—f—r2/dev/[source]/dev/[destination] backup.log

Andaikan /dev/sdb ialah blok sasaran, jadi untuk menyalin direktori /dev/sda ke blok baharu, gunakan gunakan:

Sudo ddue-d-f-r2/dev/sda/dev/sdb backup.log

Sebelum mencuba proses ini, sila rujuk kepada pertimbangan utama yang dinyatakan dalam bahagian sebelumnya.

Pulihkan data tertentu daripada fail imej yang disimpan

Dalam banyak kes, tujuan pemulihan data adalah untuk mencari fail tertentu daripada pemacu yang rosak. Untuk mengakses fail tertentu, anda perlu melekapkan fail imej. Di Linux, fail imej yang dipulihkan boleh diterokai menggunakan arahan mount.

Sebelum memasang fail imej, cipta folder atau direktori di mana anda ingin mengekstrak kandungan fail imej.

mkdir Recovery Mount

Seterusnya, lekapkan fail imej menggunakan arahan berikut:

sudo mount—o loop recovery img~/Recovery Mount

Bendera

—o menunjukkan pilihan, manakala pilihan gelung digunakan untuk merawat fail imej sebagai peranti blok.

Anda kini boleh mengakses kandungan fail imej seperti yang ditunjukkan dalam tangkapan skrin di bawah.

Gunakan ddrescue untuk memulihkan data pada Linux

Untuk menyahlekap blok, gunakan arahan umount.

SUDO nyahpasang~/pulihkan pemuatan

Ciri Termaju

Untuk menyambung semula dari titik tertentu, gunakan bendera -i atau -kedudukan-input. Ia sepatutnya dalam bait dan lalai kepada 0 bait. Adalah penting untuk menyambung semula replikasi dari titik tertentu. Sebagai contoh, jika anda ingin memulakan proses salin dari titik 10 GB, gunakan arahan berikut.

sudo ddrescue—i10GiB/dev/sda imagefile.log

Untuk menentukan saiz maksimum peranti input, bendera -s akan digunakan. -s menunjukkan saiz, yang juga boleh digunakan sebagai -size, dalam bait. Jika alat tidak mengenali saiz fail input, gunakan pilihan ini untuk menentukannya.

Sudo ddreasure-s10GiB/dev/sda Imagefile.img log file.log

—Pilihan tanya sangat mudah kerana ia menggesa pengesahan blok input dan output sebelum memulakan proses penyalinan. Seperti yang dinyatakan sebelum ini, sistem secara dinamik memberikan nama untuk menyekat dan menukar nama semasa but semula. Dalam kes ini, pilihan ini mungkin berguna.

sudo ddrescue——ask/dev/sda imagefile.img logfile.log

Selain itu, berikut adalah beberapa alternatif lain:

—R —Terbalikkan Terbalikkan arah salinan
—q —Cukup Batalkan semua mesej output
—V —verbose Dengan lebih terperinci, semua mesej keluaran
—p -Pra-diperuntukkan Pra-peruntukkan ruang storan untuk fail output
—P -Pratonton data Baris paparan data bacaan terkini ialah 3 baris secara lalai

Cara ddrescue berfungsi

DDREASE menggunakan algoritma pemulihan yang berkuasa yang dibahagikan kepada empat peringkat:

1.Salin

2.Mencantas

3.Bercukur

4. Cuba lagi

Pelaksanaan algoritma ddrescue ditunjukkan dalam rajah di bawah.

Gunakan ddrescue untuk memulihkan data pada Linux

Kesimpulan

ddrescue ialah alat pemulihan yang berkuasa untuk memulihkan data daripada pemacu yang rosak atau rosak dengan menyalin data ke pemacu lain. Ia boleh dipasang dengan mudah pada mana-mana pengedaran Linux dengan bantuan pengurus pakej lalai. Sila ambil perhatian pertimbangan penting sebelum menggunakan alat ini yang dinyatakan dalam panduan ini. Proses menyalin data adalah mudah, nyahlekap pemacu dan gunakan arahan ddrescue dengan nama pemacu sumber dan nama pemacu destinasi. Jangan lupa untuk menggunakan fail log kerana ia menjadi sangat berguna semasa proses pemulihan.

Atas ialah kandungan terperinci Gunakan ddrescue untuk memulihkan data pada Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:mryunwei.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!