菜鸟必备:超实用低级格式化方法

硬盘低级格式化的功用  

  硬盘低格格式化是对硬盘最彻底的初始化方式,经过低格后的硬盘,原来保护的数据将全部丢失,所以一般来说低格硬盘是非常不可取的,只有非常必要的时候才能低格硬盘。而这个所谓的必要时候有两种,一是硬盘出厂前,硬盘厂会对硬盘进行一次低级格式化;另一个是当硬盘出现某种类型的坏道时,使用低级格式化能起到一定的缓解或者屏蔽作用。

  对于第一种情况,这里不用多说了,因为硬盘出厂前的低格工作只有硬盘工程师们才会接触到,对于普通用户而言,根本无须考虑这方面的事情。至于第二种情况,是什么类型的坏道时才需要低格呢?在说明这个关键性问题前,先来看看硬盘坏道的类型。

  总的来说,坏道可以分为物理坏道和逻辑坏道。其中逻辑坏道相对比较容易解决,它指硬盘在写入时受到意久干扰,造成有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

  用DM进行低级格式化   

  DM的全名是Hard Disk Management Program,它能对硬盘进行低级格式化、校验等管理工作,可以提高硬盘的使用效率。总的来说,DM具有如下几个功能:硬盘低级格式化、分区、高级格式化、硬盘参数配置及其它功能。

  在实际应用时,dm工具跟普通DOS命令(如fdisk或format)一样,它的命令格式为:A:>DM [参数] 。其中的参数可取以下值:

  <> /M DM软件以手工方式进入,如无该参数,DM以自动方式运行,依次执行INITIALIZE. PARTITIONG. PREPARAFION。

  <> /C DM软件以彩色方式执行,即运行于彩色显示器上。

  <> /P DM软件以PC/XT方式管理硬盘。

  <> /A DM软件以PC/AT方式管理硬盘。

  <> /2 DOS 2.XX版本方式。

  <> /3 DOS 3.XX版本方式。

  <> /4 DOS 4.XX版本方式(仅DM 5.01版有此参数)。

  <> /V DM运行于可改变簇长度、根目录项方式。

  在实际使用中常用以下两种方式启动:

  1、A:>DM (自动方式。初始化硬盘时很多参数都用默认值几乎不要人工干预)。

  2、A:>DM (手动方式。作格式化时一些参数要人工指定)。

  启动dm工具后,用户就可以根据自己的需要选择相应的操作,由于它也是以DOS用户界面的形式存,所以使用起来也十分简捷、明了。

  其它低级格式化方法

  除了上面介绍的两种低格工具外,还有许多其它低级格式化方法。

  1、CMOS中直接操作

  如果主板支持,用户可以直接在CMOS对硬盘进行低级格式化,这种方法非常简单、方便,因此如果可能的话,笔者推荐使用这种方法进行硬盘低格。具体操作方法:在开机时根据系统提示进入CMOS Setup(如果是Award等BIOS,会提示按DEL进入CMOSSetup,如果是Intel主板,一般是按F2进入CMOS Setup),接着在CMOS菜菜单内选择low formatted HardDisk Drive选择,然后根据程序提示进行待低格硬盘,同时回答一些程序提问即可进行硬盘低级格式化。

  2、lformat.com程序低格硬盘

  除了dm工具外,还有一款比较常见的低格程序是lformat.exe,它是由迈拓公司推出的低级格式化硬盘工具。在DOS状态下运行lformat.exe后,程序即启动如图3-3-43所示的警告界面。在该画面中说明的大概意思是,如果用户使用这个工具时,硬盘内所有数据将丢失,因此推荐在运行它之前备份必要的数据,同时推荐移走所有其它硬盘。如果用户忘记备份数据,而希望退出该程序,则可以按除Y之外的任意键即可,如果用户确认对硬盘进行低棍,请按“Y”键。

  如果选择了“Y”后,程序将要求用户选择硬盘或者就对当前硬盘进行低格,接着,问答几个提问,即可开始硬盘低级格式化过程。

(0)

