Rumah > Tutorial sistem > LINUX > teks badan

Bagaimana untuk memulihkan fail yang dipadam dalam sistem Linux

王林
Lepaskan: 2024-01-14 18:48:05
ke hadapan
546 orang telah melayarinya
Pengenalan Apabila pengguna memadamkan fail yang masih diperlukan secara tidak sengaja, dalam kebanyakan kes, tiada cara mudah untuk mendapatkan semula atau membina semula fail tersebut. Nasib baik, terdapat cara untuk memulihkan fail. Apabila pengguna memadamkan fail, fail itu tidak hilang, ia hanya disembunyikan untuk satu tempoh masa.

Begini cara ia berfungsi. Dalam sistem fail, terdapat sesuatu yang dipanggil jadual peruntukan fail, yang menjejaki lokasi fail dalam unit storan (seperti cakera keras, kad MicroSD, pemacu kilat, dll.). Apabila fail dipadamkan, sistem fail akan melaksanakan satu daripada dua tugas dalam jadual peruntukan fail: tandakan kemasukan fail dalam jadual peruntukan fail sebagai "ruang kosong" atau padamkan kemasukan fail dalam jadual peruntukan fail, Dan ruang yang sepadan ditandakan sebagai ruang kosong. Sekarang, jika fail baharu perlu diletakkan di lokasi storan, sistem pengendalian akan meletakkan fail di lokasi yang ditandakan sebagai kosong. Selepas fail baharu ditulis ke ruang kosong ini, fail yang dipadam hilang sepenuhnya. Apabila fail yang dipadam perlu dipulihkan, pengguna tidak boleh mengendalikan mana-mana fail lagi, kerana jika "ruang kosong" yang sepadan dengan fail itu diduduki, fail itu tidak boleh dipulihkan.

怎样在 Linux 系统中恢复被删除文件

Bagaimana perisian pemulihan berfungsi?

Kebanyakan sistem fail hanya menandakan ruang sebagai kosong (semasa memadam fail). Dalam sistem fail ini, perisian pemulihan melihat jadual peruntukan fail dan kemudian menyalin fail yang dipadam ke unit storan lain. Jika fail disalin ke unit storan dipadam lain yang perlu dipulihkan, maka pengguna mungkin kehilangan fail dipadam yang dikehendaki.

Sistem fail jarang memadamkan entri dalam jadual peruntukan fail. Jika sistem fail melakukan ini, perisian pemulihan sedang memulihkan fail. Perisian pemulihan mengimbas pengepala fail dalam unit storan Semua fail mempunyai rentetan pengekodan khas yang terletak pada permulaan fail, juga dipanggil nombor ajaib. Sebagai contoh, nombor ajaib untuk fail kelas JAVA yang disusun ialah "CAFEBABE" dalam perenambelasan. Jadi, jika anda ingin memulihkan fail jenis ini, perisian pemulihan akan mencari "CAFEBABE" dan menyalin fail ke unit storan lain. Sesetengah perisian pemulihan boleh mencari jenis fail tertentu. Jika pengguna ingin memulihkan fail PDF, perisian pemulihan akan mencari nombor ajaib "25504446" dalam perenambelasan, yang kebetulan "%PDF" dalam pengekodan ASCII. Perisian pemulihan akan mencari semua nombor ajaib dan kemudian pengguna boleh memilih fail yang dipadam untuk dipulihkan.

Jika sebahagian daripada fail ditimpa, keseluruhan fail akan rosak. Selalunya fail boleh dipulihkan, tetapi kandungannya mungkin tidak lagi berguna. Sebagai contoh, memulihkan fail JPEG yang rosak akan menjadi sia-sia kerana pemapar gambar tidak dapat menghasilkan imej daripada fail yang rosak. Oleh itu, walaupun pengguna memiliki fail, fail itu akan menjadi sia-sia.

Sebelum kami meneruskan, beberapa maklumat di bawah akan membantu dalam membimbing perisian pemulihan untuk mencari unit storan yang betul. Semua peranti dipasang dalam direktori /dev/. Nama yang diberikan kepada setiap peranti oleh sistem pengendalian (bukan nama yang diberikan kepada setiap partition atau peranti oleh pentadbir) mengikut peraturan penamaan tertentu.

Nama partition kedua pemacu keras SATA pertama ialah sda2. Huruf pertama nama menunjukkan jenis storan, yang dalam kes ini ialah SATA, tetapi huruf "s" juga boleh merujuk kepada SCSI, FireWire atau USB. Huruf kedua "d" merujuk kepada cakera. Huruf ketiga merujuk kepada nombor peranti, iaitu huruf "a" merujuk kepada SATA pertama dan "b" merujuk kepada yang kedua. Nombor terakhir mewakili partition. Nama peranti tanpa nombor partition mewakili semua partition untuk persediaan itu. Untuk contoh di atas, nama yang sepadan ialah sda . Huruf pertama nama mungkin juga "h", yang sepadan dengan cakera keras PATA (IDE).

