web-dev-qa-db-ja.com

SSDを空にする推奨方法は何ですか?

古いSSDが死んでから、新しいSSDを受け取りました。このIntel 320 SSDはTRIMをサポートしています。テストのために、私のディーラーはWindowsをインストールしましたが、これを取り除き、Kubuntuをインストールしたいと思います。

「安全なワイプ」である必要はなく、最も健全な方法でディスクを空にするだけです。 dd if=/dev/zero of=/dev/sdaはブロックをゼロで埋め、それによって別の書き込みを行うと考えています(間違っている場合は修正してください)。

私は答えを見ました TRIMを有効にする方法 ですが、ディスクを消去するのではなく、空のブロックをクリアするのに適しているようです。

hdparmはそれを行うプログラムのようですが、ディスクをクリアするかどうかはわかりませんORは空のブロックを消去します。マニュアルページから:

  --trim-sector-ranges
          For  Solid State Drives (SSDs).  EXCEPTIONALLY DANGEROUS. DO NOT
          USE THIS OPTION!!  Tells the drive firmware to discard  unneeded
          data  sectors,  destroying  any  data that may have been present
          within them.  This makes those sectors available  for  immediate
          use  by  the firmware's garbage collection mechanism, to improve
          scheduling for wear-leveling of the flash  media.   This  option
          expects  one  or  more  sector range pairs immediately after the
          option: an LBA starting address, a colon, and  a  sector  count,
          with no intervening spaces.  EXCEPTIONALLY DANGEROUS. DO NOT USE
          THIS OPTION!!
          E.g.  hdparm --trim-sector-ranges 1000:4 7894:16 /dev/sdz

TRIMを使用してすべてのブロックを空として表示するにはどうすればよいですか?

53
Lekensteyn

ATAセキュア消去

ドライブの security erase 機能を使用する必要があります。

  1. ドライブのセキュリティがフリーズしていないことを確認してください。そうである場合は、コンピューターを一時停止および再開すると役立つ場合があります。

    $ Sudo hdparm -I /dev/sdX | grep frozen
           not     frozen 
    

    (フィルター処理された)コマンド出力は、このドライブが「凍結されていない」ことを意味し、続行できます。

  2. ユーザーパスワードを設定(このパスワードもクリアされます。正確な選択は重要ではありません)。

    Sudo hdparm --user-master u --security-set-pass Eins /dev/sdX
    
  3. ATA Secure Eraseコマンドを発行する

    Sudo hdparm --user-master u --security-erase Eins /dev/sdX
    

注:

  • /dev/sdXは、消去するブロックデバイスとしてのSSDです。
  • Einsは、この例で選択したパスワードです。

トラブルシューティングを含む詳細な手順については、Linuxカーネルwikiの ATA Secure Eraseの記事 を参照してください。

50
psusi

util-linux 2.23はblkdiscardを提供します。これはデータを安全に消去せずに破棄します。私はテストしました:SATAとmmcblkで動作しますが、USBでは動作しません。

blkdiscard(8)のマニュアルページからの抜粋:

名前

blkdiscard-デバイス上のセクターを破棄する

あらすじ

blkdiscard [-o offset] [-l length] [-s] [-v] device

記述

blkdiscardは、デバイスセクターを破棄するために使用されます。これは、ソリッドステートドライバー(SSD)およびシンプロビジョニングされたストレージに役立ちます。 fstrim(8)とは異なり、このコマンドはブロックデバイスで直接使用されます。

デフォルトでは、blkdiscardはデバイス上のすべてのブロックを破棄します。以下で説明するように、オプションを使用して、範囲またはサイズに基づいてこの動作を変更できます。

Device引数は、ブロックデバイスのパス名です。

警告:デバイス上の破棄された領域のすべてのデータが失われます!

このコマンドは、Ubuntu 15.04およびOpenSUSE 13.1以降に存在します(OpenSUSEにはUbuntuの2年先にあります)。

30
Tankman六四

安全なワイプが不要な場合は、「ディスク全体を使用する」オプションと「クイックフォーマット」に相当するオプションを使用してkubuntuをインストールしないでください(正確な用語は今は思い出せません)

このようにして、ファイルアロケーションテーブルを捨てると、ドライブは上書きのために事実上空になります。実際に空にする必要はありません。

5
Rory Alsop

ドライブにLinuxファイルステムがある場合、fstrimを使用できます。デフォルトでは、最近のUbuntuは次のベンダーのドライブでfstrimを実行します。

    if [ -z "$NO_MODEL_CHECK" ]; then
        if ! contains "$HDPARM" "Intel" && \
           ! contains "$HDPARM" "INTEL" && \
           ! contains "$HDPARM" "Samsung" && \
           ! contains "$HDPARM" "SAMSUNG" && \
           ! contains "$HDPARM" "OCZ" && \
           ! contains "$HDPARM" "SanDisk" && \
           ! contains "$HDPARM" "Patriot"; then
            #echo "device $DEV is not a drive that is known-safe for trimming"
            continue

週に一度。

質問に対する答えの1つは、システムを起動して1週間待つことです!

1
Bryce