如何删除 ext3 网络驱动器上的日志

如何删除 ext3 网络驱动器上的日志

当我将文件复制到 ext3 驱动器(通过网络,由 samba 安装)时,发生了一些事情,我无法将任何内容写入此硬盘。在我使用消息命令解释如下:

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。这是棘手的部分,因为驱动器被标记为需要_revocery并且无法删除日志(即使我强制删除埃2fck它不允许这样做)。我尝试使用调试文件系统但程序每次都失败:

Can't read an block bitmap while reading block bitmap

我 99% 确定驱动器上的数据没有损坏,当我使用e2fsck在我删除日志之前,它肯定会损坏一些数据。

有什么想法可以从该驱动器中删除 needs_recovery 标志,以便我能够删除日志?

答案1

问题不在于日志本身。你有一个不可读的块(即:磁盘发生故障),它损坏了日志或其他元数据,因此只需删除日志即可不是正确的解决方案。

我强烈建议您备份所有可以备份的磁盘并更换故障的磁盘。

答案2

正如 @shodanshok 所说,由于该特定扇区出现故障,因此可能无法删除日志。有一个简单的补救措施:将分区挂载为扩展2,而不是 ext3,这样日志块根本就不会被读取。然后尽快备份所有数据。几天前我遇到了同样的问题。

相关内容