硬盘低级格式化的功用
程序员文章站
2022-07-08 22:40:23
硬盘低级格式化的功用硬盘低格格式化是对硬盘最彻底的初始化方式,经过低格后的硬盘,原来保护的数据将全部丢失,所以一般来说低格硬盘是非常不可取的,只有非常必要的时候才能低格硬盘。而这个所谓的必要... 09-04-21...
硬盘低格格式化是对硬盘最彻底的初始化方式,经过低格后的硬盘,原来保护的数据将全部丢失,所以一般来说低格硬盘是非常不可取的,只有非常必要的时候才能低格硬盘。而这个所谓的必要时候有两种,一是硬盘出厂前,硬盘厂会对硬盘进行一次低级格式化;另一个是当硬盘出现某种类型的坏道时,使用低级格式化能起到一定的缓解或者屏蔽作用。
对于第一种情况,这里不用多说了,因为硬盘出厂前的低格工作只有硬盘工程师们才会接触到,对于普通用户而言,根本无须考虑这方面的事情。至于第二种情况,是什么类型的坏道时才需要低格呢?在说明这个关键性问题前,先来看看硬盘坏道的类型。
总的来说,坏道可以分为物理坏道和逻辑坏道。其中逻辑坏道相对比较容易解决,它指硬盘在写入时受到意久干扰,造成有ecc错误。从过程上讲,它是指硬盘在写入数据的时候,会用ecc的逻辑重新组合数据,一般操作系统要写入512个字节,但实际上硬盘会多写几十个字节,而且所有的这些字节都要用ecc进行校验编码,如果原始字节算出的ecc校正码和读出字节算出的ecc不同,这样就会产生ecc错误,这就是所谓的物理坏道产生原因。
至于物理坏道,它对硬盘的损坏更具致命性,它也有软性和硬性物理坏道的区别,磁盘表面物理损坏就是硬性的,这是无法修复的。而由于外界影响而造成数据的写入错误时,系统也会认为是物理坏道,而这种物理坏道是可以使用一些硬盘工具(例如硬盘厂商提供的检测修复软件)来修复,此外,对于微小的硬盘表面损伤,一些硬盘工具(例如西部数据的data lifeguard tools)就可以重新定向到一个好的保留扇区来修正错误。
对于这些坏道类型,硬性的物理坏道肯定是无法修复的,它是对硬盘表面的一种最直接的损坏,所以即使再低格或者使用硬盘工具也无法修复(除非是非常微小的损坏,部份工具可以将这部份坏道保留不用以此达到解决目的)。
对于硬盘上出现逻辑坏道或者软性物理坏道,用户可以试试使用低级格式化来达到屏蔽坏道的作用,但这里需要指出,屏蔽坏道并不等于消除坏道了,低格硬盘能把原来硬盘内所有分区都删除,但坏道却依然存在,屏蔽只是将坏道隐藏起来,不让用户在存储数据时使用这些坏道,这样能在一定程度上保证用户数据的可靠性,但坏道却会随着硬盘分区、格式化次数的增长而扩散蔓延。
所以笔者并不推荐用户对硬盘进行低格,如何硬盘在保修期内最好去保修或者找经销商换一块,那可以说是最佳解决方案,也是最彻底的解决方案了。如果硬盘过了保修期不让换,那可以试试低格硬盘,以防止将数据存储到坏道导致数据损失。
对于如何进行硬盘低格,一般来说是使用低格工具来操作,这个将在下面的章节中详细介绍,这里再说一些相关话题。即低格工具跟硬盘检测工具是有着本质的区别,低格工具就是对硬盘进行低格的作用,而硬盘检测工具一般来说是硬盘厂商推出的用来检测硬盘,及早发现硬盘错误,以提醒用户备份重要数据或者检修硬盘用的,它不是用于低格硬盘。
用debug汇编语言进行低级格式化
低级格式化硬盘能完成销毁硬盘内的数据,所以在操作前一定要谨慎。硬盘低格有许多方法,例如直接在cmos中对硬盘进行低格,或者使用汇编语言进行硬盘低格,而最常见的莫过于使用一些工具软件来对硬盘进行低格,常见低格工具有lformat、dm及硬盘厂商们推出的各种硬盘工具等。
汇编是比较低级的一种编程语言,它能非常方便地直接操作硬件,而且运行效率很高,如果软件系统中需要直接操作硬件时,经常使用的就是汇编语言。使用汇编也可以对硬盘进行低级格式化,它比dm等工具软件显得更为灵活,具体应用时就是使用debug程序,而具体操作就是在debug环境下,调用存放在bios中的低级格式化程序(cmos中直接低格硬盘调用的也是此段低格程序)。实现方法通常有如下三种:
(1)、直接调用bios rom中的低格程序
在很多计算机的bios rom中存放着低格程序,存放地址从c8005h地址开始,具体操作如下:
a:\>debug
-g c800 :0005(//这时屏幕显示信息(不同版本的bios显示的信息可能不同),回车后提示:)
current interleave is 3 select new interleave or return for current(//这是要求用户选择交叉因子,按回车表示取默认值3,也可输入新的交叉因子值,硬盘的交叉因子一般是3,所以直接回车即可。屏幕接着提示:)
are you dynamically configuring the drive-answer y/n t
press“y”to begin formatting the drive c: with interleave 03(//键入“y”后开始对硬盘进行低格)
formatting ……(//完成后询问是否处理坏磁道)
do you want to format bad track-answer y/n?
若没有则用“n”回答。屏幕显示:
format successful,system will new restart,insert dos diskette indrive a:
插入系统盘到a驱动器,即可进行分区,高级格式化等操作来安装系统了。
(2)、通过调用int 13h中断的7号功能对硬盘进行低格
操作如下:
a:\>debug
-a 100
-xxxx:0100 mov ax,0703;(//交叉因子为3)
-xxxx:0103 mov cx,0001;(//0磁道0扇区起)
-xxxx:0106 mov dx,0080;(//c盘0磁道)
-xxxx:0109 int 13
-xxxx:010b int 3
-xxxx:010d
-g 100
这样硬盘就被低格了。
(3)、调用int 13h中断的5号功能
对硬盘调用int 13h中断的5号功能只低格0面0道1扇区,而不必低格整个硬盘,从而使低格在很短的时间内完成。具体操作如下:
a:>debug
-a 100
-xxxx:0100 mov ax,0500;(//调用5号功能)
-xxxx:0103 mov bx,0180;(//设置缓冲区地址)
-xxxx:0106 mov cx,0001;(//0磁道1扇区起)
-xxxx:0109 mov dx,0080;(//c盘0磁道)
-xxxx:010b int 13
-xxxx:010d int 3
-e 0180 0 0 0002;(//写入参数)
-g 100
对于第一种情况,这里不用多说了,因为硬盘出厂前的低格工作只有硬盘工程师们才会接触到,对于普通用户而言,根本无须考虑这方面的事情。至于第二种情况,是什么类型的坏道时才需要低格呢?在说明这个关键性问题前,先来看看硬盘坏道的类型。
总的来说,坏道可以分为物理坏道和逻辑坏道。其中逻辑坏道相对比较容易解决,它指硬盘在写入时受到意久干扰,造成有ecc错误。从过程上讲,它是指硬盘在写入数据的时候,会用ecc的逻辑重新组合数据,一般操作系统要写入512个字节,但实际上硬盘会多写几十个字节,而且所有的这些字节都要用ecc进行校验编码,如果原始字节算出的ecc校正码和读出字节算出的ecc不同,这样就会产生ecc错误,这就是所谓的物理坏道产生原因。
至于物理坏道,它对硬盘的损坏更具致命性,它也有软性和硬性物理坏道的区别,磁盘表面物理损坏就是硬性的,这是无法修复的。而由于外界影响而造成数据的写入错误时,系统也会认为是物理坏道,而这种物理坏道是可以使用一些硬盘工具(例如硬盘厂商提供的检测修复软件)来修复,此外,对于微小的硬盘表面损伤,一些硬盘工具(例如西部数据的data lifeguard tools)就可以重新定向到一个好的保留扇区来修正错误。
对于这些坏道类型,硬性的物理坏道肯定是无法修复的,它是对硬盘表面的一种最直接的损坏,所以即使再低格或者使用硬盘工具也无法修复(除非是非常微小的损坏,部份工具可以将这部份坏道保留不用以此达到解决目的)。
对于硬盘上出现逻辑坏道或者软性物理坏道,用户可以试试使用低级格式化来达到屏蔽坏道的作用,但这里需要指出,屏蔽坏道并不等于消除坏道了,低格硬盘能把原来硬盘内所有分区都删除,但坏道却依然存在,屏蔽只是将坏道隐藏起来,不让用户在存储数据时使用这些坏道,这样能在一定程度上保证用户数据的可靠性,但坏道却会随着硬盘分区、格式化次数的增长而扩散蔓延。
所以笔者并不推荐用户对硬盘进行低格,如何硬盘在保修期内最好去保修或者找经销商换一块,那可以说是最佳解决方案,也是最彻底的解决方案了。如果硬盘过了保修期不让换,那可以试试低格硬盘,以防止将数据存储到坏道导致数据损失。
对于如何进行硬盘低格,一般来说是使用低格工具来操作,这个将在下面的章节中详细介绍,这里再说一些相关话题。即低格工具跟硬盘检测工具是有着本质的区别,低格工具就是对硬盘进行低格的作用,而硬盘检测工具一般来说是硬盘厂商推出的用来检测硬盘,及早发现硬盘错误,以提醒用户备份重要数据或者检修硬盘用的,它不是用于低格硬盘。
用debug汇编语言进行低级格式化
低级格式化硬盘能完成销毁硬盘内的数据,所以在操作前一定要谨慎。硬盘低格有许多方法,例如直接在cmos中对硬盘进行低格,或者使用汇编语言进行硬盘低格,而最常见的莫过于使用一些工具软件来对硬盘进行低格,常见低格工具有lformat、dm及硬盘厂商们推出的各种硬盘工具等。
汇编是比较低级的一种编程语言,它能非常方便地直接操作硬件,而且运行效率很高,如果软件系统中需要直接操作硬件时,经常使用的就是汇编语言。使用汇编也可以对硬盘进行低级格式化,它比dm等工具软件显得更为灵活,具体应用时就是使用debug程序,而具体操作就是在debug环境下,调用存放在bios中的低级格式化程序(cmos中直接低格硬盘调用的也是此段低格程序)。实现方法通常有如下三种:
(1)、直接调用bios rom中的低格程序
在很多计算机的bios rom中存放着低格程序,存放地址从c8005h地址开始,具体操作如下:
a:\>debug
-g c800 :0005(//这时屏幕显示信息(不同版本的bios显示的信息可能不同),回车后提示:)
current interleave is 3 select new interleave or return for current(//这是要求用户选择交叉因子,按回车表示取默认值3,也可输入新的交叉因子值,硬盘的交叉因子一般是3,所以直接回车即可。屏幕接着提示:)
are you dynamically configuring the drive-answer y/n t
press“y”to begin formatting the drive c: with interleave 03(//键入“y”后开始对硬盘进行低格)
formatting ……(//完成后询问是否处理坏磁道)
do you want to format bad track-answer y/n?
若没有则用“n”回答。屏幕显示:
format successful,system will new restart,insert dos diskette indrive a:
插入系统盘到a驱动器,即可进行分区,高级格式化等操作来安装系统了。
(2)、通过调用int 13h中断的7号功能对硬盘进行低格
操作如下:
a:\>debug
-a 100
-xxxx:0100 mov ax,0703;(//交叉因子为3)
-xxxx:0103 mov cx,0001;(//0磁道0扇区起)
-xxxx:0106 mov dx,0080;(//c盘0磁道)
-xxxx:0109 int 13
-xxxx:010b int 3
-xxxx:010d
-g 100
这样硬盘就被低格了。
(3)、调用int 13h中断的5号功能
对硬盘调用int 13h中断的5号功能只低格0面0道1扇区,而不必低格整个硬盘,从而使低格在很短的时间内完成。具体操作如下:
a:>debug
-a 100
-xxxx:0100 mov ax,0500;(//调用5号功能)
-xxxx:0103 mov bx,0180;(//设置缓冲区地址)
-xxxx:0106 mov cx,0001;(//0磁道1扇区起)
-xxxx:0109 mov dx,0080;(//c盘0磁道)
-xxxx:010b int 13
-xxxx:010d int 3
-e 0180 0 0 0002;(//写入参数)
-g 100