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.