ext4'teki dosyaları geri alma


11

Annem kaza başına / tmp üzerine bazı önemli dosyalar koydu. Şimdi, elbette, onlar gitti.

Bu dün oldu (o zamandan beri makinenin 2 botu)

Dosyaları silme işlemini geri almak istiyorum. Onlar / tmp, hangi / ile geri kalan bölümü oldu, bu yüzden monte edilmiş bir sistem üzerinde çalışan bir araca ihtiyacım var (ya da belki bir livecd kullanabilirsiniz ...)

Şu anda, yeni indirdiğim bir systemrescuecd üzerinde testdisk'i deniyorum. / Tmp'den bazı dosyalar alabilirim, ama hepsini alamadım. (doğru araç mu? Bu "kırmızı" dosyalar tam olarak nedir? yalnızca bir kısmı kurtarılabilir mi?)

Yanıtlar:


15

Ayrıca kullanabilirsiniz extundelete

Önce umountdosyaların silindiği dosya sisteminin bağlantısını kesin ( ).
Ardından bir dosyayı sildiyseniz ne yapmalı bölümünü okuyun .

extundeleteKlasik Ubuntu deposundan yükleyebilirsiniz :

sudo apt-get install extundelete

Ya da daha iyisi, en son sürümü indirebilir ve derleyebilirsiniz:

cd ~/Download
tar -xf extundelete-*.*.*-.tar.bz2  #Replace *.*.* by the version
cd      extundelete-*.*.*
sudo apt-get install e2fslibs-dev   #Required for compilation
./configure
make
sudo make install
extundelete --version               #Should be your *.*.* version

Kullanım örneği: Silinen tüm dosyaları Imagesdizinden yeni oluşturulan dizine geri yüklerestore

sudo extundelete --restore-directory Images/ -o restore /dev/sda3

Dosyanızı XXXXaşağıdaki biçimde görürseniz kötü haber :

Unable to restore inode NNN (Images/XXXX): Space has been reallocated.

Geri yüklenen tüm dosyaları görün (dosyanızı arayın):

find restore -name '*'

Dosyalarınızı yedekleyin ve bu geçici dizini kaldırın restore

cp restore/Images/XXXX MY_BACKUP_DIRECTORY
sudo rm -rf restore  

3
Bu cevap tam anlamıyla işimi kurtardı. Teşekkür ederim.
Twifty

10

Özellikle EXT dosya sistemlerinde veri kurtarma işlemi, canlı bir CD'den veya silme işlemini geri aldığınız bölüme bağlı olmayan başka bir sistemden denenmelidir. Diskin sökülmesini veya salt okunur olarak yeniden monte edilmesini sağlamak, kurtarma çabasında çok yardımcı olur.

Çoğu zaman dddiskin kendisi üzerinde çalışmıyorum böylece bir bölümü veya diskin bir görüntüsünü veya benzer bir aracı kullanarak oluşturmaya çalışın :

dd if=/dev/sd[xx] of=/media/backup_drive/recovery.img

Resminizi aldıktan sonra, aradığınız ext3grepdosyaları bulmaya çalışmak gibi bir araç kullanabilirsiniz . Deneyebileceğiniz birçok farklı anahtar var, ancak bu iyi bir başlangıç ​​olabilir:

ext3grep --restore-file 'tmp/moms-file.txt' recovery.img

Yardımcı ext3grepprogram ayrıca dosyanın adını bilmiyorsanız dosya sisteminde arama yapmak için birkaç farklı yol sağlar. ext3grep --helpÇeşitli arama yöntemlerini kontrol edin .


Kesin adımları ekleyebilseydiniz iyi olur mu?
saji89

@ saji89 Bir örnek kullanım eklendi - ayrıca doğru yardımcı programa bağlanmak için düzeltildi!
Windigo

Güzel. şimdi ... ext4 ile çalışıyor mu?
josinalvo

1
@josinalvo Denediğimde bir EXT4 birimi ile çalışıyordum ve işe yaradı; aradığım dosyaları bulamadı, ama sanırım fırsat penceresini kaçırmıştım.
Windigo


0

Ext4magic veya extundelete kullanarak crontab dosyamı kurtaramadım.

Debian'da, kök için crontab burada:

/var/spool/cron/crontabs/root

Ancak, aşağıdaki komutu kullanarak, en azından el ile crontab günlüklerden kurtarmak mümkün.

 grep CRON /var/log/syslog.* -i| awk -F " CMD " {'print $2;'} |sort | uniq

Yalnızca yürütülen cron işlerini (zamanlama yok) verir, ancak en azından bu sıfırdan başlamaktan çok daha fazladır.

Belirli cron işlerinin ne sıklıkta çalıştığını hatırlamıyorsanız, syslog.1 gibi tam bir günlük alın ve bu size gün boyunca çalıştırma sayısını verecektir:

grep CRON /var/log/syslog.1 -i| awk -F " CMD " {'print $2;'} |sort | uniq -c |sort -n

0

AnalyzeEXT

EXT dizin verileri için veri bloklarını ayrıştırın.

EXT4 ile ilgili ayrıntılı belgeleri burada bulabilirsiniz:

İle perl betiğini indirin

git clone https://github.com/halpomeranz/analyzeEXT

Garanti yoktur, ancak silinen dosya sistemlerini yeniden oluşturabilir.


1
Bu araç tam olarak nedir? Nasıl kullanıyorsun? Koddaki repo açıklamasını ve yardım mesajını okudum , ancak çok fazla ayrıntı yok.
wjandrea

Perl betiğine bir göz attı; cli yardımı komut dosyasıyla eşleşmiyor!
abu_bua

Daha fazla ayrıntı burada. Tökezledim - hiç kullanmadım! youtube.com/watch?v=6pzm6909IvY
jouell

@jouell 2:30 videoyu izledim ve senaryodan henüz bahsetmedi. Kısa bir özet eklemek için cevabınızı düzenleyebilir misiniz ?
wjandrea
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.