安装前积极地 fsck 磁盘

安装前积极地 fsck 磁盘

我有一台旧的 HP Athlon 机器,用于在旧处理器下测试软件。我们经常遇到断电的情况,在上一次断电之后,磁盘就变得一团糟。情况太糟糕了,我无法运行fsck并解决所有问题。我重新安装了操作系统,但仍然收到fsck投诉。

在谴责硬盘或机器之前,我想最后一次尝试重新加载 Linux。在创建文件系统之后但在安装之前,我希望fsck执行积极的操作以将可疑块标记为坏块。

磁盘很大(大约 500 GB),而 Debian 8 发行版相对较小(8-12 GB 通常就足够了),所以我不在乎好块是否被标记为坏块。我也喜欢 GUI 安装,但我并不喜欢它。

我有两个问题:

  1. fsckDebian 8 是否提供了在安装基本系统之前执行的选项?如果是的话,它在哪里?如果不是,那么流程是怎样的?

  2. 是否fsck有设置来控制块被标记为坏块的程度?如果是这样,那是什么?如果没有的话可以用什么?


编辑:机器是 HP5850。进入 BIOS,导航至存储,然后进行驱动器保护系统 (DPS) 自检,结果 DPS 建议更换驱动器。 DPS没有提供任何统计数据,所以我不确定伤害的程度。

考虑到我可以花 12 美元购买一个[旧的]新 SATA II 驱动器,我打算更换它。在上面浪费时间或精力是没有意义的。


相关参考文献如下。这两个问题似乎都没有得到解决。

答案1

  1. “Debian 8 是否提供了在安装基本系统之前执行 fsck 的选择?如果是,它在哪里?如果不是,那么过程是什么?”

    作为替代方案,首先下载并烧毁一个GPartEd CD(或写入拇指驱动器)。在运行安装程序之前,GPartEd根据您的喜好启动磁盘并对其进行分区,然后运行fsck或直接运行badblocks

    当您运行 Debian 安装程序时,只需告诉它如何使用那里的分区即可。安装程序不需要创建自己的分区。使用现有的分区是非常愉快的。

  2. “fsck 是否有一个设置来控制如何积极地将块标记为坏块?如果有,它是什么?如果没有,那么可以使用什么?”

    -c选项e2fsck使其运行badblocks程序来扫描坏块。您也可以直接运行 badblocks。默认情况下,badblocks执行只读测试。为了更加积极,您可以指定-n非破坏性读写测试。您还可以设置-p选项来增加其通过的次数。

    您可能想badblocks在分区之前运行。这样,您可以指定更快的-w只写测试。

答案2

如果您经常遇到 fsck 错误,则驱动器可能会吐血。即使您将每个坏块都标记为坏块,不久之后就会有更多块变坏。我想如果您确实需要的话,您可以更改为另一个 tty 来执行 fsck(Ctrl + alt + F2 切换到 tty2),但如果您所说的话,我无法充分强调您需要一个新的硬盘驱动器是准确的。

答案3

  1. 不,我认为这不值得。 Fsck(大多数文件系统实现的)不会检查您的驱动器。它验证文件系统元数据并确保在安装它们时视图是一致的。在安装之前执行此操作没有多大意义,因为根据定义,您将只有空白空间。

  2. 使用坏块反而。如果您想确保数据不会损坏,请使用支持清理的文件系统。 LVM本身也可以做到

答案4

我建议获取制造商的低级格式化软件(如果有),该软件只能在 Windows 上运行(或者如果幸运的话,可以从可启动 CD/DVD/USB 上运行,您可以从他们的网站下载图像) 。如果您对操作有足够的控制权,可以减少报告的驱动器容量,以换取更大的备用扇区池,那么您应该这样做,因为预计在您按照 @rackandboneman 的建议测试驱动器时,许多备用扇区会被替换。拥有一个 400 或 450 GB 驱动器,将所有坏扇区交换为备用扇区,并为将来的缺陷留下更多扇区,这比耗尽备用池并拥有无法透明地重新映射的未来坏扇区要好得多。

相关内容