我有一台旧的 HP Athlon 机器,用于在旧处理器下测试软件。我们经常遇到断电的情况,在上一次断电之后,磁盘就变得一团糟。情况太糟糕了,我无法运行fsck
并解决所有问题。我重新安装了操作系统,但仍然收到fsck
投诉。
在谴责硬盘或机器之前,我想最后一次尝试重新加载 Linux。在创建文件系统之后但在安装之前,我希望fsck
执行积极的操作以将可疑块标记为坏块。
磁盘很大(大约 500 GB),而 Debian 8 发行版相对较小(8-12 GB 通常就足够了),所以我不在乎好块是否被标记为坏块。我也喜欢 GUI 安装,但我并不喜欢它。
我有两个问题:
fsck
Debian 8 是否提供了在安装基本系统之前执行的选项?如果是的话,它在哪里?如果不是,那么流程是怎样的?是否
fsck
有设置来控制块被标记为坏块的程度?如果是这样,那是什么?如果没有的话可以用什么?
编辑:机器是 HP5850。进入 BIOS,导航至存储,然后进行驱动器保护系统 (DPS) 自检,结果 DPS 建议更换驱动器。 DPS没有提供任何统计数据,所以我不确定伤害的程度。
考虑到我可以花 12 美元购买一个[旧的]新 SATA II 驱动器,我打算更换它。在上面浪费时间或精力是没有意义的。
相关参考文献如下。这两个问题似乎都没有得到解决。
答案1
“Debian 8 是否提供了在安装基本系统之前执行 fsck 的选择?如果是,它在哪里?如果不是,那么过程是什么?”
作为替代方案,首先下载并烧毁一个GPartEd CD(或写入拇指驱动器)。在运行安装程序之前,
GPartEd
根据您的喜好启动磁盘并对其进行分区,然后运行fsck
或直接运行badblocks
。当您运行 Debian 安装程序时,只需告诉它如何使用那里的分区即可。安装程序不需要创建自己的分区。使用现有的分区是非常愉快的。
“fsck 是否有一个设置来控制如何积极地将块标记为坏块?如果有,它是什么?如果没有,那么可以使用什么?”
该
-c
选项e2fsck
使其运行badblocks
程序来扫描坏块。您也可以直接运行 badblocks。默认情况下,badblocks
执行只读测试。为了更加积极,您可以指定-n
非破坏性读写测试。您还可以设置-p
选项来增加其通过的次数。您可能想
badblocks
在分区之前运行。这样,您可以指定更快的-w
只写测试。
答案2
如果您经常遇到 fsck 错误,则驱动器可能会吐血。即使您将每个坏块都标记为坏块,不久之后就会有更多块变坏。我想如果您确实需要的话,您可以更改为另一个 tty 来执行 fsck(Ctrl + alt + F2 切换到 tty2),但如果您所说的话,我无法充分强调您需要一个新的硬盘驱动器是准确的。
答案3
答案4
我建议获取制造商的低级格式化软件(如果有),该软件只能在 Windows 上运行(或者如果幸运的话,可以从可启动 CD/DVD/USB 上运行,您可以从他们的网站下载图像) 。如果您对操作有足够的控制权,可以减少报告的驱动器容量,以换取更大的备用扇区池,那么您应该这样做,因为预计在您按照 @rackandboneman 的建议测试驱动器时,许多备用扇区会被替换。拥有一个 400 或 450 GB 驱动器,将所有坏扇区交换为备用扇区,并为将来的缺陷留下更多扇区,这比耗尽备用池并拥有无法透明地重新映射的未来坏扇区要好得多。