2007/05/24

笔记本硬盘诊断解决

最近碰到一件很窘的事情——GF的笔记本坏了。可以说,这是一件很棘手的事情——有效恢复的可能性不是很大。


总结的解决步骤如下:

*线路接触不良 重新接一下硬盘,最好是能够在另外一台机器上试验一下。

*盘片局部表面和磁性损坏 使用HDD Regenerator试验一下,如果能够修复0面0道1扇区,
那么系统是可以恢复引导的。否则只有通过专用的软件才能
读出之后的数据块,至于恢复出其中的文件就更加困难了。

*磁头和盘片整体损坏 面临完全丢失数据。区别只在于,如果是盘片的问题,
还有可能通过低级格式化,
继续使用硬盘;否则就完全没戏了。

*硬盘上的控制器 只有完全更换。

需要注意的是,因为有介质损坏的问题,所以尽量保持原有的介质状态,不要过多的尝试和scan。

关联链接
HDD Regenerator 1.51
HDDSpeed 2.1(HP)
金海硕 1.6



详细分析如下:

其实最根本的方法就是重要的数据要经常备份。光盘,移动硬盘,Web Storage。。。一个都不能少。我经常强调的。——这个话题不能多说了,要不然会被捶的。

言归正传,如何诊断和修复一个硬盘呢。

现象是机器启动后,Windows XP的启动画面不显示,报无法读写硬盘。通得过系统自检。另外,最近追加过内存以后,系统又是出现开机蓝屏的问题。

机器启动流程为:
1 由硬件所有管脚电压复位 并使 IP:PC指向0000:7C00
2 BIOS启动 这时系统处于实模式,BIOS的启动代码被实现复制到这一区域
3 BIOS自检 顺序为内存、显卡、键盘、软盘、硬盘、其他外设
4 OS引导 按照BIOS的设置,一般是软盘、光驱、硬盘的顺序检测设备的有无,有的话把0面0道1扇区读入到0000:7C00的区域,并且读取0面0道的硬盘分区表,判断可引导分区,将可引导分区的引导扇区再读入到0000:7C00的区域
5 显示启动画面 Windows是欢迎画面或OS选项、Linux是LILO或Grub之类Loader的画面、SystemCommander之类的软件也有提示画面
6 系统启动 OS完全启动

有分析可见是步骤4出了问题。机器无法读出0面0道1扇区。这个问题比较棘手。究竟是为什么呢。
读取的过程是
0 BIOS事先配置好硬盘的信息,再传给OS,以下步骤及可以由BIOS也可以由OS直接实现
1 CPU通过内存访问和逻辑运算得出需要访问硬盘存储的位置
2 CPU通过总线向直读控制器DMA发出指令
3 DMA分配硬盘关联的IO总线,向硬盘发出读写控制指令
4 DMA直接传送硬盘读入到内存或从内存写出数据
5 硬盘根据指令检查数据是否存在于缓冲或可存储与缓冲
6 如果可以则直接向DMA返回完成信息
7 如果不可以则选择、移动磁头,转动磁盘,寻找扇区,读写数据,最后向DMA返回完成或失败信息
5 DMA向CPU发出中断申请
6 CPU处理已经读入到内存的数据
所以可能出现问题的是
1 BIOS
2 BIOS的配置信息
3 CPU
4 内存
5 主板的南北桥总线单元
6 主板的硬盘外设控制单元
7 硬盘数据线路及接触不良
8 硬盘电路板上的控制器
9 硬盘磁头
10 硬盘盘片整体
11 硬盘盘片局部表面
12 硬盘盘片局部表面磁性
有诊断信息可知,开机自检能通过,BIOS是可见的。所以问题应该处在6-12。
剩下的问题就是有发热和震动导致的硬盘局部0面0道1扇区的问题、0面整体问题和硬盘整体问题。

那么如何区分和解决呢。
7线路接触不良 由于式笔记本所以基本没有开机箱导致的问题,所以7的连接线不良基本可以排除,接触不良需要重新接一下硬盘,最好是能够在另外一台机器上试验一下。
11盘片局部表面,12局部磁性 使用HDD Regenerator试验一下,如果能够修复0面0道1扇区,那么系统是可以恢复引导的。否则只有通过专用的软件才能读出之后的数据块,至于恢复出其中的文件就更加困难了。
9磁头,10盘片整体 是比较近似的问题,都面临完全丢失数据。区别只在于,如果是磁盘整体问题,还有可能通过低级格式化,继续使用硬盘;否则就完全没戏了。
剩下的就是8硬盘的控制器 只有完全更换。
需要注意的是,因为有介质损坏的问题,所以尽量保持原有的介质状态,不要过多的实验和scan。

No comments: