从Linux中对NTFS分区进行碎片整理

是否有任何工具可用于从Linux对我的Windows分区进行碎片整理?

是的,你可以使用摇动 。 您首先需要为系统添加自定义存储库:

sudo add-apt-repository ppa:un-brice/ppa sudo apt-get update sudo apt-get install shake-fs 

那你可以做

 sudo shake /some/dir 

据我所知,没有这样的工具。

某些站点报告以下命令

 # WARNING - does not work fsck -t ntfs --kerneldefrag /dev/hdX 

但这不起作用,目前尚不清楚他们从哪里得到它。

更新:适用于Linux的UltraDefrag:

UltraDefrag是一个function强大的Windows平台开源碎片整理工具。 它可以对任何系统文件进行碎片整理,包括注册表配置单元和页面文件。 此外,UltraDefrag的主要目标之一是尽可能快速可靠地完成工作。 它被移植到Linux和NTFS-3G上,用于对NTFS分区进行碎片整理。 目前只有控制台模式的测试版本可用。 请阅读包含的文件README.linux进行编译和测试

http://jp-andre.pagesperso-orange.fr/advanced-ntfs-3g.html

[我自己还没有用过这个。 通过Arch论坛上的一个post找到它。 进一步跟随线程进入下一页导致更多关于该主题。 试试你自己的风险。-kevjonesin-]

不。这些是Windows文件系统,因此您需要使用Windows对它们进行碎片整理。

存档NTFS碎片整理(包括可用空间)有一个非常着名的技巧…它可以使用像SystemRescueCD这样的Live Linux来完成…

但是,您必须拥有第二个HDD或至少51%的可用空间(如果不使用压缩)。

诀窍(非常棘手)是使用工具“克隆”分区,但不是典型的…有一个工具可以“克隆”NTFS分区而不是做一个精确的“克隆”…让我解释一下…

该工具是fsarchive(如果我不记得坏)。

它创建了一个非常大的文件(就像克隆工具那样),包含所有文件(提防文件的NTFS特殊元数据,我认为它们被调用的流),就像“克隆”工具一样……

但是在恢复时会出现棘手的部分……它不会将文件放在哪里,它会放置文件而不会产生任何碎片。

我已经将它用于Windows系统分区以及NTFS数据分区……已经成功…不是很容易使用/理解(仔细阅读文档)……但是可以做到这一点。

记住……它创建的这么大的文件可以被压缩,所以不需要51%的免费。

但无论如何,首先你必须收缩NTFS分区…使用GParted(如果我不记得坏)。

所以步骤:

  1. 最坏的情况:硬盘只有一个BIG NTFS分区,有足够的可用空间
  2. Boot SystemRescuCD(如果你想用向导命令启动X窗口)
  3. 使用GParted将NTFS分区缩小到其最小大小(将更多地分割NTFS文件,无论如何)
  4. 使用GParted在可用空间上创建另一个分区,如果是ext4类型(日志)则更好
  5. 挂载这样的新分区,但不要挂载NTFS
  6. 使用fsarchiver创建NTFS分区的“克隆”,使用压缩并将bif文件存储在创建的分区上
  7. 从现在开始,这是非常危险的:使用GParted删除NTFS分区并重新创建它
  8. 使用fsarchiver恢复“克隆”,NTFS分区上的所有文件将是1个片段(除了一个或两个,因为$ MFT可以放在中间,而不是在strat或分区的末尾)
  9. 如果需要,使用Gparted缩小NTFS分区
  10. 检查NFTS是否正确,可以安装,读/写和卸下
  11. 卸载新创建的ext4分区
  12. 使用Gparted增长ext4(或者更好,删除它并重新创建它)

就是这样,伙计……当然,正如我说的那样非常棘手和风险。

注意要点:

  • NFTS收缩让足够的可用空间来容纳NTFS分区的压缩映像(HDD上51%的空闲将确保足够)
  • fsarchiver不保存NTFS流?
  • fsarchiver还原不要把文件放在哪里,它把它们放在未分段的地方(比如副本)
  • 删除并重新创建NTFS分区后,没有后退方式

步骤适用于:使用LiveCD / LiveUSB linux对使用100%磁盘的NTFS分区进行碎片整理,没有其他硬盘连接到此类PC [必须有足够的可用空间]。

重要:

  • 有些人可能会认为,如果你在NTFS收缩后你有51%的免费硬盘,那么只需创建ext4并将所有NTFS复制到它就更安全,然后删除NTFS,重新创建它并将它们复制回来……这样做会导致失败,像NTFS安全权限等

只要我知道GParted / fsarchiver是最接近的解决方案(仅使用带有Linux的LiveCD / LiveUSB),不是快速,某种程度上有风险,但满足发布问题的人强加的条款。

请注意:这是非常非常危险的…与任何“克隆”工具一样…而且现在我不知道任何其他最好的方式……它会丢失NTFS流(如果我不记得坏)

