web-dev-qa-db-ja.com

NTFSおよびext4フォーマット済みSSDのトリミング

Kingston SSDNOW V300 120 GB SSDとUbuntu14.04が32GBext4パーティションにインストールされています。コマンドfstrim -v /を発行すると、応答します998127689 trimmed

私のコンピュータはそれを2台のドライブとして検出します。最初のドライブには、ext4[〜#〜] ntfs [〜#〜]の2つのパーティションがあります。 2番目のドライブは[〜#〜] ntfs [〜#〜]としてフォーマットされます。

私の質問は、ext4パーティションだけでなく、SSDドライブ全体をトリミングするでしょうか?もしそうなら、どのように?

1
ilovemath

TRIMはファイルシステムレベルの操作であり、使用しているファイルシステムごとにサポートされている必要があります。 ext4ドライバーはUbuntu14.04でfstrimコマンドをサポートしますが、NTFSドライバーはサポートしません。 NTFS-3Gの新しいバージョンが必要です。 Ubuntu 14.04には NTFS-3G 2013.1.1 が付属しています。 fstrimコマンドのサポートは NTFS-3G 2015.3.14 で追加されました。最も簡単なオプションは、NTFS-3G2015.3.14に同梱されるUbuntu16.04を待つことです。

3

いいえ、trimはファイルシステム操作です。ハードウェアに通知できるように、どのセクターが空いているかを知る必要があります。 Linux ntfs-3gドライバーにはtrimまたはdiscardの-​​ 文書化された呼び出し がないため、機能しません。ネイティブOSの各ファイルシステムをtrimまたはdiscardする必要があります。

ただし、あまり心配する必要はありません。SSDドライブは、トリムなしで永遠に楽しく動きます。これは必須ではなく、ドライブは正常に動作します。 ここ はTRIM本当にが行うことの説明です

1
acejavelin

ブロックデバイス全体(パーティション/ディスク)をTRIMする場合は、blkdiscardを使用できます。これはfstrimと同様にutil-linuxで使用できます。

ただし、この種のTRIMは、ファイルシステムに対応していないため、基本的にデバイス上のすべてのデータをワイプするのと同じです。

NTFSパーティションを本当にトリムしたい場合は、hdparmwiper.shを調べることをお勧めします。 AFAIKはファイルシステムに対応していますが、カーネルのFITRIM(またはBLKDISCARD)ioctlに依存せず、代わりにファイルシステム固有のユーティリティを使用して未使用のブロックをチェックし(したがって、NTFSにはntfs-3gが必要です)、実行します。 SCSI ATAPASSTHROUGHコマンドを使用してそれらをトリムします。

1
Tom Yan