磁盘快速格式化的理论和实践

原创 2001年01月07日 20:26:00


    磁盘的格式化可以分为低级格式化和高级格式化。低级格式化是针对硬盘而言的,它能将硬盘中的数据全部清除,包括硬盘的主引导记录、DOS引导记录和分区表信息,当然也能扫除将磁盘作为藏身之处的一切病毒。较老版本的CMOS设置中包括了硬盘低级格式化的程序,可以在CMOS中对硬盘低格,也可以使用一些低格软件如DM等完成低格操作。磁盘的高级格式化有几种形式,快速格式化就是其中的一种,与DOS一起发表的基本FORMAT程序允许用户对磁盘快速格式化(可选参数/Q)。在介绍快速格式化之前,先对磁盘的结构作一个简单的介绍,再将快速格式化和一般的高级格式化作一个比较。
    一个被成功高级格式化的硬盘可以分成以下几个部分:主引导记录和分区表信息、DOS引导记录、文件分配表(FAT)信息、根目录(ROOT)信息和数据区。主引导记录和分区表信息存放在硬盘的第一个扇区中,主引导记录可以根据操作系统的不同而任意编写,基于这一特点,实现多操作系统并存就不是一件困难的事情。分区表是硬盘第一个扇区中最后64个字节,对应地分别以“80H”和“55AAH”为起始和结束标志。它记录着硬盘逻辑区的个数、起始和结束的扇区号等信息,其中的“80H”和“55AAH”被称为是硬盘的两个关键代码,丢失后硬盘将不会自举。DOS引导记录保存了对于引导系统的三个文件的描述,它也包括一个分区表信息。文件分配表和根目录信息记录着文件的名字、属性等以及存放的地址,在文件定位时,结合分配表信息和根目录信息,就可以很方便地找到文件。数据区是硬盘中占用扇区最多的一个部分,用于保存文件数据。
    再来看看文件删除的过程:修改文件分配表对应信息、将文件名的第一个字符改掉以及释放磁盘空间。必须注意,存放在数据区的文件内容并没有被删除,因此删除的文件可以被恢复。对比地看,磁盘的高级格式化主要做了以下工作:对磁盘划分磁道和扇区、向主引导区和DOS引导区写入引导信息、清空文件分配表和根目录区并扫描磁道。然而快速格式化却不同,它没有进行磁道扫描,因此,快速格式化和完全删除磁盘文件在效果上是相同的。
    与硬盘的结构相比,软盘中没有主引导区。高级格式化对软盘同样要做四件事情,不过就FORMAT 命令而言,在执行操作之前,会将文件分配表、根目录区的内容以映象形式保存到磁盘最后几个扇区中,这样一来,软盘数据又能被“反格式化”操作恢复回来(只要数据区内容没有被覆盖掉)。
    鉴于1.44MB 3.5英寸软盘FAT区和根目录区所占扇区数是不变的(FAT1: Sector 1-9; FAT2: Sector 10-18; ROOT: Sector 19-32),我们可以上机实践一下,编写一个快速格式化程序,实现对1.44MB 3.5英寸软盘的快速格式化。由于程序较简单,没有保存UNFORMAT信息,所以格式化完成后数据无法恢复,因此实验时应特别小心。我们可以利用C语言库函数abswrite来实现快速格式化,因为它是被定义在dos.h头文件中的,因此程序开始时应写上:
                         #include <dos.h>
以下是此函数的原形,在此写出便于参考学习:
         int abswrite (int drive, int nsects, int lsect, void *buffer);
与之对应的absread函数原形:
         int absread (int drive, int nsects, int lsect, void *buffer);
    程序设计思路:因为快速格式化是将FAT区和ROOT区清空,那么我们可以利用abswrite函数向这两个区域写零,达到数据清空的目的。程序代码如下:
#include <dos.h>
#include <stdio.h>

unsigned char buff[512];

