论坛风格切换切换到宽版
  • 3635阅读
  • 0回复

磁盘碎片整理——你不能回避的话题! [复制链接]

上一主题 下一主题
离线admin
 

发帖
17319
金钱
88512080
威望
88
贡献值
20070
只看楼主 倒序阅读 使用道具 0 发表于: 2006-10-10
一、磁盘碎片产生的原理

其实磁盘碎片应该称为文件碎片,是因为文件被分散保存到整个磁盘的不同地方,而不是连续地保存在磁盘连续的簇中形成的。当应用程序所需的物理内存不足时,一般操作系统会在硬盘中产生临时交换文件,用该文件所占用的硬盘空间虚拟成内存。虚拟内存管理程序会对硬盘频繁读写,产生大量的碎片,这是产生硬盘碎片的主要原因。另外频繁的安装/卸载程序都会产生大量的磁盘碎片。
  其他如网络临时文件夹,以及系统临时文件夹(Temp)也会造成系统中形成大量的碎片。文件碎片一般不会在系统中引起问题,但文件碎片过多会使系统读写文件时花费过多时间,引起系统性能下降,严重的还要加速硬盘主电机老化。另外,过多的磁盘碎片还有可能导致存储文件的丢失。

  二、磁盘读写操作的原理

  知道了磁盘碎片的产生原因之后,我们还有必要了解一下程序运行时磁盘的读写动作。一般运行一个程序时,磁盘驱动器的磁头所做的工作是先搜索该程序运行必需的文件,然后读取数据,最后做读后处理——将数据传送至磁盘高速缓存(Cache)和内存中。搜索时间在硬盘性能指标中被称为平均寻道时间(Average seek time),单位为毫秒(ms),目前主流硬盘的平均寻道时间小于9ms。如果能将应用程序的相关文件放在磁盘的连续空间内,磁头搜索的时间将会减少很多。读取时也是如此,磁盘读取位于磁头下方扇区的数据所需时间仅为将磁头移到另一地点再读取相同数据所需时间的五分之一。读盘时,系统先检查数据是否在高速缓存中,如果有则直接读取;如果没有则访问磁盘,也就是读盘。当需要多次读取同一份数据时,Cache的作用很大,但对于第一次读取某个文件,Cache就无能为力了。于是搜索时间和读取时间在很大程度上影响着程序执行的效率。至此大家可以看出磁盘碎片的存在会造成磁头频繁读写磁盘,不仅加速磁盘老化最重要的是严重影响系统的性能和效率。
  

三、减少磁盘碎片

通过以上介绍大家基本了解了碎片产生的原理,其实我们可以通过一些方法减少系统碎片的产生。


  1。转移“临时文件夹”

a.“虚拟内存”--在2K/XP系统下名为pagefile.sys(9x下为Win386.swp),系统默认情况下大小经常发生变动,小的时候可能只有几十兆,大的时候则有数百兆,这是很容易产生碎片的,并且系统管理下的虚拟内存工作效率也很低。具体设置优化方法请参阅精华区其他帖子有详细介绍,这里主要告诉大家他的转移:默认情况下它是在系统分区里,在9X系统下,进入“控制面板”“属性”-“虚拟内存”,在这里进行设置即可。对于2K/XP系统,进入“控制面板”-“属性”-“高级”-点击“性能”项的设置-”高级”-“更改”-在这里进行设置即可。

b.“网络临时文件夹”(Temporary Internet Files)--由于这里保存的都是大家上网的各种临时文件,文件交替频繁是产生碎片的主要地点。现在别的分区新建一个同名文件夹,进入“控制面板”-“Internet选项”在第一页中间选择“设置”--点击“移动文件夹” 至刚才建立的位置即可。另外如果平时浏览的网站很不固定,经常在线看电影听音乐请适当把空间设置大一些。

c.“系统临时文件夹”(Temp)--这里存放的都是平时安装/解压缩的临时文件,不仅要把它转移到别的分区,还要经常手动地清理,不然会占用很多空间。具体做法如下:首先在非系统区新建一个Temp文件夹,然后98/Me下,编辑系统区下的自动批处理文件autoexec.bat,加上以下两行:

  SET TEMP=F:\TEMP
  SET TMP= F:\TEMP
如果没有autoexec.bat,可用记事本等文本编辑工具自行建立。保存后重启,并删除原TEMP文件夹。在2K/XP系统下,和上面一样,在非系统区新建一个Temp文件夹,进入“控制面板”-“属性”-“高级”-“环境变量”在这里要注意:上面是当前登陆用户,下面是系统,换句话,如果只有一个登陆用户就只需要在上面进行设置。首先选中“Temp变量”-点击“编辑”,在弹出窗口中输入刚才新建的Temp路径即可。然后“Tmp变量”同上。 但是如果用户很多就要在下面的“系统变量”进行,方法相同。


2。良好的使用习惯

