Tim*_*Tim 1 filesystems terminology defragmentation
碎片整理似乎有两种含义:
碎片整理是减少碎片量的过程。当文件系统不能或不会分配足够的连续空间来存储作为一个单元的完整文件,而是将它的一部分放在其他文件之间的间隙中时,就会发生碎片。
在 Windows 下,如果我们尝试从 NTFS 分区释放现有的可用空间(以便稍后创建一个新分区,尤其是在 Ubuntu 的双引导安装期间,除了现有的 Windows 操作系统),我们将不得不使用 Windows 工具将所有文件移动到分区的一端,尽可能在分区的另一端留出空闲空间。我听说这也称为碎片整理。
或者,Linux 工具例如gparted
可以从 ntfs 分区释放可用空间,而无需先对 NTFS 分区进行碎片整理(在上一段的意义上,而不是在第一段的意义上)。
我想知道上面的两种“碎片整理”是否总是一起发生?
文件系统(例如 NTFS)是否需要碎片整理取决于
2 中问题的答案是否因碎片整理的不同含义而异(如前所述)?例如,我听说,
gparted
,在第二种意义上不需要对NTFS分区进行碎片整理,是不是因为Linux总是尽可能地自动将所有文件移动到分区的一端?您可以对存储在文件系统(文件、文件系统结构、元数据等)、可用空间或两者上的数据进行碎片整理。
可能当有人只是说“碎片整理”时,他们指的是数据(您的第一个定义)。传统上,在对可用空间进行碎片整理时,它会放在最后(您的第二个定义)。通常,您只会在准备缩小分区时这样做,但您也可以这样做,例如,允许大量连续分配(例如,您将要编辑一些视频)。但实际上,除了缩小分区外,通常不需要对可用空间进行碎片整理。
分区收缩通常只能在一端进行(大多数,如果不是全部,分区格式 [1] 不允许在中间切孔)。通常文件系统数据结构占据分区的开始,所以收缩(和增长)通常在最后完成。无论您使用哪种工具(Windows 磁盘管理器、gparted 等),最后都必须有足够的可用空间——而这通常需要移动数据。Windows 和 gparted 都会这样做。
FS 是否需要碎片整理取决于很多事情,至少:
碎片的主要问题通常是它向可能是顺序读/写的内容添加了搜索。
1:虽然逻辑磁盘管理器经常这样做。例如,当使用稀疏分配时,通常会尝试回收足够大的未使用空间块。请注意,他们向文件系统假装空间尚未回收(并在文件系统想要写入时将其返回)。