マルチブートの場合、すべての OS で TRIM を有効にする必要がありますか?

マルチブートの場合、すべての OS で TRIM を有効にする必要がありますか?

マルチブートしています。SSD に TRIM を発行する 1 つの OS がすべてのパーティションをカバーするかどうか。

私は、HDD を SSD に交換した MacBook Pro (Core2Duo バージョン 2.1 - 2007 年後期) を持っています。Windows 10、Linux、Lion (サポートされている最後の OS X バージョン)、El Capitan (Core2Duo で動作する最後の OS X バージョン) でマルチブートしています。

これらはすべて同じ SSD 上で実行されます。

Windows と OS X Lion で SSD の TRIM サポートを有効にしましたが、他の OS ではどのようにすればよいかわかりません。ただし、これは私の質問ではありません。

私の質問は、すべての OS で TRIM サポートを有効にする必要があるのか​​、それとも TRIM コマンドを発行する 1 つの OS が同じ SSD 上の他の OS でも機能するのかということです。

つまり、TRIM は SSD デバイスまたは個々の OS で機能しますか?

答え1

TRIM は SSD デバイスまたは個々の OS で機能しますか?

どちらでもありません。マウントされた個々のファイルシステムに対して機能します。ドライブはファイルシステムやその他の構造 (スワップ パーティションなど) について何も知らないため、どのデータを破棄できるかを自分で判断できません。そのため、それらを理解する OS からのサポートが必要です。

2 つの OS が同じファイルシステムにアクセスし (もちろん、同時にアクセスしてはいけません)、最初の OS がトリムを実行しなかった場合、2 番目の OS のトリム コマンドはファイルシステム全体に対してトリムを実行します。これは、最初の OS が行った変更を含めてファイルシステム全体が認識されるためです。

別の OS のルート パーティションをマウントすることは推奨されない (場合によっては不可能) ため、各 OS は少なくとも独自のルート パーティションをトリミングし、代わりに別の OS に依存してこれを行うべきではありません (場合によっては技術的に可能である場合もあります)。

また、(現在の) OS が理解できないファイルシステムをトリムすることはできないことに注意してください。例外としては、OS に属さないファイルシステムを理解し、ファイルシステムがマウントされていないにもかかわらず手動でトリム コマンドを送信できるユーティリティが考えられます。このようなユーティリティが必要になることはおそらくないでしょう。まず、特定のファイルシステムをネイティブに理解する OS からトリムすることを検討してください。

TRIM コマンドを発行する 1 つの OS は、同じ SSD 上の他の OS でも機能しますか?

一般的には、いいえ。ドライブはどの OS がどの部分をトリミングするかを気にしませんが、正しくトリミングするには、OS は関連データと不要なデータを区別する必要があります。そのため、トリミングするファイルシステムを理解する必要があります。このため、マルチブート セットアップで 1 つの OS からトリミングするだけでは不十分です。各 OS が排他的に使用するファイルシステムをトリミングするのが妥当な方法です。OS 間で「共有」されるファイルシステムの場合、少なくとも 1 つの OS が定期的にトリミングする必要があります。

答え2

TRIM コマンドはディスク ドライバーによって発行されるため、Windows および OS X でこれをオンにする必要があります。

したがって、これは OS の機能、より具体的にはディスク ドライバーの機能であり、TRIM をサポートし、それを使用して削除を実行する必要があります。

Wikipediaにあるようにトリム(コンピューティング):

トリムコマンド(ATAコマンドセットではTRIM、SCSIコマンドセットではUNMAPとして知られている)を使用すると、ソリッドステートドライブに情報を提供するオペレーティングシステム(SSD) のデータ ブロックは使用されなくなったとみなされ、内部で消去できます。

関連情報