main()
{
int i;char c;
 printf (“/nQuick Format 1.44MB/n”);
printf (“Program by ChenQingyang./n”);
printf (“ALL DATA IN THE FLOPPY DISK WILL BE LOST!!/n”);
printf (“/nInsert a diskette for drive A:/n”);
printf (“and press ENTER when ready. . .”);c=getchar();
printf (“/n/nCleaning FAT area. . .”);
buff[0]=0xf0;buff[1]=buff[2]=0xff;
for (i=3;i<512;i++) buff[i]=0;
abswrite(0,1,1,buff);
abswrite(0,1,10,buff);
for (i=0;i<512;i++) buff[i]=0;
for (i=2;i<10;i++) abswrite (0,1,i,buff);
for (i=11;i<19;i++) abswrite (0,1,i,buff);
printf (“/nCleaning ROOT area. . .”);
for (i=19;i<33;i++) abswrite (0,1,i,buff);
printf (“/n/nQuickFormat Completed!/n”);
}

 

学习 图形着色器-理论与实践 graphic shaders - glman

http://web.engr.oregonstate.edu/~mjb/glman/
  • z444_579
  • z444_579
  • 2016年07月20日 09:20
  • 1287

【游戏理论】游戏与游戏开发

游戏,是一个系统,其中包含各种抽象于现实的元素,玩家基于游戏的规则,以游戏指定的交互方式完成游戏中的挑战,游戏实时对玩家的行为给出反馈信息,最终得到量化的结果。整个游戏的过程和结果会给玩家带来情绪化反...
  • eazey_wj
  • eazey_wj
  • 2016年08月09日 23:49
  • 386

语音增强-理论与实践----笔记-谱减法

谱减法降噪 1: ref the 语音增强-理论与实践 语音增强-理论与实践----笔记-谱减法 关于谱减法降噪,在噪声为加性噪声的前提下,区分出带噪语音帧与噪声帧,通过带噪语音帧的幅度谱...
  • yahoochemical
  • yahoochemical
  • 2017年07月28日 21:54
  • 511

Linux parted命令格式化2T以上硬盘脚本

关于parted命令网上有资料,这里简单的介绍下使用。 用法:parted [选项]... [设备 [命令 [参数]...]...]  将带有“参数”的命令,则以命令模式运行。如果没有给出“命令”...
  • hubinxiong
  • hubinxiong
  • 2016年06月12日 10:10
  • 1833

CentOS使用mkfs.ext4快速格式化大容量硬盘

昨天(2014-09-16)屁民瑞威为了测试一个系统,给2台虚拟机各分配了1.5TB的存储空间。但是当使用fdisk创建分区后,使用mkfs.ext4格式化文件系统时,那个速度之慢,为了不搞坏硬盘,没...
  • wk022
  • wk022
  • 2016年01月22日 16:38
  • 5866

安全理论介绍及其实践

<!--google_ad_client = "pub-8839168920960984";google_alternate_ad_url = "http://www.goldmicro.com...
  • prettyheart
  • prettyheart
  • 2004年12月09日 08:30
  • 879

由学习理论谈学习中的实践

意在增加个体经验的实践学习,在古今中外的学习思想中均有体现,并且颇受重视。增长知识与亲身体验,是学习的两个方面,是不可分割的。正是这两方面的不断交互和相互促进,才形成一种有效的学习,实现人的内在发展和...
  • sxhelijian
  • sxhelijian
  • 2013年09月29日 21:47
  • 2838

批处理-快速格式化硬盘(全自动进行)

在bat文件中加这两句: @echo Now initializing the program,please wait a minite... @format h: /q /u /y h:代表盘符...
  • xexiyong
  • xexiyong
  • 2014年07月20日 14:50
  • 5329

ubuntu14.04 4T大容量磁快速盘格式化方法

mkfs.ext4  -T largefile /dev/xxx这个方式,几乎在几分钟完成快速格式化。 注意:mkfs -t -c  ext4 /dev/xxx  ,其中 -c代表检查磁盘坏...
  • hero9881010love
  • hero9881010love
  • 2015年01月13日 13:56
  • 5284

“驱动器中的磁盘未被格式化”解决办法

“驱动器中的磁盘未被格式化”,是因为文件系统的内部结构损坏了。要恢复里面的数据,暂时别格式化这个盘,具体步骤看正文 工具/软件:极光数据恢复软件 数据恢复方法: 数据恢复...
  • qq_40829066
  • qq_40829066
  • 2017年12月06日 09:30
  • 257
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:磁盘快速格式化的理论和实践
举报原因:
原因补充:

(最多只允许输入30个字)