Πώς να επαναφέρετε αρχεία από το lost+found

How to Restore files from lost+found:  Ο φάκελος με τίτλο /lost+found είναι όπου το fsck τοποθετεί θραύσματα αρχείων που δεν μπόρεσε να επισυνάψει πουθενά στο δέντρο καταλόγου. Ο κατάλογος lost+found (όχι Lost+Found ) είναι μια κατασκευή που χρησιμοποιείται από το fsck όταν υπάρχει βλάβη στο σύστημα αρχείων. Τα αρχεία που κανονικά θα χάνονταν λόγω καταστροφής καταλόγου θα συνδέονται στον κατάλογο lost+found αυτού του συστήματος αρχείων με αριθμό inode.

Πώς να επαναφέρετε αρχεία από το lost+found

Το /lost+found είναι ένας σημαντικός κατάλογος που είναι χρήσιμος για την ανάκτηση αρχείων που δεν έχουν κλείσει σωστά για πολλούς λόγους, όπως διακοπή ρεύματος. Lost+Found δημιουργείται από το σύστημα κατά την εγκατάσταση του Linux OS για κάθε διαμέρισμα που δημιουργούμε. Με άλλα λόγια, μπορούμε να πούμε ότι ο προσαρτημένος φάκελος περιέχει αυτόν τον φάκελο lost+found. Αυτός ο φάκελος περιέχει τα αρχεία χωρίς συνδέσμους και αρχεία προς ανάκτηση. Οποιοδήποτε αρχείο προς ανάκτηση διατηρείται σε αυτόν τον φάκελο. Η εντολή fsck χρησιμοποιείται για την ανάκτηση αυτών των αρχείων.

Πώς να επαναφέρετε αρχεία από το lost+found

1.Εάν δεν μπορείτε να κάνετε εκκίνηση και βλέπετε την οθόνη «Συνεχίστε να περιμένετε. Πατήστε S(Press S) για να παραλείψετε την τοποθέτηση ή M για μη αυτόματη ανάκτηση» λόγω σφάλματος συστήματος αρχείων στα διαμερίσματα / και /home. Στη συνέχεια, επιλέξτε την επιλογή ανάκτησης.

2. Εκτελέστε το fsck και στα συστήματα αρχείων fsck on both / and /home

3. Εάν αντιμετωπίζετε πρόβλημα με τη διαγραφή του fsck για το /home , χρησιμοποιήστε:

 fsck -p /home (Automatic fixing)
"fsck -y /home" (this would select yes for all the prompts automatically).

4.Τώρα θα μπορείτε να pass /home from fsck successfully.

5.Εάν δοκιμάσετε το mount /home , δεν θα υπάρχουν αρχεία χρήστη excpet lost+found directory.Εκτελέστε το “ df -h ” και θα δείτε ότι το σύστημα αρχείων σας θα χρησιμοποιεί τον ίδιο χώρο όπως πριν από τη συντριβή, επειδή όλα τα αρχεία βρίσκονται στον κατάλογο lost+found και θα τα ανακτήσουμε.

6.Τώρα στον φάκελο lost+found, θα δείτε ότι υπάρχει μεγάλος αριθμός φακέλων χωρίς όνομα και η ενδελεχής εξέταση του καθενός θα σπαταλήσει τόσο πολύ χρόνο. Στη συνέχεια λοιπόν θα πρέπει να τρέξουμε το “ file * ” για να ξέρουμε με ποιον τύπο αρχείου έχουμε να κάνουμε.

#7479417: directory
#7479418: directory
#7479419: directory
#7602560: directory
#7603310: MPEG sequence, v2, program multiplex
#7603464: JPEG image data, JFIF standard 1.02
#7603542: Audio file with ID3 version 2.3.0, contains: Audio file with ID3 version 2.4.0, contains: MPEG ADTS, layer III, v1, 320 kbps, 44.1 kHz, JntStereo
#7604043: ISO 9660 CD-ROM filesystem data 'Linux Mint 9 Isadora ' (bootable)
#7604089: ISO 9660 CD-ROM filesystem data 'netbook-x86_64-201005242312 ' (bootable)
#7605425: MPEG sequence, v2, program multiplex
#7605470: MPEG sequence, v2, program multiplex
#7605484: MPEG sequence, v2, program multiplex
#7607478: gzip compressed data, from Unix, last modified: Fri May 14 07:55:35 2017
#7607788: gzip compressed data, from Unix, last modified: Tue May 4 14:16:31 2017
#7610801: PDF document, version 1.4
#7612061: ISO 9660 CD-ROM filesystem data 'Ubuntu 10.04 LTS amd64 ' (bootable)
#7613228: directory
#7613583: directory
#7613588: directory