Berikut ialah beberapa contoh peraturan penamaan. Katakan pengguna mempunyai pemacu keras SATA (sda), dan peranti ini mempunyai 4 sekatan - sda1, sda2, sda3 dan sda4. Pengguna memadamkan partition ketiga, tetapi nama partition keempat, sda4, akan kekal tidak berubah sehingga partition keempat diformatkan. Pengguna kemudian memasukkan kad memori USB (sdb) dengan partition - sdb1-, menambah pemacu keras IDE dengan partition - hda1-, dan kemudian menambah pemacu keras SCSI - sdc1. Pengguna kemudian mengeluarkan kad memori USB (sdb). Sekarang, cakera keras SCSI masih dinamakan sdc, tetapi jika SCSI dikeluarkan dan kemudian dimasukkan, namanya akan bertukar kepada sdb. Walaupun terdapat peranti storan lain, pemacu IDE itu masih akan mempunyai "a" dalam namanya kerana ia adalah pemacu IDE yang pertama, dan nama peranti IDE dikira secara berasingan daripada peranti SCSI, SATA, FireWire dan USB.

Pulihkan menggunakan TestDisk:

Setiap perisian pemulihan mempunyai fungsi yang berbeza, ciri dan sistem fail yang disokong. Berikut ialah beberapa garis panduan untuk menggunakan TestDisk untuk memulihkan fail pada pelbagai sistem fail.

FAT16, FAT32, exFAT (FAT64), NTFS dan ext2/3/4:

TestDisk ialah perisian percuma sumber terbuka yang dijalankan pada sistem pengendalian Linux, *BSD, SunOS, Mac OS X, DOS dan Windows. TestDisk juga boleh dipasang dengan menaip sudo apt-get install testdisk. TestDisk mempunyai banyak fungsi, tetapi artikel ini hanya akan menumpukan pada memulihkan fail.

Buka TestDisk dari terminal dengan keistimewaan root dengan menaip perintah sudo testdisk.

Kini, aplikasi baris arahan TestDisk akan dilaksanakan. Paparan terminal akan berubah. TestDisk bertanya kepada pengguna jika ia boleh menyimpan log, ini terpulang sepenuhnya kepada pengguna. Jika pengguna memulihkan fail daripada storan sistem, tidak perlu menyimpan log. Pilihan yang tersedia ialah Jana, Tambah dan Tiada Log. Jika pengguna ingin menyimpan log, log akan disimpan dalam direktori rumah pengguna.

怎样在 Linux 系统中恢复被删除文件

