问题
一块东芝 1TB 机械硬盘,在近期日常使用中不时出现开机无法正常引导、打开分区时需大量时间等问题,最后彻底无法引导操作系统。
前期尝试
尝试使用 PE 引导系统,基于 Win10 的 PE 卡死在“初始化”界面无法进入,基于 Win2003 的 PE 能够引导,但进入后资源管理器和 DiskGenius (下称 DG)都看不到盘
尝试修改 BIOS 的 SATA 控制器模式,修改为 AHCI 和 IDE 模式,均失败
尝试使用 PE 的不加载 SRS 驱动的兼容模式来引导,以及加载 SRS 驱动的兼容模式来引导,均失败
使用 DOS 版 DG 可以看到盘本身
解决方案
在 DOS 版 DG 下,扫描丢失的分区,重建分区表后,结果如下:
可见,找到了三个分区。但该盘上原本有 4 个分区,布局中的 411.5GB 空闲处的分区完全丢失,无法被扫描出。记 350GB 分区尾部、411.5GB 空闲头部的柱面号为 \(X\)。
先将目前扫出的三个分区文件全部借助 DG 导出到稳定的介质上,再尝试进行后续的修复。
在 DOS 版 DG 下,扫描坏道。结果发现,\(X\) 附近(即 350GB 分区和 411.5GB 空闲的衔接边界处)存在一定数量坏道。这些坏道即是导致 PE 无法正常加载、无法正常认盘的根本原因。
启动到 DOS 下的磁盘再生器(HDD Regenerator),选中该盘,直接使用“扫描并修复”模式,扫描全盘并修复坏道。相比起 DG 自带的坏道修复工具和 MHDD 等工具,HDDReg 有概率修复坏道处不可读取的受损信息,使用起来也更简单。
运行完成后,HDDReg 顺利修复了 \(X\) 附近的 16 个坏扇。
磁道和扇区密不可分,HDDReg 使用扇区一词,其他地方使用磁道一词,实际上讲的是一回事。
重新尝试引导到 PE,这时,基于 Win2003 的 PE 可以成功引导,并且资源管理器和 DG 都可以看到盘了。DG 中,\(X\) 位置以后的状态不再是“空闲”,而是变为“未格式化”状态。
右击该部分,使用 DG 的“恢复被删除和格式化的文件”功能扫描这片区域(这个功能在 DOS 版 DG 下没有)。扫描结束后,原先此处的 411.5GB 分区的内容大部分都被找回了。
总结
- 位于 \(X\) 附近坏道处的数据发生了部分丢失,未能全部找回
- PE 卡在初始化的原因,不排除硬盘坏道导致
- DOS 能够对硬盘进行更底层的操作,在无法使用高级 PE 的情况下,可考虑在 DOS 下先解决部分问题
- 坏道恰好发生在分区边界时导致的分区丢失,使用 DG 扫描全盘、重建分区表时,可能无法扫出该分区
- 坏道恰好发生在分区边界时,特殊之处在于,操作系统无法在位于 (cylinder 0, head 0, sector 1) 的分区表所指示的位置找到有效的分区(因为那里有坏道)
- 注意到在 HDDReg 完成修复后,原先“空闲”的 411.5GB 与最后的一小块分区发生了合并,成为“未格式化”状态。因此,为避免丢失分区的后续分区丢失,务必在完成分区表重建后,将能够找到的数据都备份稳妥后,再进行后续操作