请在使用之前阅读carfully fsarchiver文档。

我有任何责任(我已经在我自己的数据上使用它,但总是我有一个外部BackUP – 好的参与者)。

在实践中……我拥有的所有信息,我把它们放在至少三种不同的介质(HDD,DVD,Flash存储器)上,每种介质上至少有三个副本,所以我有9份…如果我松散了8个他们再rest一下来恢复数据……我有点偏执,我知道。

对于那些认为NFTS可以通过复制文件(仅克隆文件)等在Linux上进行碎片整理的人来说,这是一个很大的警告:

  • 某些NTFS(文件/文件夹)可以具有活动的特殊属性,它称为NTFS压缩

据我所知,无论Linux(cp,fsarchiver等)在NTFS上写入文件/文件夹,它总是在没有NTFS压缩的情况下编写它,无论文件/文件夹是否打开或关闭压缩。

所以你可以找到一种情况(我遇到困难的方式),用fsarchive(或cp等)恢复将使分区变得充分而不够。

某种数据可以达到超过3的NTFS压缩比,因此您可以拥有包含大量文件的X GiB分区,并且文件总和的大小接近3 * X.

我发出警告是因为它并不为人所知,有时候会引起很大的麻烦。 就像恢复克隆需要更多空间而不是克隆的整个分区一样,因为Linux上的NTFS压缩丢失了。

此外,非常非常特殊的数据(NTFS比率大于5)我达到了这种情况:

  • NT Gi分区大小为X GiB
  • 保存克隆的文件(工具允许的最佳压缩,我认为是GZip)需要2 * X GiB

哦,是的,克隆被压缩,它占用了分区大小的两倍。

这是因为克隆工具以普通文件(清除,未压缩)读取文件然后压缩数据(比NTFS确实具有更差的比率)。

当然,恢复该数据将不适合该分区,因为恢复的数据将在没有NTFS压缩的情况下进行。

希望明确不使用NFTS压缩的另一个原因是什么? 好吧,根本没有,我经常使用NTFS压缩(过去)。 VDI(虚拟盒)文件获得了非常好的比例。

现在我发现了Pismo文件Mount(它也适用于Linux)。 它可以创建一个充当容器(作为文件夹)的文件,并且可以压缩(也比NFTS具有更好的比率)并同时加密。

为什么我提到它。 因为任何克隆工具都会将这样的容器视为文件(当未作为文件夹挂载时)和读取/转储/备份压缩的数据流,而不是普通的未压缩数据(与NTFS压缩一样)。 所以恢复与任何其他文件一样。

我没有使用NTFS压缩属性压缩NTFS文件夹,而是将Pismo文件挂载虚拟文件夹。 获得更好的压缩等

我还必须警告所有对这种免费工具感兴趣的人。 它没有收缩(至少还没有),所以如果文件夹内容发生了很大变化,那就不是一个好主意了。

但对于不可变的虚拟磁盘,ISO和不会改变的东西,它所获得的比率非常接近LZMA2(7-Zip),它可以即时读/写。

它是跨平台的。

注意NTFS压缩的坏人谈论碎片。 当你把一个文件写入一个NTFS压缩的NTFS上时,它就是这样做的(设计非常糟糕,我认为它是这样做的,以确保在意图方面更加分散,最糟糕的是无法完成):

  1. 开始写入位置预先计算为64K * N,其中N是将尝试压缩的64K块的编号
  2. 保留64K的缓冲区
  3. 该缓冲区填充64K然后压缩
  4. 只写入需要的4K块,剩下的就是自由空间

因此,它会在文件中间创建大量GAP,并且只有在文件碎片整理后GAP消失,但在用户订购(contig.exe,defrag.exe等)之前不会发生碎片整理。

是的,它将N’th 64K块写入64K的位置倍数,无论以前的数据是否能够被压缩,它都会在每个64K块之间留下一个间隙(如果所有这些都可以被压缩)。

Pismo File Mount虚拟文件夹的压缩行为就像任何正常压缩应该做的那样,管道模式,所以没有空隙。 至少在你删除某些东西之前。

还有另一个警告,不要把VHD / VHDX文件放在里面,Windows将无法附加它们! Windows使用内核技巧来安装这样的东西,它不使用文件系统级别,在低级别工作。

我也希望得到一个Linux NTFS碎片整理程序,肯定会比通过Windows运行的所有程序更快。 对自由空间进行碎片整理是完全疯狂的。 或者更好的说话。 创建一个足够大的新文件。

我的记忆力也会更好。 在过去,我在Windows上使用了一个工具(命令行,抱歉),它可以以非碎片的方式复制/移动文件。 移动所需的文件,同时获得所需的整体,而不是碎片那些。 如果它找不到放置文件的方法(不可能得到漏洞)或者如果需要对另一个文件进行分段(询问是否由用户授权)等,它只会给出一条消息,等等真的很棒。 我不记得这个名字(可能它不适用于现代的Windows,它适用于Win2000)。