Dalam skrin seterusnya, peranti storan disenaraikan dalam format /dev/*. Untuk sistem saya, unit storan sistem ialah /dev/sda, yang bermaksud unit storan saya ialah pemacu keras SATA (sd) dan ia adalah pemacu keras pertama (a). Kapasiti setiap unit storan ditunjukkan dalam Gigabait. Gunakan kekunci atas dan bawah untuk memilih peranti storan dan klik untuk masuk.

怎样在 Linux 系统中恢复被删除文件

Skrin seterusnya memaparkan senarai jadual partition (juga dipanggil jadual pemetaan partition). Sama seperti fail mempunyai jadual konfigurasi fail, partition mempunyai jadual partition. Partition ialah pembahagian pada peranti storan. Sebagai contoh, dalam hampir semua sistem Linux, terdapat sekurang-kurangnya dua jenis partition - EXT3/4 dan Swap. Setiap jadual partition akan diterangkan secara ringkas di bawah. TestDisk tidak menyokong semua jenis jadual partitioned, jadi ini bukan senarai lengkap.

怎样在 Linux 系统中恢复被删除文件

  • Intel - Jadual partition jenis ini sangat biasa dalam sistem Windows dan banyak sistem Linux Ia juga sering dipanggil jadual partition MBR.
  • EFI GPT - Jadual partition jenis ini biasanya digunakan dalam sistem Linux. Untuk sistem Linux, jadual partition ini adalah yang paling disyorkan kerana konsep partition logic atau extended partition tidak digunakan pada jadual partition GPT (GUID Partition Table). Ini bermakna bahawa pengguna Linux boleh berbilang but daripada pelbagai jenis sistem Linux jika terdapat satu sistem Linux dalam setiap partition. Sudah tentu terdapat kelebihan lain untuk menggunakan jadual partition GPT, tetapi itu adalah di luar skop artikel ini.
  • Humax - Peta partition Humax sesuai untuk peranti yang dikeluarkan oleh syarikat Korea Humax.
  • Mac - Peta Pembahagian Apple (APM) untuk peranti Apple.
  • Tiada - Sesetengah peranti tidak mempunyai jadual partition. Sebagai contoh, banyak konsol permainan Subor tidak menggunakan peta partition. Jika pengguna cuba memulihkan fail daripada peranti sedemikian dengan jenis jadual partition lain, pengguna akan keliru mengapa TestDisk tidak dapat mencari sebarang sistem fail atau fail.
  • Sun - Jadual partition Sun untuk sistem Sun.
  • Xbox -Xbox adalah untuk peranti storan yang menggunakan Peta Partition Xbox.

Jika pengguna memilih "Xbox", walaupun sistemnya menggunakan jadual partition GPT, TestDisk tidak akan dapat mencari sebarang partition atau sistem fail. Jika TestDisk dilaksanakan berdasarkan pilihan pengguna, ia mungkin salah sangka. (Gambar di bawah menunjukkan output apabila jenis jadual partition salah)

怎样在 Linux 系统中恢复被删除文件

Apabila pengguna telah memilih pilihan yang betul untuk peranti mereka, kemudian pada skrin seterusnya, pilih pilihan "Lanjutan".

怎样在 Linux 系统中恢复被删除文件

Kini, pengguna akan melihat senarai semua sistem fail atau partition dalam peranti storan pengguna. Jika pengguna memilih peta partition yang salah, dalam langkah ini pengguna akan mengetahui bahawa mereka telah membuat pilihan yang salah. Jika tiada ralat, serlahkan partition yang mengandungi fail yang dipadam dengan menggerakkan kursor teks. Gunakan kekunci anak panah kiri dan kanan untuk menyerlahkan Senarai yang terletak di bahagian bawah terminal. Kemudian, tekan Enter untuk mengesahkan.

怎样在 Linux 系统中恢复被删除文件

Skrin baharu akan muncul dengan senarai fail dan direktori. Nama fail putih itu ialah fail yang belum dipadamkan, manakala nama fail merah ialah fail yang telah dipadamkan. Lajur paling kanan ialah nama fail, lajur seterusnya dari kanan ke kiri ialah tarikh penciptaan fail, dan lajur kiri ialah saiz fail (dalam bait/bit), dengan "-" di hujung kiri. , " Lajur "d", "r", "w" dan "x" mewakili kebenaran fail. "d" menunjukkan bahawa fail itu ialah direktori, dan istilah kebenaran lain mempunyai sedikit kaitan dengan artikel ini. Item yang diwakili oleh "." di bahagian atas senarai mewakili direktori semasa, dan item yang diwakili oleh ".." dalam baris kedua mewakili direktori unggul bagi direktori semasa, jadi pengguna boleh mencapai direktori dengan memilih baris di mana direktori terletak.

Sebagai contoh, saya ingin pergi ke direktori "Xaiml_Dataset", yang pada asasnya terdiri daripada fail yang dipadam. Dengan menekan kekunci "c" pada papan kekunci saya akan memulihkan fail "computers.xaiml" dan kemudian saya akan diminta untuk memilih direktori destinasi, sudah tentu saya harus meletakkan fail dalam partition lain. Sekarang, apabila saya berada dalam direktori rumah saya, saya menekan kekunci "c". (Apabila memilih direktori sasaran) Tidak kira direktori mana yang diserlahkan Direktori semasa ialah direktori sasaran, dan mesej "Salin Selesai" akan dipaparkan di bahagian atas skrin. Akan ada direktori bernama "Xaiml_Dataset" dalam direktori rumah saya, yang mengandungi fail Xaiml. Jika saya menekan "c" pada lebih banyak fail yang dipadam, fail tersebut akan diletakkan dalam folder baharu tanpa meminta saya untuk direktori destinasi.

Apabila langkah ini selesai, tekan kekunci "q" berulang kali sehingga anda melihat rupa terminal biasa. Direktori "Xaiml_Dataset" hanya boleh diakses oleh pengguna root. Untuk menyelesaikan isu ini, gunakan keistimewaan akar untuk menukar kebenaran direktori ini dan subdirektorinya. Selepas melakukan ini, fail dipulihkan dan pengguna boleh mengaksesnya.

ReiserFS Khas:

Untuk memulihkan fail daripada sistem fail ReiserFS, anda perlu membuat sandaran semua fail dalam partition terlebih dahulu. Kerana kaedah ini boleh menyebabkan kehilangan fail jika ralat tertentu berlaku. Kemudian laksanakan arahan berikut, di mana DEVICE merujuk kepada peranti yang dinamakan dalam bentuk sda2. Sesetengah fail akan diletakkan ke dalam direktori yang hilang+ditemui manakala yang lain akan disimpan ke lokasi di mana ia pada asalnya dipadamkan.

reiserfsck --rebuild-tree --scan-whole-partition /dev/DEVICE
Salin selepas log masuk
Pulihkan fail yang dipadam yang dibuka oleh program:

Andaikan pengguna memadamkan fail secara tidak sengaja dan fail itu dibuka oleh program. Walaupun fail telah dipadamkan daripada cakera keras, program ini menggunakan salinan fail yang terletak dalam RAM. Nasib baik, kami mempunyai dua penyelesaian mudah untuk memulihkan fail.

Jika perisian ini mempunyai fungsi simpan, seperti penyunting teks, pengguna boleh menyimpan semula fail, supaya penyunting teks boleh menulis fail ke cakera keras.

Andaikan terdapat fail MP3 dalam pemain muzik, tetapi pemain muzik tidak boleh menyimpan fail MP3, dalam kes ini, ia akan mengambil lebih banyak masa untuk memulihkan fail daripada sebelumnya. Malangnya, pendekatan ini tidak dijamin berfungsi pada semua sistem dan aplikasi. Pertama, taip arahan berikut.

lsof -c smplayer | grep mp3
Salin selepas log masuk

Arahan di atas akan menyenaraikan semua fail yang digunakan oleh smplayer Senarai ini disalurkan oleh arahan grep untuk mencari mp3. Input arahan adalah serupa dengan yang berikut:

smplayer  10037 collier  mp3    169r      8,1  676376  1704294 /usr/bin/smplayer
Salin selepas log masuk

Sekarang, taip arahan berikut untuk memulihkan fail terus daripada RAM (/proc/ dipetakan ke RAM dalam sistem Linux) dan salin fail ke folder yang dipilih. Antaranya, cp merujuk kepada arahan salinan, nombor 10037 dalam output berasal dari bilangan proses, nombor 169 dalam output merujuk kepada deskriptor fail, "~/Music/" ialah direktori sasaran, dan yang terakhir " music.mp3" ialah direktori yang dikehendaki pengguna. Nama fail yang dipulihkan.

cp /proc/10037/fd/169 ~/Music/music.mp3
Salin selepas log masuk
Pemadaman sebenar:

Untuk memastikan fail tidak dapat dipulihkan, terdapat arahan yang boleh digunakan untuk "memadam" cakera keras. Memadam cakera keras sebenarnya menulis data tidak bermakna ke cakera keras. Sebagai contoh, banyak program pemadaman menulis sifar, huruf rawak, atau data rawak ke cakera keras. Tiada ruang yang diduduki atau hilang, pemadam hanya menimpa bit kosong. Jika unit storan penuh dengan fail dan tiada ruang kosong, semua fail yang dipadamkan sebelum ini akan hilang dan tidak boleh dipulihkan.

Tujuan memadam cakera keras adalah untuk memastikan data peribadi tidak dapat dilihat oleh orang lain. Sebagai contoh, syarikat mungkin memesan beberapa komputer baharu dan pengurus besar memutuskan untuk menjual komputer lama Walau bagaimanapun, pemilik komputer baharu mungkin melihat beberapa maklumat sulit syarikat atau pelanggan seperti nombor kad kredit, alamat, dsb. Nasib baik, juruteknik komputer syarikat itu dapat mengelap cakera keras sebelum menjual komputer lama.

Untuk memasang program erasure secure-delete, taip sudo apt-get install secure-delete Perintah ini akan memasang pemasangan yang mengandungi 4 program untuk memastikan fail yang dipadam tidak dapat dipulihkan.

  • srm - padamkan fail secara kekal. Penggunaan: srm -f ./secret_file.txt
  • sfill - Padam ruang kosong. Penggunaan: sfill -f /mount/point/of/partition
  • sswap - Padamkan ruang swap. Penggunaan: sswap -f /dev/SWAP_DEVICE

Jika komputer benar-benar mengosongkan fail yang dipadam itu, ia akan mengambil masa yang lebih lama untuk melaksanakan tugas pemadaman. Menandai ruang tertentu sebagai kosong adalah pantas dan mudah, tetapi membuat fail hilang selama-lamanya mengambil sedikit masa. Contohnya, memadam unit storan mungkin mengambil masa beberapa jam (bergantung pada saiz cakera). Secara keseluruhannya, sistem semasa berfungsi dengan baik kerana walaupun pengguna mengosongkan sampah, mereka masih mempunyai peluang lain untuk mengubah fikiran asal mereka (atau kesilapan).


Atas ialah kandungan terperinci Bagaimana untuk memulihkan fail yang dipadam dalam sistem Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:linuxprobe.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!