Что-то произошло, когда я копировал файлы на диск ext3 (через сеть, смонтированный самбой), и я потерял способность записывать что-либо на этот жесткий диск. После того, как я использовал dmesg команда поясняется:
db: Current: sense key=0x3
ASC=0x0 ASCQ=0x0
Info fld=0xa2fce10
end_request: I/O error, dev sdb, sector 170905104
EXT3-fs error (device sdb2): read_block_bitmap: Cannot read block bitmap - block_group = 644, block_bitmap = 21102592
Aborting journal on device sdb2.
ext3_abort called.
EXT3-fs error (device sdb2): ext3_journal_start_sb: Detected aborted journal
Remounting filesystem read-only
EXT3-fs error (device sdb2) in ext3_prepare_write: IO failure
__journal_remove_journal_head: freeing b_committed_data
__journal_remove_journal_head: freeing b_committed_data
__journal_remove_journal_head: freeing b_committed_data
__journal_remove_journal_head: freeing b_committed_data
__journal_remove_journal_head: freeing b_committed_data
__journal_remove_journal_head: freeing b_committed_data
Я исследовал проблему дальше и выяснил, что журнал, вероятно, поврежден. Было предложено: размонтировать диск, удалить журнал из файловой системы, используя tune2sf, используйте e2fsck для сканирования диска и, наконец, воссоздания журнала, используя tune2fs. Это сложная часть, потому что диск помечен как need_revocery и журнал не может быть удален (даже когда я принудительно удаляю e2fck это не позволит). Я пытаюсь изменить флаг, используя debugfs но программа каждый раз дает сбой:
Can't read an block bitmap while reading block bitmap
Я на 99% уверен, что данные на диске не повреждены, и когда я использую e2fsck прежде чем я удалю журнал, он определенно испортит некоторые данные.
Есть идеи, как удалить флаг needs_recovery с этого диска, чтобы я мог удалить журнал?
Проблема не в самом журнале. У вас есть нечитаемый блок (например, сбой диска), который повредил журнал или другие метаданные, поэтому просто избавьтесь от журнала. не правильное решение.
Я настоятельно рекомендую вам сделать резервную копию всего, что вы можете, и заменить неисправный диск.
Как уже сказал @shodanshok, журнал все равно невозможно удалить, так как этот конкретный сектор выходит из строя. Есть простое спасение: смонтировать раздел как ext2, а не ext3, так что блок журнала вообще не читается. Затем сделайте резервную копию всех данных как можно быстрее. У меня была такая же проблема несколько дней назад.