用Diskedit修复0磁道损坏的软盘

Author: 方新沪 Date: 1997-01-01

  软盘0磁道物理损坏后,操作系统、应用软件均不能对其读写,也无法用常用磁盘修理工具如Scandisk、NDD、Disktool等修复,纵然盘中存有重要文件,好像只能将它丢弃。实际上,软盘0磁道损伤只是系统区被破坏,虽不能作为逻辑盘进行读写,却仍可用Norton 8.0中Diskedit把它作为物理盘进行操作,将盘中数据拷出。但作为物理盘,没有目录结构和文件系统,要对几千个物理扇区逐一浏览、处理,谈何容易。
  Norton 8.0版的Diskedit增加了“高级恢复模式”(Advanced Recovery Mode)一项,为解决这个问题提供了很大方便。
  假定损坏的是一张1.2兆软盘,微机上A驱为5英寸高密软驱。恢复数据的操作过程如下:
  一、启动Diskedit,在“Tools”下选“Advanced Recovery Mode”,之后根据屏幕提示,依次选“Drive”、“Physical Disks”、“Floppy Drive A:”、“1.2M”、“Virtual”,这样,就将物理A盘变为虚拟逻辑A盘,这与直接在“Object”项下选物理盘有两个区别:
  1.设成虚拟逻辑盘后,将根据所选容量建立根目录和文件分配表,即使引导区完全损坏,也能对软盘进行目录、文件操作。
  2.读物理盘时,每当遇到损坏的磁盘介质,都会显示出错信息,并给出“Retry”与“Abort”两个选项。如选“Retry”而仍不能正确读出数据,则用已读出的相邻扇区对应地址数据,来代替当前扇区无法读出数据的部分,如选“Abort”,则将当前扇区512个字节全部用00H代替,以使读盘操作能继续下去。而读虚拟逻辑盘时,上述容错处理以“Retry”为默认选项自动进行,不再提示出错信息,可大大提高操作速度。
  二、如果存放欲恢复文件目录项和簇链的扇区没有损坏,即可用鼠标双击文件名选定并打开文件,然后在“Tools”下选用“Write To”功能将它们一一拷出。
  三、如果文件打开后长度只有一个扇区,而在目录项中字节数超过512字节,说明簇链已损坏。可在“Tools”下选“Use 2ND FAT Table”,即改用第二个文件分配表,再拷出文件。
  四、如果某个文件在两个FAT中的簇链均已损坏,而该文件是文本文件,其中数据仍可恢复,方法只能是使用“Tools”下的“Find”功能搜索特征字符串,或按PgUp、PgDn对数据区各扇区翻页浏览,然后用“Write To”功能,将储存有用数据的扇区以文件格式拷出。
  由于读软盘速度很慢,在有较多数据的情况下不能用文件拷贝的方法恢复,可将整个数据区(29至2399扇区)以文件格式拷到硬盘,改为对硬盘文件操作。
  注意:不能直接用字处理软件调入处理,一是文件太大,容易死机;二是文件中有许多文件结束符,而字处理软件一般以读到的第一个文件结束符作为文件结尾,会丢失大量数据。可先用十六进制编辑器如Larry Michaels的Hedit.exe进行初加工,将大片的空白和无用数据统统做成块删掉,并用十六进制串(Hex String)替换功能将所有文件结束符1AH改成20H,之后再用字编辑器整理。
  此外,据笔者所知,高级恢复模式也是较完整地恢复0磁道坏特殊格式盘上数据的唯一方法。假定损坏的是一张用Fdformat 3.0格式化过的5英寸高密盘,82道,每道18扇区,容量1476K。由于Diskedit直接操作5英寸物理盘时,能设定的最大容量只能是1.2兆,即80道,每道15扇区,因而将丢失最后两道及每道最后三个扇区上的数据。但若使用高级恢复模式,则可先将容量设为1.2兆,待打开“Advanced Recovery”菜单后,再将“Physical Value”栏中的柱面数改为82,每道扇区数改为18,“This Partition”栏中的结尾柱面号改为81,每道扇区数也改为18。这样,就可建立1476K盘的虚拟逻辑盘,所有磁道、扇区上的数据就都能读到了。