FSCK сообщает, что в файловой системе все еще есть ошибки - что мне теперь делать?
2 ответа
УМНАЯ информация о HDD и SSD
Проверьте информацию SMART. Легко использовать псевдоним Диски gnome-disks по этой ссылке,
Выберите SMART с помощью кнопки в (1) и проверьте общую оценку в (2).
Бежать fsck на ext4 файловая система
Когда я использую fsck на ext4 Файловая система Я загружаюсь с другого диска и размонтирую файловую систему.
sudo e2fsck -f /dev/sdxn
где x - буква устройства, а n - номер раздела, в вашем случае /dev/sda1 по скриншоту.
Иногда это помогает выполнить эту команду дважды. Иногда файловая система повреждена без возможности восстановления.
Иногда возникают плохие сектора (аппаратные дефекты на диске). Затем вы можете пометить поврежденные сектора (и заставить систему их избегать) с помощью следующей команды
sudo e2fsck -cfk /dev/sdxn
См. Руководство
man e2fsck
для получения дополнительной информации и следующей ссылки для получения дополнительных советов о восстановлении файловых систем,
Я боюсь, что ваш жесткий диск имеет плохие блоки или он не работает. Вы видите это сообщение: blk_update_request: I/O error, dev sda, sector 2048? Это означает, что невозможно прочитать этот сектор с физического устройства.
Вам нужно загрузиться с LiveCD и проверить ваш диск с помощью:
$ sudo smartctl -HA /dev/sda
и проверить линиюSMART overall-health self-assessment test result: PASSEDи линия Reallocated_Sector_Ct должен содержать 0 в RAW_VALUE поле.
Если SMART самопроверка PASSED Вы можете попытаться переназначить badblocks инструмент:
$ sudo badblocks -svo ~/msg.log /dev/sda
и запустить fsck после:
$ sudo fsck -a /dev/sda1
Если SMART самопроверка FAILED вам нужно заменить жесткий диск.
PS: Все эти шаги вы должны сделать из сессии LiveCD. И вы должны заменить /dev/sda на ваш диск.
Обновление [11.11.2017]: Итак, я проверил один из моих старых HHD с badblocks и у меня есть эти сообщения в моем syslog:
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
Итак, все сообщения об ошибках ввода / вывода пришли из ядра. Самое интересное, что я нашел в этой строке:
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
Как я понимаю, это декодированное сообщение из прошивки диска. Похоже, что прошивка обнаружила ошибку чтения и попыталась перераспределить сектор и потерпела неудачу с ним. Следовательно, в нашем случае badblocks ничего не делал, кроме чтения всех секторов, и мы могли бы заменить его dd if=/dev/sdX of=/dev/null,
И теперь я полностью обеспокоен sudodus, Наиболее подходящим решением является:
sudo e2fsck -cfk /dev/sdxn

