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

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

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

  1. 我有 SSD 驱动器(SanDisk SDSSDP128G 128Gb)。
  2. 目前,它是唯一的硬盘。通过 SATA 电缆连接,但在 BIOS 中使用 IDE 模式而不是 AHCI。
  3. 在第一个分区(16 GiB,NTFS)上安装了 WinXP SP2,然后使用 gparted live CD 将其与 SSD 块对齐
  4. 在第二个分区上安装了 Ubuntu 12.04 LTS(16 GiB,ext4,紧接着上一个分区)
  5. 该驱动器的其余部分目前尚未分区;grub 用作操作系统加载程序。
  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 分区,是否有可能对第一个 NTFS 分区进行 TRIM(从 Ubuntu 或 WinXP,但只能使用 Ubuntu 原生或 Win 内置工具,而无需下载可疑的 software.com)?hdparm 和移动/复制物理扇区能起到什么帮助作用吗?分区克隆什么的?

  3. 如果 NTFS 无法使用 TRIM,那么最坏的情况是什么:是否有任何固件垃圾收集器可以在没有 OS 命令的情况下执行类似的事情?

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

提前谢谢你,雅罗斯拉夫

答案1

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

还有对此进行了几次单独的呼吁但该功能实际上只会影响少数人。

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

  • 每隔几个月将其放入 Windows 机器中(或启动到 Windows)一次(我不确定您的流失率是多少)。
  • 使用真正的文件系统。没有什么比格式良好的 ext4 分区更让人羡慕的了。不过你需要处理数据。

答案2

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

Ubuntu 15.04 在fstrim我希望使其更稀疏的回送挂载 NTFS 文件系统映像上工作正常。如果 15.04 版的 ntfs-3g 包含该补丁,它应该也可以在挂载的分区上工作。

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

如果 NTFS 无法使用 TRIM,那么最坏的情况是什么:是否有任何固件垃圾收集器可以在没有 OS 命令的情况下执行类似的事情?

不,修剪 NTFS 文件系统的可用空间需要能够理解 NTFS 的工具。没有人会疯狂到把这样的东西放入 SSD 固件中,因为这项工作最好由计算机上读取 NTFS 的任何软件来完成。

答案3

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

答案4

我了解到 gnulinux 可以做到这一点,但只能在 FAT32 分区上,并以某种方式将其安装到某个东西上,想弄清楚如何操作。巧合的是,Windows XP 安装在 Fat32 上(否则只会在格式上重新安装它),因为否则无法在 SSD 上工作(可能是提示!)。额外的信息可能对某些人有用。

相关内容