web-dev-qa-db-fra.com

récupérer des fichiers sur ext4

Ma mère a placé des fichiers importants sur son/tmp par accident. Maintenant, bien sûr, ils sont partis.

C'est arrivé hier (2 bottes de la machine depuis)

Je veux essayer de récupérer les fichiers. Ils étaient sur/tmp, qui était sur la même partition que le reste de /, donc j'ai besoin d'un outil qui tourne sur un système monté (ou peut-être que je pourrais utiliser un livecd ...)

En ce moment, j'essaie testdisk sur un systemrescuecd que je viens de télécharger. Je peux obtenir des fichiers de/tmp, mais pas tous. (est-ce le bon outil? Que sont exactement ces fichiers "rouges"? ne sont-ils que quelques-uns récupérables?)

10
josinalvo

Vous pouvez également utiliser extundelete

Commencez par démonter (umount) le système de fichiers dans lequel les fichiers ont été supprimés.
Puis lisez le chapitre . Que faire si vous avez supprimé un fichier .

Vous pouvez installer extundelete à partir du référentiel Ubuntu classique:

Sudo apt-get install extundelete

Ou mieux, vous pouvez télécharger le dernière version et le compiler:

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

Exemple d'utilisation: restaurez tous les fichiers supprimés du répertoire Images dans le nouveau répertoire créé restore

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

Mauvaise nouvelle si vous voyez votre fichier XXXX dans le format suivant:

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

Voir tous les fichiers restaurés (recherchez votre fichier):

find restore -name '*'

Sauvegardez vos fichiers et supprimez ce répertoire temporaire restore

cp restore/Images/XXXX MY_BACKUP_DIRECTORY
Sudo rm -rf restore  
13
olibre

La récupération de données, en particulier sur les systèmes de fichiers EXT, doit être tentée à partir d’un live CD ou d’un autre système ne dépendant pas de la partition sur laquelle vous annulez la suppression. Le fait de démonter le disque ou de le remonter en lecture seule aide beaucoup à la récupération.

La plupart du temps, j'essaie de créer une image de la partition ou du disque en utilisant dd ou un outil similaire, de sorte que je ne travaille pas sur le disque lui-même:

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

Une fois que vous avez votre image, vous pouvez utiliser un outil tel que ext3grep pour essayer de trouver les fichiers que vous recherchez. Vous pouvez essayer beaucoup de commutateurs différents, mais cela pourrait être un bon début:

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

L'utilitaire ext3grep fournit également plusieurs méthodes différentes pour effectuer une recherche dans le système de fichiers si vous ne connaissez pas le nom du fichier. Vérifiez ext3grep --help pour connaître les différentes méthodes de recherche.

10
Windigo

J'ai préféré utiliser ext4magic comme:

Sudo ext4magic  /dev/sdc3 -r -f $USERl/Documents/ -d /tmp/local/tmp/

Notez que vous devez résoudre le lien symbolique par votre propre

Références:

http://sourceforge.net/projects/ext4magic/

http://rzr.online.fr/q/recover

7
rzr

AnalyseEXT

Analyser les blocs de données pour les données du répertoire EXT.

Une documentation détaillée sur EXT4 peut être trouvée ici:

Téléchargez le script Perl avec

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

Aucune garantie, mais peut être en mesure de reconstruire les systèmes de fichiers supprimés.

0
jouell

Je ne pouvais pas récupérer mon fichier crontab en utilisant ext4magic ou extundelete.

Sur Debian, la crontab pour root est ici:

/var/spool/cron/crontabs/root

Mais, en utilisant la commande suivante, j'ai pu au moins récupérer manuellement ma crontab à partir des journaux.

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

Il ne produira que les tâches cron exécutées (pas de minutage), mais au moins c'est beaucoup plus que de partir de zéro.

Si vous ne vous souvenez pas de la fréquence d'exécution de certains travaux cron, créez un journal complet, par exemple. syslog.1 et cela vous donnera le nombre de courses dans la journée:

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