一般来说,如果经常有断电关机这样的操作,很容易会出现磁盘坏道的。
同样,硬盘使用久了就可能出现各种各样的问题,而硬盘“坏道”便是这其中最常见的问题。硬盘出现坏道除了硬盘本身质量以及老化的原因外,主要是平时在使用上不能善待硬盘,比如内存太少以致应用软件对硬盘频繁访问,对硬盘过分频繁地整理碎片,不适当的超频,电源质量不好,温度过高,防尘不良,震动等。
badtrk的语法结构是:
/etc/badtrk[-o[-m mak]][-s qtdn][-v][-f device]
其中的各项说明如:
device 是Unix分区的设备名。比如,系统上的第一块硬盘设备名是/dev/rhd0a,第二块硬盘的设备名是/dev/rhdla。系统默认的设备名是/dev/rhd0a。
-f 这个选项的作用是打开Unix分区设备,并读出它的坏道表。
badtrk -f/dev/rhd0a
屏幕显示菜单选项
显示当前磁道表
扫描硬盘(可以选择只读方式,也可选破坏方式)
按柱面/磁头数在当前坏道表中增加一些记录项
按扇区数在当前坏道表中增加一些记录
从当前坏道表中删除单个记录项
从坏道表中删除全部记录项
-e 这个选项在硬盘安装过程中使用。它可以用来修改坏道表的大小。当在已经安装好的系统中使用它时,要特别当心。因为坏道表的大小发生变化时,则要对硬盘的空间重新划分,将破坏硬盘上的内容。
例如:
badtrk -e
屏幕显示:This device contains a valid division table.Additional
(non-root)filesystems can be preserve across this reinstallation.
If you wish to be able to preserve these file systems lager,
Your must not change the current limit of the bad track table
Which is n bad track.Do you wish to leave it unchanged?(y/n):
如果回答n,将会改变坏道表的大小。那么随之而来的divvy表等都会遭到破坏,甚至需要重装系统。非根文件系统的数据,可以用后备形式加以保存。
-m max max是一个十进制数值,这个选项的作用是设置最大坏道数。在Unix系统安装过程中,坏道表中的坏道数是允许设置的。一数默认为15条磁道。-m选项通常与-e一起使用,例如:
badtrk -e -m 15
-s qtdn 选项s表示要进行硬盘扫描,找出坏磁道,并将它放在坏道表中。
Qtdn分别是四个子选项:
Q 快速扫描
t 完全扫描
d 破坏性扫描(硬盘原有数据破坏)
n 非破坏性扫描(保持硬盘原有数据)
-v 它与-e选项一起使用,作用是在硬盘扫描过程中,屏幕显示信息,提示硬盘已经扫描了多少。
最后应该说明:badtrk命令必须在单用户方式下使用。这个命令只适用于标准硬盘控制器,它不能在装有SCSI或IDA控制器的系统上使用。如果破损的位置出现在引导块中,或Unix开始的位置上,硬盘和系统就需要重新安装。
系统在正常运行时,屏幕突然显示如下错误信息,并不断重复显示:
Warrning:wd0:Error fixed disk dev
1/42,block=5160,cmd=0x00000020
status=0x00005940,sector=122340,
cylinder/heah=477/0
分析处理:这种现象一般是硬盘中出现坏块而引起系统报警。在超级用户下执行badtrk命令,选择“2、scan disk”选项,再选择“1、Scanentire unix partition”选项中的“1、quickscan”选项,非破坏性扫描整个unix 分区,找出硬盘中坏块的位置。扫描结束后,记下硬盘坏块的位置(Cylinder/Head),选择“3、Add entries to current bad track table by Cylinder/Head number”选项,按照系统提示的格式输入硬盘坏块所在的位置(Cylinder/Head number)。所有坏块都输入完后按Q退出;屏幕显示:
Do you want to update this device with the new table(Y/N)?
选择Y;屏幕显示:
Do you want to salvage any valid data on the bad tracks(Y/N)?
选择Y;结束后,系统返回到UNIX超级用户下,屏幕上将不再显示硬盘的报警信息。