Windows – SSDのデータ復元を不可能にするTRIM命令

Windows
この記事は約3分で読めます。
スポンサーリンク

データ復元ソフトを使用してもファイルを復元出来ない時、そのデバイスはSSDではないでしょうか。
SSDは「書き換えが出来ない」特性から、内容を書き換える場合にハードディスクのようにセクターに「上書き」が出来ません。そのため、あらかじめ消去済みのブロックを用意しておいて書き込むのですが、OSには削除した領域をストレージに伝える仕組みがなく、ストレージ側ではデータ更新時に、それがデータの書き込みなのか削除なのかを区別できなかったのです。磁気ディスクではそれは問題ではなかったようですが、SSDでは書き込みも削除も有効なデータとして認識され、ディスクの残容量が少なくなってくると大幅な速度低下が起きることになります。
その問題を解決するために、Windows 7以降、「Trim命令」が用意されました。「Trim命令」は、あらかじめ消去可能なセクターをSSDに知らせ、SSDはそれに基づいてブロックを消去して空きブロックを作ります。ファイルを削除すると空きブロックが発生し、速度低下を回避します。

しかしこの「Trim命令」はSSDがデータの実体を消去してしまうので、データ復旧ができなくなります。
そのため、SSDで「Trim命令」が有効になっている場合は、ハードディスクの場合より一層定期的なバックアップが重要です。

スポンサーリンク

Trim命令が有効か無効かの確認方法

Trim命令が有効になっているか無効であるかの確認は、コマンドプロンプトやPowerShellで確認できます。

コマンドプロンプト
タスクバーの検索枠に cmd と入力して管理者として実行します。または、
「スタート」ボタン→「Windows システム ツール」→「コマンド プロンプト」を右クリックで「その他」→「管理者として実行」
Windows PowerShell
タスクバーの検索枠に Powershell と入力して管理者として実行します。または、
「スタート」ボタン→「Windows PowerShell」→「Windows PowerShell」を右クリックで「管理者として実行する」

下記コマンドを入力します。「Disable Delete Notify」は直訳すると「削除通知を無効にする」という意味になりますので、ややこしいですが、この「削除通知の無効」が1(有効)の場合はTrimが無効であり、「削除通知の無効」が0(無効)の場合はTrimは有効ということになります。

CMD
fsutil behavior query DisableDeleteNotify

結果は下記のどちらかで返ってきます。「DisableDeleteNotify = 1 (有効)」の場合、Trimは無効で、「DisableDeleteNotify = 0 (無効)」の場合、Trimは有効になっています。

CMD
DisableDeleteNotify = 1  (有効)
DisableDeleteNotify = 0  (無効)

Trimの有効/無効を変更する場合は、下記コマンドで1か0を設定してください。

CMD
fsutil behavior set DisableDeleteNotify 0 #Trimが有効
fsutil behavior set DisableDeleteNotify 1 #Trimが無効

Trimはデータ復元を妨げますが、SSDの速度低下を抑え、快適性をサポートしてくれる機能です。個人的には、Trimは有効化しておいて、バックアップを頻繁にとるほうが良いと思います。

また、自動実行されるTrimの頻度や手動による実行は、エクスプローラーで任意のドライブを右クリック→プロパティ→[ツール]タブ→[最適化]ボタンクリック→[ドライブの最適化]ウィンドウで行うことが出来ます。
最後に最適化された日時を確認できるので、[設定の変更]でスケジュール変更、[最適化]ボタンクリックで手動で最適化を実行します。

以上、ご参考になれば幸いです。ありがとうございます。

コメント

タイトルとURLをコピーしました