我的情况:
- 我的硬盘已经完全碎片整理并且必须保持碎片整理。
- 必须有可用空间充分碎片整理(没有小间隙),因此在复制新文件时异丙醇它们并不是支离破碎的。
我认为唯一的解决方案是让现有文件“滑动”到磁盘的开头。
我已经放弃的选项:
- 复制新文件后对其进行碎片整理(当磁盘可用空间低于 10% 时无法执行此操作)
- 重新格式化硬盘并复制所有文件(速度很慢,而且我没有其他可用的硬盘来进行此过程)
- jkdefrag -a 5 “强制合并”(创建碎片)
- MyDefrag“合并可用空间”脚本(将创建碎片)
- Defraggler(仅当文件填满空闲块时才会移动整个文件)
我正在考虑的选项:
- dirms“紧凑”模式(文档不完全清楚)
- Auslogics Disk Defrag Free(关于可用空间整合的文档不完整)
- VOPT Defragger“最紧密打包”(文档不完整)
重要编辑:忘记提及我的硬盘是 FAT32 格式的,它不是系统驱动器!
答案1
你可能无法
如果磁盘上有任何不可移动的文件,您很可能无法同时拥有 100% 碎片整理过的文件和 100% 碎片整理过的可用空间。这是因为不可移动文件之间的空间量可能没有任何长度相同的文件组合。此外,不可移动文件本身可能存在碎片。
从内存来看,FAT32 将其目录结构存储在不可移动的文件中,尽管我已经很多年没有真正使用过 FAT32 了。是的,目录以文件的形式存储在磁盘上,它实际上包含其中的文件和文件夹的列表以及每个文件和文件夹在磁盘上的起始位置。随着您向目录中添加更多文件,存储目录信息的文件的大小会不断增长。这可能会变得碎片化。NTFS 也允许您对目录文件进行碎片整理。
如果这也是系统驱动器,那么也会有一些不可移动的系统文件。您可以通过将磁盘放入另一个系统或从另一个驱动器/cd/dvd/usb/等启动来解决此问题。
jkdefrag 的开发人员将其产品重命名为 MyDefrag。我知道 MyDefrag 工具允许您将文件包裹在不可移动文件周围,这样可用空间就会 100% 合并,并且磁盘上的所有可移动文件都按顺序排列,就像碎片整理过的文件一样,但不可移动文件位于文件段之间。这会将文件显示为碎片,但由于它们按顺序排列在磁盘上,因此读取它们仍然会非常快。读取包裹在不可移动文件周围的这些文件之一将按连续的磁盘逻辑块地址顺序进行,但这里和那里会有一些间隙。磁盘跳过读取某些扇区所需的时间非常短。
编辑:此外,仅仅因为有空闲空间并不意味着 Windows 或 Linux 在添加新文件时会按顺序使用您期望的空间。您可能必须进行碎片整理。
答案2
必须有可用空间充分已碎片整理(没有小间隙)
...
我已经丢弃的选项:
...
在撰写本文时,碎片整理程序已更新,允许文件碎片填充空闲块。它是可用空间碎片整理模式下面列出:
Defraggler 有两个选项可用于对可用空间进行碎片整理:
- 正常模式:Defraggler 仅移动整个文件以填充空闲块。此模式可最大程度地减少文件碎片的可能性。
- 允许碎片模式:如果 Defraggler 未找到任何可完全放入空闲块的文件,它将改为移动文件碎片。此模式比正常模式更高效,但可能会导致额外的碎片。
我认为唯一的解决方案是让现有文件“滑动”到磁盘的开头。
Defraggler 将允许这样做。根据其文档:
Defraggler 如何对可用空间进行碎片整理
Defraggler 会移动文件或大型文件碎片,以创建单个连续的空闲簇块。它从驱动器的开头开始,使用从驱动器后面位置获取的文件簇填充空块。
答案3
我正在运行 Windows XP,并安装了 2010 年的 dirms 版本 3.0.0.0 命令行实用程序。根据我对该程序文档的理解,NTFS 在文件之间留有间隙,因此磁盘上存在碎片化的可用空间。其次,如果从驱动器中删除较小的文件,则会释放其空间以供重复使用。如果添加了较大的文件,即使有足够大的可用空间段来在一个段中容纳这个新文件,也会使用第一个较小的空间,并且当其剩余的碎片填充下一个可用空间时,文件会碎片化。
Dirms 将文件打包在一起,对可用空间进行碎片整理,从而腾出更大的可用空间。这是通过命令行输入“dirms c compact”完成的,其中第一个“c”是要压缩的驱动器号。如果进行碎片整理并通过压缩将文件移得更近,这将减少文件碎片化的趋势。
Dirms 无法解决 NTFS 中删除较小文件然后添加较大文件的问题,因为新文件仍将填充较小文件被删除后腾出的第一个可用空间,然后产生碎片。这是文件系统故障。(当然,删除文件后运行 Dirms 将避免新文件产生碎片!)
我还从文档中了解到,当没有足够的可用空间对文件进行完全碎片整理时,dirms 将减少碎片数量。如果某个段中的可用空间不足以容纳整个文件,内置碎片整理工具甚至不会尝试对文件进行碎片整理。Dirms 认为部分碎片整理仍然比没有碎片整理要好,因为它需要较少的驱动器磁头移动来读取文件。
我安装了 Auslogic 的 DiskDefrag 4.4.2.0,它能够将系统文件放在驱动器的首位,以实现快速的系统响应。我注意到它在开头附近留出了一个可用空间段,而 dirms 则不会。这里的想法可能是在驱动器前端附近提供可用空间,以便在刚进行碎片整理的驱动器上实现快速的读写响应。
我知道 Auslogics 也会将文件压缩在一起,但是与 dirms 提供的相当深入的讨论相比,他们的文档在这一点上有些单薄。
我确实注意到 Auslogics 首次运行后性能有所提升,首先重新排序系统文件。
也许两全其美的办法是定期运行 Auslogics 来先放置系统文件,然后用 dirms 压缩。我不知道用 dirms 删除 Auslogics 的前期可用空间是否会大大降低系统速度的提升,但这会在不可移动文件允许的范围内整合您的可用空间。
让我使用 Auslogics 的朋友表示希望 Auslogics 允许他将交换文件放在前面,以进一步提高性能。