Total débutant. En apprendre un peu sur fsck à la volée, mais ce que je découvre jusqu’à présent ne semble pas faire grand chose lorsque je l’applique. Quelle serait la prochaine étape de cette invite pour réparer les erreurs que je rencontre lors de l’amorçage?
Vérifiez les informations S.M.A.R.T.. Il est facile d’utiliser Disks alias gnome-disks
selon ce lien,
Sélectionnez S.M.A.R.T. À l'aide du bouton situé en (1) et vérifiez l'évaluation globale en (2).
fsck
sur un système de fichiers ext4
Lorsque j'utilise fsck
sur un système de fichiers ext4
, je démarre à partir d'un autre lecteur et démonte le système de fichiers.
Sudo e2fsck -f /dev/sdxn
où x est la lettre du périphérique et n le numéro de la partition, dans votre cas /dev/sda1
selon la capture d'écran.
Parfois, il est utile d’exécuter cette commande deux fois. Parfois, le système de fichiers est endommagé de manière irréparable.
Parfois, il y a des secteurs défectueux (défauts matériels sur le lecteur). Ensuite, vous pouvez marquer les secteurs défectueux (et faire en sorte que le système les évite) avec la commande suivante
Sudo e2fsck -cfk /dev/sdxn
Voir le manuel
man e2fsck
pour plus de détails et le lien suivant pour plus de conseils sur la réparation des systèmes de fichiers,
Réparer la table de partition et le système de fichiers d'une clé USB
Je crains que votre disque dur a badblocks ou il est mort. Voyez-vous ce message: blk_update_request: I/O error, dev sda, sector 2048
? Cela signifie qu'il est impossible de lire ce secteur à partir d'un périphérique physique.
Vous devez démarrer à partir d’un LiveCD et vérifier que vous conduisez avec:
$ Sudo smartctl -HA /dev/sda
et vérifiez la ligne SMART overall-health self-assessment test result: PASSED
et la ligne Reallocated_Sector_Ct
doit contenir 0
dans le champ RAW_VALUE
.
Si SMART l'autotest est PASSED
name__, vous pouvez essayer de "remapper" les badblocks avec l'outil badblocks
name__:
$ Sudo badblocks -svo ~/msg.log /dev/sda
et lancez fsck après:
$ Sudo fsck -a /dev/sda1
Si SMART l'autotest est FAILED
name__, vous devez remplacer votre disque dur.
PS: Toutes ces étapes à faire à partir de la session LiveCD. Et vous devez remplacer /dev/sda
sur votre lecteur.
Mise à jour [11.11.2017]: J'ai donc vérifié l'un de mes anciens disques durs avec badblocks
et j'ai ces messages dans mon syslog
name__:
Nov 10 13:46:55 router kernel: [ 121.339691] ata2.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
Nov 10 13:46:55 router kernel: [ 121.339702] ata2.01: BMDMA stat 0x64
Nov 10 13:46:55 router kernel: [ 121.339711] ata2.01: failed command: READ DMA
Nov 10 13:46:55 router kernel: [ 121.339726] ata2.01: cmd c8/00:08:58:64:00/00:00:00:00:00/f0 tag 0 dma 4096 in
Nov 10 13:46:55 router kernel: [ 121.339726] res 51/40:00:5b:64:00/00:00:00:00:00/f0 Emask 0x9 (media error)
Nov 10 13:46:55 router kernel: [ 121.339733] ata2.01: status: { DRDY ERR }
Nov 10 13:46:55 router kernel: [ 121.339738] ata2.01: error: { UNC }
Nov 10 13:46:55 router kernel: [ 121.364282] ata2.00: configured for UDMA/100
Nov 10 13:46:55 router kernel: [ 121.380287] ata2.01: configured for UDMA/100
Nov 10 13:46:55 router kernel: [ 121.380327] sd 1:0:1:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Nov 10 13:46:55 router kernel: [ 121.380337] sd 1:0:1:0: [sdb] tag#0 Sense Key : Medium Error [current] [descriptor]
Nov 10 13:46:55 router kernel: [ 121.380346] sd 1:0:1:0: [sdb] tag#0 Add. Sense: Unrecovered read error - auto reallocate failed
Nov 10 13:46:55 router kernel: [ 121.380355] sd 1:0:1:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 64 58 00 00 08 00
Nov 10 13:46:55 router kernel: [ 121.380361] blk_update_request: I/O error, dev sdb, sector 25691
Nov 10 13:46:55 router kernel: [ 121.380369] Buffer I/O error on dev sdb, logical block 3211, async page read
Nov 10 13:46:55 router kernel: [ 121.380410] ata2: EH complete
Ainsi, tous les messages concernant les erreurs d’entrée/sortie provenaient du noyau. La chose la plus intéressante que j'ai trouvée est dans cette ligne:
Nov 10 13:46:55 router kernel: [ 121.380346] sd 1:0:1:0: [sdb] tag#0 Add. Sense: Unrecovered read error - auto reallocate failed
Si je comprends bien, il s’agit d’un message décodé du micrologiciel du disque. Il semble que le microprogramme ait détecté une erreur de lecture et tenté de réaffecter le secteur et échoué. Par conséquent, dans notre cas, badblocks
ne faisait que lire tous les secteurs et nous pouvions le remplacer par dd if=/dev/sdX of=/dev/null
.
Et maintenant, je suis totalement désemparé avec sudodus
name__. La solution la plus appropriée est:
Sudo e2fsck -cfk /dev/sdxn