另外,除常用软件以外,尽量在非系统区安装工具/解压缩,并且把下载文件夹设置在其他分区。这样做都可以减少系统分区碎片的产生,从而最大程度的保证系统流畅的运转,也减少大家频繁的进行磁盘整理。



四、定期整理硬盘

  硬盘使用的时间长了,文件的存放位置就会变得支离破碎——文件内容将会散布在硬盘的不同位置上。这些“碎片文件”的存在会降低硬盘的工作效率,还会增加数据丢失和数据损坏的可能性。碎片整理程序把这些碎片收集在一起,并把它们作为一个连续的整体存放在硬盘上。
  有的朋友担心自己经常整理硬盘是否会加速磁盘老化?甚至是产生坏道?这点请大家放心,有规律的正常进行只会对系统和磁盘百益而无害。实际上在大多数情况下,定期的硬盘碎片整理减少了硬盘的磨损。因此,一个每两周或四周整理一次的硬盘的寿命远当比一个很少整理的硬盘长。

  1。整理前的准备工作
  
  在整理硬盘前首先运行“磁盘扫描”程序,检查修复磁盘现在的问题和逻辑坏道以及磁盘表面错误。目的是防止因为存在磁盘错误时进行整理造成文件损坏和丢失。
  
  2。整理方法及注意

磁盘碎片整理可以提高文件的读写速度,可是盲目地进行整理,却有可能发生一些不必要的危险,这就要求我们注意以下事项:

  a.整理期间不要进行数据读写

  进行磁盘碎片整理是个很漫长的工作,不少朋友喜欢在整理的同时听歌、打游戏,尤其是对整理的分区进行读写这是很危险的,因为磁盘碎片整理时硬盘在高速旋转,这个时候进行数据的读写,很可能导致电脑死机,甚至硬盘损坏。

  b.不宜频繁整理

  磁盘碎片整理不同于别的电脑操作,硬盘会高速连续旋转,如果频繁进行磁盘碎片,会加速硬盘电机老化,建议一个月左右整理一次。

  c.双系统下不要交叉整理

  很多朋友都安装有双操作系统,但是由于不同内核系统采用的磁盘整理工具工作原理不同,以及兼容问题等原因,交叉进行磁盘碎片整理可能会造成文件易位、混乱甚至系统崩溃,所以建议大家对于系统磁盘使用系统自带工具进行整理,而非系统分区则无所谓。

d.关闭屏幕保护和防火墙等后台程序     

  在进行磁盘碎片整理工作前,首先要关闭屏幕保护程序,否则磁盘碎片整理程序会反复地启动,但是如果每次都通过人工的方式来关闭应用程序,可能比较麻烦。通过修改注册表来实现自动关闭屏幕保护这样就方便很多。具体操作步骤如下: 首先,在命令行中使用regedit命令打开注册表,定位到"HKEY_CURRENT_USERSoftware MicrosoftWindowsCurrentVersionApplets",然后在此路径下寻找是否有"Defrag"键值,如果没有,就新建一个,系统默认情况下都有此键值。在"Defrag"键值下再新建一个名为"Settings"的主键,然后再在此新建的主键下建立一个名为"DisableScreenSaver"的主键,最后将它的默认字符串值改为"YES"即可。以后每次运行磁盘碎片整理程序时系统会自动屏蔽掉屏幕保护,运行完成后自动恢复。

e. 保留一定的磁盘空间

  系统在整理时候最好保持15%以上的可用空间,否则过程会很漫长甚至无法进行。所以,对于比较小的磁盘分区建议大家最好保证生于空间在15%左右, 对于比较大的磁盘分区,最好保持5%以上的可用空间。另外,在使用电脑的过程中,我们应该及时释放浪费的磁盘空间,例如经常清空回收站、删除上网后的历史记录以及删除临时文件夹和文件等。

f. Win98磁盘整理工具使用技巧及说明

  从理论上来说,系统读取连续扇区所需的时间仅为读取不连续扇区所需时间的十分之一,这就充分说明了我们进行磁盘碎片整理的必要性。不过需要明确的是,将某个文件由原来的不连续存放整理为连续存放可以加快磁盘操作的速度,将经常需要使用的应用程序存放在一起(主要是指在硬盘的物理位置上连续存放)同样可以加快系统的运行速度。为此,Windows 98特意对磁盘碎片整理功能进行了扩充,可以对磁盘文件的位置进行重新排列,新增了将用户使用得比较多的软件移动到连续位置的功能。要使用系统的这一新增功能,我们需在启动磁盘碎片整理程序并弹出驱动器选择框之后单击“设置”按钮,然后在弹出的设置对话框中复选“重新安排程序文件以使程序启动得更快”选项。