相关推荐

  • 菜鸟必备:超实用低级格式化方法

    硬盘低级格式化的功用 硬盘低格格式化是对硬盘最彻底的初始化方式,经过低格后的硬盘,原来保护的数据将全部丢失,所以一般来说低格硬盘是非常不可取的,只有非常必要的时候才能低格硬盘.而这个所谓的必要时候有两种,一是硬盘出厂前,硬盘厂会对硬盘进行一次低级格式化:另一个是当硬盘出现某种类型的坏道时,使用低级格式化能起到一定的缓解或者屏蔽作用. 对于第一种情况,这里不用多说了,因为硬盘出厂前的低格工作只有硬盘工程师们才会接触到,对于普通用户而言,根本无须考虑这方面的事情.至于第二种情况,是什么类型的坏道时才

  • 菜鸟必备:网络摄像头大揭露

    现在,很多网友已经购买了好用又便宜的摄像头,可以和其他朋友进行视频聊天.不过,仅仅看到自己周围的人物有些单调,要是能看到世界各地的即时画面就好了.其实这并不难,Internet上有很多免费的摄像头(Webcam)等着你呢! 利用Google搜索隐秘视频 Google真的几近于无所不能,除可以用作强大的黑客工具外,还能用来搜索到成百上千未经加密的Webcam(网络摄像头).只要在Google中搜索以下几个关键词中的任何一个:"inurl:"ViewerFrame?Mode="&

  • 每个 JavaScript 工程师都应懂的33个概念

    简介 这个项目是为了帮助开发者掌握 JavaScript 概念而创立的.它不是必备,但在未来学习(JavaScript)中,可以作为一篇指南. 本篇文章是参照 @leonardomso 创立,英文版项目地址在这里. 由于原版资源都要翻墙,所以本人创立一个中文版,附上关于这些概念在国内的一些文章和视频. 若有觉得更好的文章或者视频,可以贡献出来,觉得有误的,请联系我删除. 若有觉得更好的文章或者视频,可以贡献出来,觉得有误的,请联系我删除. 文章的排序优化,前面的文章是介绍概念,后面的文章是深入解

  • 浅谈 java中ArrayList、Vector、LinkedList的区别联系

    以前面试的时候经常会碰到这样的问题.,叫你写一下ArrayList.LinkedList.Vector三者之间的区别与联系:原先一直搞不明白,不知道这三者之间到底有什么区别?哎,惭愧,基础太差啊,木有办法啊委屈 现在得去说说这三者之间的区别与联系了:这三者都是实现了List接口,都拥有List接口里面定义的方法,并且同时拥有Collection接口的方法: ArrayList:采用的是数组的方式进行存储数据的,查询和修改速度快,但是增加和删除速度慢:线程是不同步 LinkedList:采用的是链

  • java中ArrayList 、LinkList的区别分析

    1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构.      2.对于随机访问get和set,ArrayList优于LinkedList,因为ArrayList可以随机定位,而LinkedList要移动指针一步一步的移动到节点处.(参考数组与链表来思考)     3.对于新增和删除操作add和remove,LinedList比较占优势,只需要对指针进行修改即可,而ArrayList要移动数据来填补被删除的对象的空间. ArrayList和LinkedL

  • 总结Java集合类操作优化经验

    在实际的项目开发中会有很多的对象,如何高效.方便地管理对象,成为影响程序性能与可维护性的重要环节.Java 提供了集合框架来解决此类问题,线性表.链表.哈希表等是常用的数据结构,在进行 Java 开发时,JDK 已经为我们提供了一系列相应的类来实现基本的数据结构,所有类都在 java.util 这个包里,清单1 描述了集合类的关系. 清单 1.集合类之间关系 Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map

  • java集合框架的体系结构详细说明

    最近在一本J2EE的书中看到了很不错的对集合框架的说明文章,筛选后发上来和大家共享,集合框架提供管理对象集合的接口和类.它包含接口,类,算法,以下是它的各个组件的说明. Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些Collection允许相同的元素而另一些不行.一些能排序而另一些不行.Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自

  • Java容器类的深入理解

    Java容器类包含List.ArrayList.Vector及map.HashTable.HashMap ArrayList和HashMap是异步的,Vector和HashTable是同步的,所以Vector和HashTable是线程安全的,而ArrayList和HashMap并不是线程安全的.因为同步需要花费机器时间,所以Vector和HashTable的执行效率要低于ArrayList和HashMap.Collection├List       接口│├LinkedList       链表

  • 浅谈Java中常用数据结构的实现类 Collection和Map

    线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构.这些类均在java.util包中.本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类. Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └WeakHashMap Collection接口 Collection是最基本的集合接口,一个C

  • JAVA 区分集合和数组

    数组和集合的定义: 数组: 数组是java语言内置的数据类型,他是一个线性的序列,所有可以快速访问其他的元素,数组和其他语言不同,当你创建了一个数组时,他的容量是不变的,而且在生命周期也是不能改变的,还有JAVA数组会做边界检查,如果发现有越界现象,会报RuntimeException异常错误,当然检查边界会以效率为代价. 集合: JAVA还提供其他集合,list,map,set,他们处理对象的时候就好像这些对象没有自己的类型一样,而是直接归根于Object,这样只需要创建一个集合,把对象放进去

随机推荐