7.Τώρα ας φιλτράρουμε το αποτέλεσμα γιατί θέλουμε απλώς να συμπεριληφθεί ο κατάλογος στο αποτέλεσμά μας. Εκτελέστε λοιπόν το “ file * | grep directory > /root/list.dir ”.

8. Στη συνέχεια, επεξεργαστείτε /root/list.dir για να το κάνετε σενάριο για να εμφανίζεται η λίστα των αρχείων σε κάθε κατάλογο. Επεξεργαστείτε το αρχείο για να το κάνετε σενάριο χρησιμοποιώντας vi, vim, nano. Προσθέστε(Add) το σύνολο -v στην πρώτη γραμμή και προσθέστε το ' ls -l ' στην αρχή κάθε άλλης γραμμής.

set -v
ls -l \#10104455
ls -l \#10104531
ls -l \#10104536

9. Τώρα κάντε το αρχείο εκτελέσιμο( file executable) και, στη συνέχεια, εκτελέστε το και ανακατευθύνετε την έξοδο σε ένα αρχείο:

chmod -x /tmp/list.dir
./list.dir 1> /tmp/list.out 2>&1

10.Τώρα αναζητήστε το αρχείο π.χ. Desktop στο αρχείο εξόδου dir.out(Desktop in the dir.out output file) . Το αποτέλεσμα θα είναι κάπως έτσι:

ls -l \#7733249
total 5704
drwxr-xr-x 2 1002 1002 4096 2017-06-05 13:24 Desktop
drwxr-xr-x 2 1002 1002 4096 2017-04-30 09:15 Documents
drwxr-xr-x 2 1002 1002 4096 2017-04-30 09:15 Downloads
-rw-r--r-- 1 1002 1002 179 2017-04-30 09:14 examples.desktop
drwxr-xr-x 2 1002 1002 4096 2017-04-30 09:15 Music
drwxr-xr-x 2 1002 1002 4096 2017-04-30 09:15 Pictures
drwxr-xr-x 2 1002 1002 4096 2017-04-30 09:15 Public
-rw-r--r-- 1 1002 1002 5794003 2017-05-15 11:00 scrap001_a.ora
drwxr-xr-x 2 1002 1002 4096 2017-04-30 09:15 Templates
-rw-r--r-- 1 1002 1002 1265 2017-05-20 14:35 tinda chuteny
drwxrwxr-x 2 1002 1002 4096 2017-05-23 14:57 Ubuntu One
drwxr-xr-x 2 1002 1002 4096 2017-04-30 09:15 Videos

11.Η παραπάνω έξοδος όρισε ότι ο αρχικός κατάλογος είναι #7733249 . Τώρα για να επαναφέρετε τον αρχικό φάκελο, απλώς mv τον φάκελο:

mv /lost+found/#7733249 /home/yourUsername

Σημείωση: Αντικαταστήστε το όνομα χρήστη σας με το πραγματικό όνομα χρήστη της εγκατάστασης Linux.(Linux installation.)

Μέθοδος 2: Χρησιμοποιήστε το σενάριο για αυτόματη ανάκτηση αρχείων

Πρώτα, εκτελέστε το " sudo -i " ή ένα " sudo su - " και μετά εκτελέστε το παρακάτω σενάριο που εκτελείται στο σύστημα αρχείων /dev/sd?? και εξάγει στο /tmp/listing:

fsck -y /dev/sd??
mkdir /tmp/recover
mount /dev/sd?? /tmp/recover -o rw
cd /tmp/recover-lost+found
(
echo ‘set -v’
file * | grep directory 2>/dev/null | perl -pe ‘s/^(\#[0-9]+)\:.*$/ls -l ‘”‘”‘$1'”‘”‘/’
) | sh > /tmp/listing

Αυτό είναι που έχετε μάθει με επιτυχία How to Restore files from lost+found , αλλά αν εξακολουθείτε να έχετε οποιαδήποτε απορία σχετικά με αυτό το άρθρο, μην διστάσετε να τις ρωτήσετε στην ενότητα των σχολίων.



About the author

Είμαι μηχανικός λογισμικού με εμπειρία στην Εξερεύνηση Xbox, Microsoft Excel και Windows 8.1 Explorer. Στον ελεύθερο χρόνο μου, μου αρέσει να παίζω βιντεοπαιχνίδια και να βλέπω τηλεόραση. Έχω πτυχίο από το Πανεπιστήμιο της Γιούτα και αυτή τη στιγμή εργάζομαι ως μηχανικός λογισμικού σε μια διεθνή εταιρεία.



Related posts