虽然2000/XP并没有直接提供这项选择,但是整理之前的“分析”已经进行了相关工作,相对98系统,2K/XP采用的磁盘工具效率更高,完美兼容NTFS格式,整理更彻底。

  补充说明的是,上面介绍的文件位置优化功能并不是无限制的,它仅对大约50个文件有效(这里所说的文件全部是指应用程序,数据文件不在优化之列)。也就是说,系统只能对用户使用得最频繁的50个应用程序进行优化,将它们在磁盘上进行连续存放以加快启动速度。在以往,对哪些文件进行优化是由系统控制的,用户无法进行修改,这就令许多用户都深感不便!这里以98系统为例进行说明。

  原来Win98在运行过程中会对有关应用程序的运行次数进行监视、记录,并将它们的运行情况按文件一一记录下来。此后用户在进行磁盘碎片整理时,系统就会按照对调用应用程序的频繁程度的记录对其排列位置进行优化。

  具体来说,系统对各个应用程序的调用情况都保存在Win98安装文件夹的APPLOG子文件夹中,每个应用程序对应一个记录文件,其记录文件的文件名就是应用程序的程序名,记录文件的扩展名为“LG+‘应用程序所在盘符’”(应用程序若保存在C盘上,则记录文件的扩展名就是LGC、应用程序若保存在D盘上,则记录文件的扩展名就是LGD。如C盘上winword.exe文件的记录文件就是winword.lgc;E盘上winwps32.exe文件的记录文件就是winwps32.lge),大家只需对这些文件进行适当“处理”即可对它们在进行磁盘碎片整理时的优化情况进行调整。

  例如某用户最近一段时间没有怎么使用Word,记录的Word使用频率并不高,此后在进行磁盘碎片整理时系统就不会对Word进行优化,假如用户仍然希望对其进行优化,以加快Word的启动速度,只需打开Windows 98安装文件夹APPLOG子文件夹下的winword.lgc文件(这是一个文本文件),然后手工对其使用记录进行适当添加即可(一般只需在文件中将原来的使用记录反复拷贝几次);再如,假设某用户不希望系统对WPS的启动速度进行优化,则只需将APPLOG子文件夹下的winwps32.lge文件删除即可,使用非常方便。

  还有一点需要说明的是,上面所讲述的禁止优化某个程序的方法仅对当次碎片整理有效,用户若打算长期禁止系统对某个应用程序进行优化,则必须在每次进行磁盘碎片整理之前重新对记录文件进行删除,使用很不方便!对此,我们可以通过下面的方法加以解决:

  启动注册表编辑器,并依次展开HKEY_LOCAL_MACHINE/Sofware/Microsoft/Windows/CurrentVersion/TaskMon分支,然后将相应应用程序的文件名称添加到该分支下的ExcludeApps字符串值中即可(只需要应用程序的文件名,无需路径及扩展名,各个应用程序之间使用“”分割)。此后磁盘碎片整理程序再进行文件优化时就不会考虑这些指定的文件了,从而满足了用户的某些特殊需要。

当然如果选择第三方优秀的磁盘工具,实现上面的功能就更方便。

  

  五、磁盘扫描程序的命令参数
  
  Windows 中的磁盘扫描程序就包含着许多命令参数,可以在“运行”对话框中实现,如果需要经常用命令参数,还可以建立一个快捷方式

  /SILENT 启动磁盘扫描程序不允许作任何选项设置和高级设置。
  /A   检查所有的本地硬盘
  /N   自动启动和退出磁盘扫描程序
  /P   防止磁盘扫描程序修复所发现的错误

  X:   X 表示指定要检查的驱动器号(不需要 / 的命令参数)
  举例:
  1)检查驱动器 E 并自动启动和退出磁盘扫描程序
  SCANDSKW E: /N
  2)检查所有的硬盘并防止磁盘扫描程序修复发现的任何错误
  SCANDSKW /A /P


  六、用Ghost整理磁盘碎片

  其实,无论是用系统自带的磁盘整理工具还是选择第三方解决方案(包括VoptXP)整理速度一直都不理想,目前80G甚至更大的120G硬盘已经大行其道,每个分区基本都在8G以上,漫长的整理时间使得很多人放弃了磁盘整理。其实大家经常用的Ghost也可以整理硬盘。

大家知道,用Ghost做磁盘映像时,Ghost会把硬盘分区中的每一个数据都完整地读出,然后把它写入一个GHO文件中,对于分区的空白部分,软件会自动跳过。然后当我们恢复GHO映像文件时,软件会把文件中的所有内容连续地写入分区中,于是所有的数据便都自动写在分区的头部,我们便得到了完整的未使用空间,原先的碎片文件也就自然消失。

  用Ghost整理碎片的具体方法是:先用Ghost的Check选项或者再Dos下运行Scandisk 扫描并修复分区上的所有错误码,再用Ghost给要整理的分区做一个GHO映像文件,文件的大小视分区的使用情况而定,然后再将GHO文件还原到原分区即可,这些操作最好在纯DOS模式下运行,在还原映像时一定要选对分区,否则会造成数据的丢失。效果不错,不过使用Ghost软件有一定的危险性,建议大家小心使用。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
快速回复
限100 字节
 
上一个 下一个