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