GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - Après le crash de Fs et l'exécution de Fsck, certains fichiers ont été récupérés mais pas placés dans Lost+found ?

J'ai eu une erreur d'E/S sur une partition de disque dur externe sdb4 (son point de montage habituel étant /run/media/yan/data).

La partition ne répondait pas, n'était pas accessible et refusait de se démonter. Je ne savais pas quoi faire mais débrancher le disque et le rebrancher. Après cela, j'ai eu une erreur sur son fs, alors j'ai lancé fsck :

sudo e2fsck /dev/sdb4 -y -v

Il demandait beaucoup de correctifs (des milliers) mais comme les données ne sont pas critiques sur ce disque, je l'ai exécuté avec -y.

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

Donc, si je comprends bien, fsck a réussi à récupérer 70 000 fichiers, donc la plupart des fichiers depuis que j'avais entre 75 et 80 000 fichiers sur ce disque. Le problème est que seuls 20k fichiers apparaissent dans '/run/media/yan/data/lost+found', et seulement 24k sur toute la partition.

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

J'ai relancé fsck mais il me dit que la partition est claire (et a 74k fichiers ?)

[[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]

J'ai également une utilisation du disque très différente selon df et du (je sais qu'il devrait y avoir une différence, mais ici, cela semble trop gros pour être normal):

[[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

Je suppose qu'il y a encore des données récupérées auxquelles je ne peux pas accéder.
Mes questions sont :

1) Est-il possible que les fichiers récupérés par fsck ne soient pas placés dans lost+found ? Dans ce cas, où sont-ils ?

2) Existe-t-il un moyen de récupérer ces fichiers manquants ?

3) Si non, comment libérer cet espace ?

MODIFIER :

J'ai essayé une version plus récente d'e2fsck sur la recommandation de sourcejedi :

[[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

Cela n'a pas fait grand-chose, lost+found a toujours le même nombre et la même taille de fichiers.

En relation :Comment obtenir des descriptions des options `shopt` disponibles ?

Réponse acceptée :

Je remarque également que le nombre de liens est très suspect (près de 2^32).

vous pouvez essayer e2fsck plus récent et/ou signaler un bogue. c'est certainement un bug.

scanner le périphérique/la partition avec photorec peut restaurer plus de fichiers, où le format est pris en charge et ils sont contigus. étant donné que votre FS est assez plein, de nombreux fichiers ne sont pas contigus. photorec ne récupère pas les noms de fichiers ou les répertoires. (par exemple, si ce sont des mp3, vous pouvez utiliser quelque chose comme picard pour appliquer les noms de fichiers à partir des métadonnées mp3 alias balises ID3). notez photorec nécessite de l'espace libre sur un autre système de fichiers pour récupérer tous les fichiers.


Linux
  1. Comment archiver et compresser des fichiers sous Linux

  2. Linux - Pourquoi utilisons-nous Su - Et pas seulement Su ?

  3. Le but du dossier Lost+found sous Linux et Unix ?

  4. Dépannage et débogage du réseau Linux ?

  5. bash - supprime tous les répertoires (et contenus) mais pas les fichiers dans pwd

Rechercher la commande sous Linux (Rechercher des fichiers et des répertoires)

Comment renommer des fichiers et des répertoires sous Linux

Comment compresser des fichiers et des répertoires sous Linux

Comment verrouiller le clavier et la souris, mais pas l'écran sous Linux

Trouvez facilement des fichiers et des répertoires sur Linux

Certains dossiers et/ou fichiers sur disque dur externe sont accessibles sous Linux mais pas sous macOS et Windows