早就想给我的 WD MyBook World Edition 整理一下硬盘了，但是每次上 Google 搜 linux defrag 的时候，结果总是一群 Linux 狂在说“Linux 无需整理磁盘”、“Linux 磁盘空间管理比 Windows 强，不会产生碎片”，还有网站详细地列出 Linux ext3 分区和 Windows NTFS 分区的工作原理，从而证明“Linux 无需整理磁盘”（最典型的就是“抽屉理论”）。最近 NAS 总死机，用 fsck 查了下硬盘，得到了这么个结果： [root@Locker ~]# fsck -p -f /dev/md4 fsck 1.38 (30-Jun-2005) /dev/md4: 9106/121094144 files (25.7% non-contiguous), 232500435/242163776 blocks inode 碎片（基本上可以理解为磁盘碎片）竟然达到了 25.7%！我一直怀疑 Linux 的文件管理机制在大量新增/删除文件之后的碎片程度，看来我的担心从某种角度上来说是正确的。后来又找到一篇（稀有）文章，里面详细讲述了 Linux 分区出现碎片的可能性和解决方法。等有时间了翻译一下。
先介绍一下我的DELL小本的基本状况： 型号：Latitude C640 出厂时间：2002年12月3日 CPU：Pentium 4-M 2.4GHz（P4M的终结版，比较少见的处理器） 内存：出厂配置128MB x 2 = 256MB，后来自己换成512MB x 1 显卡：ATi Radeon 7500 Mobility（M7，也算经典的一款） 硬盘：出厂配置40GB，去年11月份出现坏道，质保更换为60GB可爱的DELL小本跟了我3年半了。其间经历了很多曲折。在上一块硬盘报废之后，小本就一直睡在我的桌子上。只有当我想躺在床上看电影的时候才施展一下它的才华。前几天躺在床上看电影的时候，突然发现硬盘异常。动用chkdsk详细检查，发现又出现了16KB的坏扇区。三年质保已经过了，想换硬盘也不可能了，唯一的方法就是关掉已经损坏的磁盘空间。拿出效率源检测，坏道出现在8%处。动用Partition Magic将坏道独立了出来。猛然间想到，怎么没看到诊断分区？这个硬盘是在上一块硬盘报废之后通过质保更换的。看来DELL在更换硬盘的时候并没有把诊断分区设置好。自己动手，丰衣足食吧。在网上搜索了一些关于诊断分区的文章（还真有好事者去研究这个诊断分区），发现诊断分区有独到的好处： 1、不受分区表限制，即便没有标注为活动（active），仍然可以在启动时按F12键选择启动 2、DELL的诊断工具是基于DOS操作系统的，也就是说可以安装任意的DOS系统在诊断分区，可塑性非常强 3、因为诊断分区设置为隐藏，并且标记为DE（下面会讲到），所以对系统没有任何影响 4、可以将Ghost放入诊断分区，实现系统快速恢复好处这么多，看着都流口水，废话少说，拿出尘封已久的DOS知识开工吧！这里要先提一下DOS操作系统。10年前，在Windows 95还没开发出来之前，没有人不知道DOS是什么东西。那个时候，人们盯着电脑，黑底白字，想着下一个命令语句，那感觉就像现在用Linux。但是，简单的DOS确成就了一批精品软件，PC-Tools、HD-COPY、UCDOS、WPS、CCED等等都是DOS时代的必备软件。后来出现了Ghost和Partition Magic，使得系统维护变得非常简便。现在，我终于要返朴归真，回到浪费脑细胞的DOS时代。在网上找了一下DOS软件下载，还真不少。总结一下，大体上需要以下软件：（有具体需求的话可以自行添加） 1、MS-DOS 7.10，目前为止最稳定功能最强大的操作系统，可以识别长文件名和大容量硬盘 2、DELL Diagnostics Tools，DELL的诊断工具，可以从官方网站上下载 3、Partition Magic for DOS，DOS下的分区管理工具，可以在不损伤数据的前提下自由调整分区大小 4、Ghost for DOS，系统恢复易如反掌同时我们还需要另外几个工具软件来创建诊断分区： 1、Partition Magic，之前已经介绍过了，这里我们只需要Windows部分 2、PTedit，分区表修改工具，Partition Magic的一个附件软件下载回来之后，动手开工： 1、创建诊断分区（若已存在诊断分区则跳过这一步）：使用Partition Magic划出一个30-100MB的分区，格式化为FAT16格式。 2、如需要恢复分区，可以再分出5-8GB，格式化成FAT32或者NTFS （由于我的小本60GB硬盘在8%处出现坏道，所以我给分成100MB + 6GB + 15GB + 30GB，大概损失1GB作为坏道隔离区） 2、使用PTedit将启动分区设置为诊断分区（将Boot Record设置为80，同时将现有的启动分区的Boot Record设置成00）软件下载： 新DOS时代：http://www.cn-dos.net/newdos/dosmain.htm参考资料： Inside the Dell Utility Partition：http://www.goodells.net/dellutility/ DOS扩展工具介绍：http://www.cn-dos.net/msdos71/readmecn.txt