Ubuntu TRIM可以另一个(NTFS)分区吗?

我对Ubuntu和TRIM / SSD专家有三个问题。

  1. 我有SSD驱动器(SanDisk SDSSDP128G 128Gb)。
  2. 目前,它是唯一的硬盘。 但是在BIOS中使用IDE模式而不是AHCI连接SATA电缆。
  3. 在第一个分区(16 GiB,NTFS)上安装WinXP SP2,然后使用gparted live CD将其与SSD块对齐
  4. 在第二个分区上安装了Ubuntu 12.04 LTS(16 GiB,ext4,紧接在前一个分区之后)
  5. 其余的驱动器暂时没有分区; grub用作OS加载程序。
  6. Ubuntu在启动时安装了第一个NTFS分区(由Ubuntu安装完成,我还没有触及)
  7. 得到hdparm的确认,该驱动器支持TRIM
  8. 使用由cron运行的“fstrim /”在Ubuntu中启用TRIM

现在,我花了几周的时间试图从网上获取这些信息。 一些消息来源称NTFS确实支持TRIM,其他人说Win7支持它(使用NTFS时)。 一些消息来源称fstrim会对整个物理驱动器进行TRIM,而其他人则认为它仅对当前分区进行TRIM。

  1. 上面的场景中的“fstrim /”仅适用于16 GiB ext4分区,还是整个128Gb驱动器?

  2. 如果它只适用于ext4分区,是否可以TRIM第一个NTFS分区(来自Ubuntu或WinXP,但只使用Ubuntu本机或Win内置工具,没有狡猾的software.com下载)? hdparm和移动/复制物理扇区可以做些什么来帮忙吗? 分区克隆什么?

  3. 如果TRIM不可能用于NTFS,最糟糕的情况是什么:是否有任何固件垃圾收集器可以在没有OS命令的情况下执行类似操作?

请不要建议切换到Win 7 – 我仍然对Win XP下的开发环境感到满意。 我仍然乐于使用“过时的”操作系统,如果它在7秒内启动,立即响应你做的任何事情,并在3秒内加载Photoshop(第一次运行:)

谢谢你,雅罗斯拉夫

TRIM是文件系统级操作。 它需要知道磁盘的哪些扇区是空闲的,以便它可以通知硬件。 “丢弃”和“修剪”都不是ntfs-3g驱动程序的文档function所以我建议不,这可能是不可能的。

此外还有一些单独的调用,但这是一个只会影响少数人的function。

我唯一真正的长期解决方案是:

  • 每隔几个月将它贴在Windows机器上(或启动到Windows)(我不确定你的流失率是多少)。
  • 使用真正的文件系统。 没有什么能让人们像一个格式很好的ext4分区一样嫉妒。 你需要处理数据。

更新,看起来像NTFS-3g 在2014年6月的补丁中获得了fstrim支持。

Ubuntu 15.04与fstrim在环回安装的NTFS文件系统映像上工作得很好我想让它更稀疏。 如果15.04版本的ntfs-3g包含该补丁,它也应该适用于已安装的分区。

除此之外,ntfs-3g包含一个ntfswipe命令,它在所有未使用的空间上写入零。 不要在SSD上使用它,这会增加磨损。 我考虑使用它,然后运行fallocate --dig-holes (稀疏 – 所有4k块全部为零)。 当在块设备上使用时,IDK fallocate映射到丢弃/修剪,但它可以。 无论如何,使用fstrim首先丢弃而fstrim零写,因为现在可以正常工作。

如果TRIM不可能用于NTFS,最糟糕的情况是什么:是否有任何固件垃圾收集器可以在没有OS命令的情况下执行类似操作?

不,修剪NTFS文件系统的可用空间需要一个了解NTFS的工具。 没有人能够将这样的东西放到SSD固件中,因为通过计算机上的任何软件读取NTFS都可以做得更好。

是的,它只适用于你运行它的一个分区,如果你在你的ntfs分区上运行它而不是/它应该可以正常工作。