GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Nach dem Absturz von Fs und dem Ausführen von Fsck wurden einige Dateien wiederhergestellt, aber nicht in Lost + Found abgelegt?

Ich hatte einen E/A-Fehler auf einer externen Festplattenpartition sdb4 (der übliche Einhängepunkt ist /run/media/yan/data).

Die Partition reagierte nicht, konnte nicht aufgerufen werden und weigerte sich, die Bereitstellung aufzuheben. Ich wusste nicht, was ich tun sollte, aber die Festplatte ausstecken und wieder einstecken. Danach hatte ich einen Fehler auf seinem fs, also habe ich fsck:

ausgeführt
sudo e2fsck /dev/sdb4 -y -v

Es hat nach vielen Korrekturen (Tausende) gefragt, aber da die Daten auf dieser Festplatte nicht kritisch sind, habe ich sie mit -y ausgeführt.

data contains a file system with errors, check forced.

Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
# Fixed invalid inode numbers, incorrect filetypes, cleared links, deleted/unused inodes
Pass 3: Checking directory connectivity
# Connected unconnected directory inodes to /lost+found
Pass 4: Checking reference counts
#Fix inodes ref count, connected unattached inode to /lost+found
Pass 5: Checking group summary information
# Fix block bitmap differences, blocks count wrong for group
# Fix inode bitmap differences, directories count wrong for group, free inodes count wrong for group

data: ***** FILE SYSTEM WAS MODIFIED *****

       72955 inodes used (0.14%, out of 51200000)
        2390 non-contiguous files (3.3%)
          17 non-contiguous directories (0.0%)
             # of inodes with ind/dind/tind blocks: 0/0/0
             Extent depth histogram: 72264/636/1
   186984621 blocks used (91.30%, out of 204800000)
           0 bad blocks
          34 large files

       70447 regular files
        2453 directories
           0 character device files
           0 block device files
           0 fifos
  4294966642 links
          46 symbolic links (46 fast symbolic links)
           0 sockets
------------
   71063 files

Wenn ich das richtig verstehe, hat es fsck geschafft, 70.000 Dateien zu retten, also die meisten Dateien, da ich etwa 75-80.000 Dateien auf dieser Festplatte hatte. Das Problem ist, dass nur 20.000 Dateien in „/run/media/yan/data/lost+found“ erscheinen und nur 24.000 auf der gesamten Partition.

[[email protected] ~]$ find /run/media/yan/data/lost+found | wc -l
19786
[[email protected] ~]$ find /run/media/yan/data | wc -l
23691

Ich habe fsck erneut ausgeführt, aber er sagt mir, dass die Partition leer ist (und 74.000 Dateien hat?)

[[email protected] ~]$ sudo fsck /dev/sdb4
fsck from util-linux 2.28
e2fsck 1.42.13 (17-May-2015)
data: clean, 74200/51200000 files, 186685980/204800000 blocks[/cpp]

Ich habe auch eine sehr unterschiedliche Festplattennutzung nach df und du (ich weiß, dass es einen Unterschied geben sollte, aber hier scheint es zu groß, um normal zu sein):

[[email protected] ~]$ df -h /run/media/yan/data
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb4       769G  700G   31G  96% /run/media/yan/data

[[email protected] ~]$ du -sh /run/media/yan/data
586G    /run/media/yan/data

Ich schätze, es gibt immer noch wiederhergestellte Daten, auf die ich nicht zugreifen kann.
Meine Fragen sind:

1) Ist es möglich, dass durch fsck wiederhergestellte Dateien nicht in lost+found platziert werden? Wo sind sie in diesem Fall?

2) Gibt es eine Möglichkeit, diese fehlenden Dateien zurückzubekommen?

3) Wenn nicht, wie gebe ich diesen Speicherplatz frei?

BEARBEITEN:

Ich habe eine neuere Version von e2fsck auf Empfehlung von sourcejedi ausprobiert:

[[email protected] build]$ sudo ./e2fsck/e2fsck -f /dev/sdb4
e2fsck 1.43.3 (04-Sep-2016)
Pass 1: Checking inodes, blocks, and sizes
Inode 40501578 extent tree (at level 2) could be narrower.  Fix<y>? yes

Pass 1E: Optimizing extent trees
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

data: ***** FILE SYSTEM WAS MODIFIED *****
data: 74200/51200000 files (3.2% non-contiguous), 186685964/204800000 blocks

Es hat nicht viel gebracht, lost+found hat immer noch die gleiche Dateianzahl und -größe.

Verwandte:Wie erhalte ich Beschreibungen der verfügbaren `shopt`-Optionen?

Akzeptierte Antwort:

Ich bemerke auch, dass die Anzahl der Links sehr verdächtig ist (fast 2^32).

Sie können neueres e2fsck ausprobieren und/oder einen Fehler melden. das ist sicherlich ein Bug.

Scannen des Geräts/der Partition mit photorec kann mehr Dateien wiederherstellen, wenn das Format unterstützt wird und sie zusammenhängend sind. Da Ihr FS ziemlich voll ist, sind viele Dateien nicht zusammenhängend. photorec stellt keine Dateinamen oder Verzeichnisse wieder her. (z. B. wenn es sich um MP3s handelt, können Sie so etwas wie picard verwenden um Dateinamen aus den mp3-Metadaten, auch bekannt als ID3-Tags, anzuwenden). Beachten Sie photorec erfordert freien Speicherplatz auf einem anderen Dateisystem, um alle Dateien wiederherzustellen.


Linux
  1. So archivieren und komprimieren Sie Dateien unter Linux

  2. Linux Dateien und Verzeichnisse löschen

  3. So finden und löschen Sie Dateien, die älter als ein bestimmter Zeitraum in Linux sind

  4. Wie finde ich heraus, welche Dateien und Ordner kürzlich in Linux gelöscht wurden?

  5. bash - entfernt alle Verzeichnisse (und Inhalte), aber keine Dateien in pwd

Find-Befehl in Linux (Dateien und Verzeichnisse suchen)

So benennen Sie Dateien und Verzeichnisse in Linux um

So komprimieren Sie Dateien und Verzeichnisse unter Linux

So sperren Sie Tastatur und Maus, aber nicht den Bildschirm unter Linux

Finden Sie Dateien und Verzeichnisse unter Linux ganz einfach

Auf einige Ordner und/oder Dateien auf der externen Festplatte kann unter Linux, aber nicht unter macOS und Windows zugegriffen werden