格式化查看源代码讨论查看历史
格式化 | |
---|---|
格式化,是指对磁盘或磁盘中的分区(partition)进行初始化的一种操作,这种操作通常会导致现有的磁盘或磁盘分区中所有的文件被清除。格式化通常分为低级格式化和高级格式化。如果没有特别指明,对硬盘的格式化通常是指高级格式化,而对软盘的格式化则通常同时包括这两者。
基本信息
中文名 格式化 [1]
外文名 Format
含义 进行初始化的一种操作 [2] 分类 低级格式化和高级格式化
用途 所有的文件被清除
种类
盘片格式化牵涉两个不同的程序:低级与高级格式化。前者处理盘片表面格式化赋与磁片扇区数的特质;低级格式化完成后,硬件盘片控制器(disk controller)即可看到并使用低级格式化的成果;后者处理"伴随着操作系统所写的特定信息"。
低级格式化
低级格式化(Low-Level Formatting)又称低层格式化或物理格式化(Physical Format),对于部分硬盘制造厂商,它也被称为初始化(initialization)。最早,伴随着应用CHS编址方法、频率调制(FM)、改进频率调制(MFM)等编码方案的磁盘的出现,低级格式化被用于指代对磁盘进行划分柱面、磁道、扇区的操作。
现今,随着软盘的逐渐退出日常应用,应用新的编址方法和接口的磁盘的出现,这个词已经失去了原本的含义,大多数的硬盘制造商将低级格式化(Low-Level Formatting)定义为创建硬盘扇区(sector)使硬盘具备存储能力的操作。现在,人们对低级格式化存在一定的误解,多数情况下,提及低级格式化,往往是指硬盘的填零操作。
对于一张标准的1.44 MB软盘,其低级格式化将在软盘上创建160个磁道(track)(每面80个),每磁道18个扇区(sector),每扇区512位位组(byte);共计1,474,560位组。需要注意的是:软盘的低级格式化通常是系统所内置支持的。通常情况下,对软盘的格式化操作即包含了低级格式化操作和高级格式化操作两个部分。
高级格式化
高级格式化又称逻辑格式化,它是指根据用户选定的文件系统(如FAT12、FAT16、FAT32、NTFS、EXT2、EXT3等),在磁盘的特定区域写入特定数据,以达到初始化磁盘或磁盘分区、清除原磁盘或磁盘分区中所有文件的一个操作。高级格式化包括对主引导记录中分区表相应区域的重写、根据用户选定的文件系统,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间,以便用户使用该分区管理文件。
方法
简单地说,格式化就是为磁盘做初始化的工作,以便我们能够按部就班地往磁盘上记录资料。好比我们有一所大房子要用来存放书籍,我们不会搬来书往屋里地上一扔了事,而是要先在里面支起书架,标上类别,把书分门别类地放好。
我们新购买的磁盘在使用之前,要能让操作系统认得它,要先写入一些磁性的记号到磁盘上的每一扇区,便可在该操作系统下取用磁盘上的数据,这个动作就称为格式化。
高级格式化和低级格式化
格式化动作可分为高级格式化(high-level format)和低级格式化(low-level format)两种。软盘只有低级格式化(虽然看上去是高级格式化);而硬盘不仅有高级格式化,还有低级格式化的动作。低级格式化都是针对硬件的磁道为单位来工作,这个格式化动作是在硬盘分区和高级格式化之前做的,通常一般的使用者并不会去做这个动作。
若未特别指明,则一般格式化的动作所指的都是高级格式化。在MS-DOS操作系统当中,我们可以使用FORMAT指令来格式化硬盘与软盘,例如要格式化一片在磁盘驱动器A:当中的磁盘片,并将开机文件放入该磁盘当中,则使用'FORMAT A: /S'指令,而在Windows操作系统中,格式化的动作则由'资源管理器'来执行(右键点击磁盘名称-->"格式化……")。
格式化的动作通常是在磁盘的开端写入启动扇区(boot sector)的数据、在根目录记录磁盘标签(volume label)、为文件分配表(FAT)保留一些空间,以及检查磁盘上是否有损坏的扇区,若有的话则在文件分配表标上损毁的记号(一般用大写字母"B"代表"BAD"),表示在该扇区并不用来储存数据。
注:在高级格式化之前,通常我们必须为磁盘驱动器指定分区(partition),这是将一个实体磁盘驱动器分为数个分区,以使得不同的操作系统使用不同的分区,或是分为数台逻辑磁盘驱动器,这个动作称为"磁盘分区"。
区别低级
低级
低级格式化就是将空白的磁盘划分出柱面和磁道,再将磁道划分为若干个扇区,每个扇区又划分出标识部分ID、间隔区GAP和数据区DATA等。可见,低级格式化是高级格式化之前的一件工作,它只能够在DOS环境来完成。而且低级格式化只能针对一块硬盘而不能支持单独的某一个分区。每块硬盘在出厂时,已由硬盘生产商进行低级格式化,因此通常使用者无需再进行低级格式化操作。其实,我们对一张软盘进行的全面格式化就是一种低级格式化。
需要指出的是,低级格式化是一种损耗性操作,其对硬盘寿命有一定的负面影响。因此,许多硬盘厂商均建议用户不到万不得已,不可"妄"使此招。当硬盘受到外部强磁体、强磁场的影响,或因长期使用,硬盘盘片上由低级格式化划分出来的扇区格式磁性记录部分丢失,从而出现大量"坏扇区"时,可以通过低级格式化来重新划分"扇区"。但是前提是硬盘的盘片没有受到物理性划伤。
高级
高级格式化就是清除硬盘上的数据、生成引导区信息、初始化FAT表、标注逻辑坏道等。一般我们重装系统时都是高级格式化,因为MBR不重写,所以有存在病毒的可能。MBR病毒可以通过杀毒软件清除或者在DOS下执行 fdisk /mbr 重写MBR 以彻底清除病毒。
对比
高级格式化就是和操作系统有关的格式化,低级格式化就是和操作系统无关的格式化。
高级格式化主要是对硬盘的各个分区进行磁道的格式化,在逻辑上划分磁道。对于高级格式化,不同的操作系统有不同的格式化程序、不同的格式化结果、不同的磁道划分方法。
低级格式化是物理级的格式化,主要是用于划分硬盘的磁柱面、建立扇区数和选择扇区间隔比。硬盘要先低级格式化才能高级格式化,而刚出厂的硬盘已经经过了低级格式化,无须用户再进行低级格式化了。一般,只有在十分必要的情况下,用户才需要进行低级格式化,比如说,你的硬盘坏道太多,经常导致存取数据时产生错误,甚至操作系统根本无法使用,那么你就需要进行低级格式化了。再有如果你的硬盘上的某些和低级格式化有关的参数被病毒破坏了,如硬盘间隔系数等,那么你只有进行低级格式化重新建立这些参数了。
主板格式化
很多主板的CMOS中都提供了进行低级格式化的功能,一般在HDD Low Level Format选项中,你的主板上如果有这个选项,你就可以直接使用其中的Hard Disk Low Level Format Utility进行低级格式化。也有很多主板上没有低级格式化的功能,如果是这样的话,那你最好使用该硬盘厂商提供的硬盘管理、低级格式化程序。也有一般通用的低级格式化程序,如DM(Disk Manager),PC-Tools等,如果你的硬盘是比较标准的,也可以使用这些工具进行低级格式化。
操作系统
在Windows和DOS下,都有格式化Format的程序,不过,一旦进行格式化硬盘的工作,硬盘中的数据可是会全部不见喔!所以进行这个动作前,先确定磁盘中的数据是否还有需要,如果是的话先另行备份吧。
如果对硬盘的C区进行格式化,键入格式如下:
[ ]内可填入参数,建议大家一般不要填加参数,直接键入format C: ,然后回车就可以了,因为对一般人来说填加参数意义不大。
FORMAT常用的参数
/u 对硬盘进行破坏性格式化,如果不添加此参数,硬盘根目录下将产生一个隐藏的MIRROR映像文件,如果未进行其它硬盘操作,可以用UNFORMAT 恢复原来的硬盘内容,当然最好在格式化硬盘之前,将需要备份的数据等先备份好。
/s 格式化之后将DOS系统文件复制到硬盘根目录,填加此项参数,硬盘可以启动至C: 的状态,这在DOS时代非常有用,现已经没有什么实际意义了。
/c 格式化硬盘的同时检查硬盘扇区并修复坏扇区,这种修复并不十分可靠,还会影响格式化的速度。
/v [label] 格式化后给硬盘加上[ ]内的卷标(名字)。
/q 快速格式化。
还有一些不常用的参数,就不一一介绍了。
我们仍需用WINDOWS98的启动盘,将其插入计算机的A驱动器,然后打开计算机,按1键,按回车,十几秒后屏幕将出现A: ,因为我们硬盘有3个分区,所以键入f: ,回车,屏幕变成F: (如果是2个分区就键入e: 回车,如果4个分区,就键入g: ,回车,以此类推)键入format c: 回车,出现下面提示。
WARNING , ALL DATA ON NON-REMOVABLE DISK
DRIVE C: WILL BE LOST!
Proceed with Format (Y/N)n
意思是说危险,C区数据将丢失,是否格式化?
我们按Y,回车,这时会出现一个进度数字指示,从1开始到99结束,格式化5G硬盘,如果计算机的配置高的话,2分钟左右可以结束,配置低则也可能要用5、6分钟,也许更慢些,但如果很长时间,进度数字不动的话,则硬盘有问题,需要更换或维修。
当进度数字闪过99后,出现下面的提示。
Volume label ( 11 characters , ENTER for none)?
意思是让我们给硬盘起个卷标,也就是名字,如果直接回车,则没有卷标名称。
然后会出现格式化完成后,硬盘空间的列表,会告诉我们硬盘的总容量,可用空间,系统占用空间,坏扇区占用空间,卷标,剩余空间等数据,并回到了F:/ 的状态,这说明我们已经成功的完成了格式化C分区的格式化,然后还按上面的步骤依次完成对D:区和E:区的格式化工作。
格式化:指对磁盘进行使用前的预处理以便存入数据。一般而言,新盘是必须格式化的,而使用过的旧盘也可以格式化,格式化后磁盘上全部数据将被删除。
注意:硬盘的格式化是一项非常危险的操作,建议提前备份重要数据,如果没有及时备份就格的用户可以在格式化(高级格式化)后用户可以用一些恢复软件来恢复重要数据,但是全区恢复的前提是没对格的分区写入任何内容。如果写进内容了,就可能不全部恢复了,但还是能恢复部分数据!
快速格式化
在对磁盘进行格式化时,我们还有一个选择是"快速格式化"。
当运行常规格式化命令时,会在当前分区的文件分配表中将分区上的每一个扇区标记为空闲可用,同时系统将扫描硬盘以检查是否有坏扇区,扫描过程中会为每一个扇区打上可用标记。扫描坏扇区的工作占据了格式化磁盘分区的大部分时间。
如果选择的是快速格式化,那么将只从分区文件分配表中做删除标记,而不扫描磁盘以检查是否有坏扇区。只有在硬盘以前曾被格式化过并且在能确保硬盘没有损坏的情况下,才可以使用此选项。
数据安全性
理论上讲,高级格式化(不论是快速还是普通形式)并没有真正从磁盘上删除数据,它只是给数据所在的磁盘扇区的开头部分写入了一种特殊的删除标记,告诉系统这里可以写入新的数据。只要在格式化后没有立刻用全新的数据覆盖整个硬盘,那么原来的数据还会好端端在那里,只需要一些特定的软件即可恢复原来的数据。
相反地,低级格式化所做的是将磁盘上的每一个扇区用"00"覆盖,这将完全地破坏硬盘上的所有数据,不再有恢复的可能。
问题解答
格式化能清除硬盘上的病毒么?
不一定能。只要针对某个分区的格式化命令被执行,这个分区上的一切现有数据就被标记为不可读。非引导分区的病毒作为一种程序文件自然也就看不到了,当然也就不可能再运行。引导区病毒不能通过格式化消除。
此外,值得注意的是,一个硬盘往往不止一个分区,表现在"我的电脑"中,你会看到从C:开始的好几个盘符。你必须将所有这些不同盘符的分区格式化之后才能说自己的硬盘上百分百的没有病毒。否则的话,这个盘被格式化了,那个盘上还有病毒,什么时候打开别的盘来一读,病毒又会回来了。
在Windows环境下能格式化所有硬盘分区么?
答案是"不能"。只要Windows系统启动起来,在系统盘(一般是C:盘,也可自定义)上就有一些系统文件被锁定为不可移动或删除。Windows下的格式化命令是图形界面的Windows程序,这种程序是Windows操作系统的附属工具,离开Windows操作系统就无法运行,所以它不能格式化它的"上级"系统程序所在的磁盘分区。
只要不是系统分区,别的分区都可以轻松地对之进行格式化的操作。
怎样格式化所有硬盘分区?
答:想办法进入DOS,比如用Windows的启动光盘。进入DOS命令行界面后,使用 FORMAT X:(把X:换成任意字母+半角冒号,"X"必须是FAT格式分区)即可。也可用其他第三方磁盘管理工具比如PQ Magic等。这些磁盘分区软件,可以在分区的同时对当前分区进行格式化。
Linux
Linux 下有图形界面的格式化工具:
Gparted,推荐新手使用,界面直观,操作方便
Ubuntu/Debian 用户可以用:
apt-get install gparted
来安装它
另外,Linux 下的格式化命令是 mkfs.[文件系统]
比如
mkfs.ext3
mkfs.vfat
mkfs.ntfs
mkfs.xfs
等等
如果要把 /dev/sda1 格式化为 Ext3 文件系统,就输入
mkfs.ext3 /dev/sda1
即可完成格式化。其他操作与此相似,都是
mkfs.[文件系统] [分区]
Linux下添加新硬盘及分区格式化要点
在为主机添加硬盘前,首先要了解linux系统下对硬盘和分区的命名方法。
在Linux下对IDE的设备是以hd命名的,第一个ide设备是hda,第二个是hdb。依此类推
一般主板上有两个IDE接口,一共可以安装四个IDE设备。主IDE上的两个设备分别对应hda和hdb,第二个IDE口上的两个设备对应hdc和hdd。
一般硬盘安装在主IDE的主接口上,所以是hda;光驱一般安装在第二个IDE的主接口上,所以是hdc(应为hdb是用来命名主IDE上的从接口)
SCSI接口设备是用sd命名的,第一个设备是sda,第二个是sdb。依此类推
分区是用设备名称加数字命名的。例如hda1代表hda这个硬盘设备上的第一个分区。
每个硬盘最多可以有四个主分区,作用是用1-4命名硬盘的主分区。逻辑分区是从5开始的,每多一个分区,数字加一就可以。
比如一般的系统都有一个主分区用来引导系统,这个分区对应大家常说的C区,在linux下命名是hda1。后面我们分三个逻辑分区对应常说的D、E、F,在linux下命名是hda5、hda6、hda7
给硬盘分区
在slackware下有两个分区软件fdisk和cfdisk
例如现已经有一个硬盘了,添加另一个硬盘到系统
那么根据命名规则知道这个新添加的硬盘应该是hdb。可用下面命令给硬盘分区
fdisk /dev/hdb
你也可以用cfdisk来分区,命令如下
cfdisk/dev/hdb
格式化硬盘
格式化成ext3格式
mkfs.ext3 /dev/hdb1
格式化成reiserfs的格式
mkfs.reiserfs /dev/hdb1
让硬盘启动自动挂载
例如挂载/dev/hdb1分区到/mnt/hd目录下
用vi编辑/etc/fstab文件,加入如下内容
/dev/dhb1 /mnt/hd reiserfs defaults 1 1
杀毒作用
由于格式化将磁盘内的信息全部删除,所以病毒也会被一并删除掉,因此,格式化也经常被当作一个清除病毒的辅助手段。但是,如果病毒是潜伏在主板bios里,或者潜伏在被格式化分区以外的分区内,格式化当然起不到清除病毒的作用。不过,有的病毒存在文件中,格式化也是一个很好的选择!
格式化(Format)是在物理驱动器(硬盘)的所有数据区上写零的操作过程,格式化是一种纯物理操作,同时对硬盘介质做一致性检测,并且标记出不可读和坏的扇区。由于大部分硬盘在出厂时已经格式化过,所以只有在硬盘介质产生错误时才需要进行格式化。
DOS启动
如果你安装了WIN98,在电脑启动时按住Ctrl不放,出现启动选择菜单,选择5"Command Prompt Only"即可进入DOS方式。
我们常用的操作系统有windows 9x/Me,NT,2000、windows Xp、windows 2003、Windows 7等,都是可视化的界面。在这些系统之前的人们使用的操作系统是DOS系统。DOS系统已经没有什么人使用了,但是dos命令却依然存在于我们使用的windows系统之中。大部分的DOS命令都已经在Windows里变成了可视化的界面,但是有一些高级的DOS命令还是要在DOS环境下来执行。所以学习命令行对于我们熟练操作Windows系统是很有必要的。
不同的操作系统要用不同的命令进入命令行界面。
在Win9x/Me的开始菜单中的运行程序中键入"command"命令,可进入命令行界面。
在Win2000/NT的开始菜单中的运行程序中键?quot;cmd"命令,可进入命令行界面。
下面我用讲到的DOS命令都可以在Windows Me操作系统中执行。
那么,我们如何进入命令行窗口?
开始--〉运行--〉键入command(也可以直接输入cmd)命令--〉回车
进入了命令行操作界面(DOS窗口),在DOS窗口中只能用键盘来操作。
在DOS中通过输入英文命令加回车键这种方式来执行程序。
退回到A盘
如果我们需要格式化C:盘,那么不能在C:盘目录格式化C:盘,而是要退回到A:盘。反正C:盘以外的盘,如果是用启盘启动的,那一般启完成后就是A:盘,如果是用光盘启动的那般不在A:盘(具体在那个盘要看共有几个分区,它会自动向后推移)。
FORMAT --格式化命令
众所周知,新买的磁盘都必须经过格式化后方能使用,FORMAT命令可以完成对软盘和硬盘的格式化操作,格式为"FORMAT [盘符] [参数]",例如:"FORMAT C: /S"。它有两个常见的参数:
/Q :进行快速格式化(请注意小心误格式化) ;
/S :完成格式化,并将系统引导文件拷贝到该磁盘。
VB Format 函数
返回Variant(String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。
语法
Format(expression[,format[,firstdayofweek[,firstweekofyear]]])
Format函数的语法具有下面几个部分:
部分
说明
expression
必要参数。任何有效的表达式。
format
可选参数。有效的命名表达式或用户自定义格式表达式。
firstdayofweek
可选参数。常数,表示一星期的第一天。
firstweekofyear
可选参数。常数,表示一年的第一周。
设置值
firstdayofweek参数有下面设置:
常数
值
说明
vbUseSystem
0
使用 NLS API 设置。
VbSunday
1
星期日(缺省)
vbMonday
2
星期一
vbTuesday
3
星期二
vbWednesday
4
星期三
vbThursday
5
星期四
vbFriday
6
星期五
vbSaturday
7
星期六
firstweekofyear参数有下面设置:
常数
值
说明
vbUseSystem
0
使用 NLS API 设置。
vbFirstJan1
1
从包含一月一日的那一周开始(缺省)。
vbFirstFourDays
2
从本年第一周开始,而此周至少有四天在本年中。
VbFirstFullWeek
3
从本年第一周开始,而此周完全在本年中。
说明
格式化
作法
数字
使用预先定义的命名数值格式或创建用户自定义数值格式。
日期和时间
使用预先定义的命名日期/时间格式或创建用户自定义日期/时间格式。
日期和时间序数
使用日期和时间格式或数值格式。
字符串
创建自定义的字符串格式。
如果在格式化数字时没有指定format,Format会提供与Str函数类似的功能,尽管它是国际化的。然而,以Format作用在正数上不会保留正负号空间,而以Str的话则会。