如果是多重引导,我是否需要在所有操作系统中启用 TRIM?

如果是多重引导,我是否需要在所有操作系统中启用 TRIM?

我多重启动。一个操作系统向我的 SSD 发出 TRIM 是否覆盖所有分区?

我有一台 MacBook Pro(Core2Duo 版本 2.1 - 2007 年末),HDD 已替换为 SSD。我将其多重启动为 Windows 10、Linux、Lion(最新支持的 OS X 版本)和 El Capitan(最新兼容 Core2Duo 的 OS X 版本)。

所有这些都在同一个 SSD 上运行。

我在 Windows 和 OS X Lion 中启用了对 SSD 的 TRIM 支持,但我不知道如何在其他操作系统中启用。不过这不是我的问题。

我的问题是,我是否必须在所有操作系统中启用 TRIM 支持,或者发出 TRIM 命令的一个操作系统是否可以用于同一 SSD 上的另一个操作系统?

那就是 TRIM 是针对 SSD 设备还是针对单个操作系统起作用?

答案1

TRIM 适用于 SSD 设备还是单个操作系统?

都不是。它适用于单独安装的文件系统。您的驱动器无法自行判断哪些数据可以丢弃,因为它对文件系统或其他结构(如交换分区)一无所知,因此它需要了解它们的操作系统的支持。

如果您的两个操作系统访问同一个文件系统(当然不是同时),而第一个操作系统没有进行修剪,那么第二个操作系统的修剪命令将对整个文件系统执行该任务,因为它可以感知整个文件系统,包括第一个操作系统所做的所有更改。

由于不建议(有时也不可能)安装另一个操作系统的根分区,因此每个操作系统应该至少修剪自己的根分区,而不是依赖另一个操作系统来执行此操作(即使在某些情况下从技术上讲这是可行的)。

还请注意,您无法修剪 (当前) 操作系统无法理解的文件系统。一个可能的例外是,某个实用程序可以理解操作系统之外的文件系统,并且可以手动发送修剪命令,尽管该文件系统甚至没有安装。您可能永远不需要这样的实用程序;您的首选应该是从能够原生理解给定文件系统的操作系统进行修剪。

一个操作系统发出的 TRIM 命令是否可以对同一 SSD 上的另一个操作系统起作用?

一般来说:不会。您的驱动器不关心哪个操作系统修剪了哪个部分,但为了正确修剪,操作系统需要区分相关数据和消耗数据;因此它需要了解您要修剪的文件系统。因此,在像您这样的多引导设置中,从一个操作系统修剪是不够的。明智的方法是让每个操作系统专门修剪它使用的文件系统。对于操作系统之间“共享”的文件系统,至少一个操作系统应该定期修剪它。

答案2

TRIM 命令由磁盘驱动程序发出,这就是为什么您必须在 Windows 和 OS X 中打开它。

因此,这是操作系统的功能,或者更具体地说是磁盘驱动程序的功能,它需要支持 TRIM 并使用它来执行删除。

正如维基百科所述修剪(计算)

修剪命令(在 ATA 命令集中称为 TRIM,在 SCSI 命令集中称为 UNMAP)允许操作系统通知固态硬盘(SSD)哪些数据块不再被视为正在使用并且可以在内部擦除。

相关内容