机械硬盘的坏道:从哪来,到哪去?

少于 1 分钟阅读

曾经年幼无知的我,将笔记本的1T硬盘用来挂种子, 结果不出三年,硬盘的读写速度就开始明显变慢,Windows还时不时会宕机。 虽然当时查出来了硬盘确实是有坏道,但适逢618,于是大手一挥就换了新机, 不好使的旧笔记本也从此被打入冷宫,再也没人关心过它那伤痕累累的硬盘。 直到今天,由于众所周知的原因,弟弟急需一台电脑用于上网课, 于是本着勤俭持家的精神,我开始研究如何让它起死回生。

机械硬盘的结构

先上个示意图,一个有着三张磁盘的机械硬盘:

Hard_drive_geometry_-_English_-_2019-05-30.png

  • 磁盘(platter):类似光碟的东西,但正反表面都是磁性的。 每个小区域的磁性表面可以被电磁场改变极性,从而存储0与1两种比特位。

  • 磁头(head):对磁盘进行读写的工具。当其与磁盘表面距离非常近时, 能通电产生电磁场影响磁性表面的极性,也能探测受磁性表面影响的空气电磁场。 注意每个磁盘需要两个磁头,因其拥有正反两面。

  • 磁道(track):单张磁盘上的圆环,图中的黄色部分为其中6个磁道(再次提醒磁盘有正反两面)。

  • 扇区(sector):该名词定义存疑,暂时不清楚是指磁道上的一个圆弧,还是磁面上的一整个扇形区域。

  • 柱面(cylinder):不同磁盘上,半径相同的磁盘的总和,图中蓝色部分为一个柱面。

机械硬盘工作时,磁盘与磁头分别由电机带动,高速旋转至指定位置读写数据,7200转/5400转指的便是这个性能指标。

“坏道”怎么就变坏了呢

坏道(bad sector)直观而言,就是一块访问会出错的区域。 这里的“出错”不应用软件思维去理解,而应清楚它,有可能在物理上已经损坏, 继续对它读写可能会将坏道扩散至邻近的区域,更可怕的是还有可能直接损坏磁头,使得硬盘报废。

检测与修复

Disk Genius中的“硬盘→坏道检测与修复”功能可以检测坏道并生成报表, 检测时建议选上“标准检测”和“报告准确扇区号”两个选项。 如果只准备检测某个分区范围中的坏道,可以先选中分区,再打开这个功能窗口。 至于修复功能,也许是我脸太黑,虽然是提醒修复成功了,但再次检测的时候还在😰

分区隔离

一般来说,坏道的分布应该还是比较集中的,最多也就占掉几十个G的空间。 确定好分布范围后,再留出一点缓冲带,就可以在尚且完好的地方新建分区了, 日后对硬盘的读写都会落在没有坏道的区域,而缓冲带也降低了磁头误触坏道部分的几率。

实操:安装Windows

显而易见,以上这些针对硬盘的高危操作很难在host操作系统上完成, 尤其是Windows这种封闭系统,so what we need is a Windows PE。 在这方面,我强烈推荐微PE, 跟老毛桃、大白菜那些家喻户晓的妖艳贱货不同,这是一个从官网到内置软件都散发着性冷淡geek范儿的PE, 而且作者坚决不集成网络功能的态度也让我很欣赏。

闲话少说,微PE中已经内置了Disk Genius,所以坏道检测硬盘分区什么的都是水到渠成。 但是ESP分区的建立要特别注意:慎用“硬盘→建立ESP/MSR分区”的功能,因为这个功能只能把ESP分区建在硬盘开头, 万一那个地方附近有坏道,那完了,要么安装系统时就卡死,要么装好系统后每次开机都提心吊胆。 建立ESP分区的正确姿势是直接开启“硬盘→新建分区”,这里可以选择分区位置, 而分区类型则选择“EFI system partition”。

下一步是安装Windows镜像,这里也要注意不能直接刻到U盘里安装, 因为自作聪明的微软会自动给你在硬盘的开头创建一个ESP分区。 还好,微PE自带的WinNTSetup能替代完成这个功能,安装时注意引导分区与系统分区的不同。

最后,坐和放宽,可以准备让弟弟遭受网课的折磨了👀