Всего новичков. Немного узнать о fsck на лету, но то, что я нахожу до сих пор, похоже, не очень сильно, когда я его применяю. Каким будет следующий шаг из этой подсказки для исправления ошибок, возникающих при загрузке?
Я боюсь, что ваш жесткий диск имеет badblocks или он не работает. Вы видите это сообщение: 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 с помощью инструмента badblocks:
$ sudo badblocks -svo ~/msg.log /dev/sda
и запустить fsck после:
$ sudo fsck -a /dev/sda1
Если самотестирование SMART FAILED, вам нужно заменить ваш жесткий диск.
PS: Все эти шаги вы должны выполнить с сеанса LiveCD. И вы должны заменить /dev/sda на свой диск.
Update [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
Проверьте значение S.M.A.R.T. Информация. Легко использовать псевдоним дисков gnome-disks в соответствии с этой ссылкой,
Реформировать жесткий диск после повреждения поврежденного загрузочного сектора вредоносным программным обеспечением - прокрутить вниз до «Возможно, повреждено оборудование на диске»
Выбрать S.M.A.R.T. через кнопку at (1) и проверить общую оценку на (2).
Когда я использую fsck в файловой системе ext4, я загружаюсь с другого диска и размонтирую файловую систему.
sudo e2fsck -f /dev/sdxn
где x - буква устройства, а n - номер раздела, в вашем случае /dev/sda1 в соответствии с снимком экрана.
Иногда это помогает выполнить эту команду дважды. Иногда файловая система повреждена без возможности восстановления.
Иногда возникают неисправные сектора (аппаратные дефекты на диске). Затем вы можете отметить поврежденные сектора (и заставить их избегать их) следующей командой
sudo e2fsck -cfk /dev/sdxn
Подробнее см. Руководство
man e2fsck
и следующую ссылку для получения дополнительных рекомендаций по ремонту файловых систем,
Исправьте таблицу разделов и файловую систему pendrive
Я боюсь, что ваш жесткий диск имеет badblocks или он не работает. Вы видите это сообщение: 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 с помощью инструмента badblocks:
$ sudo badblocks -svo ~/msg.log /dev/sda
и запустить fsck после:
$ sudo fsck -a /dev/sda1
Если самотестирование SMART FAILED, вам нужно заменить ваш жесткий диск.
PS: Все эти шаги вы должны выполнить с сеанса LiveCD. И вы должны заменить /dev/sda на свой диск.
Update [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
Проверьте значение S.M.A.R.T. Информация. Легко использовать псевдоним дисков gnome-disks в соответствии с этой ссылкой,
Реформировать жесткий диск после повреждения поврежденного загрузочного сектора вредоносным программным обеспечением - прокрутить вниз до «Возможно, повреждено оборудование на диске»
Выбрать S.M.A.R.T. через кнопку at (1) и проверить общую оценку на (2).
Когда я использую fsck в файловой системе ext4, я загружаюсь с другого диска и размонтирую файловую систему.
sudo e2fsck -f /dev/sdxn
где x - буква устройства, а n - номер раздела, в вашем случае /dev/sda1 в соответствии с снимком экрана.
Иногда это помогает выполнить эту команду дважды. Иногда файловая система повреждена без возможности восстановления.
Иногда возникают неисправные сектора (аппаратные дефекты на диске). Затем вы можете отметить поврежденные сектора (и заставить их избегать их) следующей командой
sudo e2fsck -cfk /dev/sdxn
Подробнее см. Руководство
man e2fsck
и следующую ссылку для получения дополнительных рекомендаций по ремонту файловых систем,
Исправьте таблицу разделов и файловую систему pendrive