Linuxでパーティションを再分割するために、SSDのすべてのパーティションを消去する最も簡単な方法は?


21

SSDをすべてのパーティションとデータから完全に消去したいので、パーティションを再作成できます(セキュリティのためではありません)。

私は見てきましたsudo dd if=/dev/zero of=/dev/sdb bs=1Mが、これが各パーティションをゼロで埋めるだけなら、これが私が何をしたいのか分かりません。

私はこのコマンドを頻繁に実行する予定であり、SSDの書き込みを使い果たしたくありません。誰も私にこの問題に取り組む上でアドバイスをいただけますか?


1
これを勉強してください:ATA Secure Erase。私はプロセスの経験がないので、これは答えではなく、単なるヒントです。これが正しい方法であることがわかっている場合は、誰でもこのことについて自分の答えを書いてください。
カミルマシオロウスキ

18
セキュリティのため、または単にパーティションを再分割する必要があるためですか?
-grawity

ほとんどの場合、パーティションの再分割
IgDV

14
12ゲージのポンプアクション。そして、誰かが遅かれ早かれそれを言うことを知っていました!
ssimm

1
@ssimm-私の好みは炭火焼です。
ダニエルRヒックス

回答:


41

SSD:を使用して、ディスク全体またはパーティション全体をTRIMできますblkdiscard。安全性はそれほど高くありませんが、実際には即座に使用できます(ディスクはすべてのセルを未使用としてマークするだけです)。

セキュリティのため:フルディスク暗号化を使用します。暗号化されている場合、ディスク全体を消去する必要はありません。キーを含む領域(暗号化されたすべてのパーティションの最初の1–2 MiBなど)を消去するだけです。

再パーティション化の場合:繰り返しますが、すべてのデータを消去する必要はありません。を使用してファイルシステムを破棄するだけwipefsで、ディスクの最初の1 MiBをスクラブして、残っているブートローダーをパージします。を使用してパーティションをフォーマットするmkfsと、OSは単に完全に空であると想定します。

(実際、Linuxでは、mkfs.ext4はフォーマットする前にパーティション全体を自動的にトリムします。)


6
再パーティション化のために、古いパーティションを削除して新しいパーティションを作成してみませんか?
el.pescado

5
なぜなら、同じ場所(開始位置)に新しいパーティションを作成すると、そこに同じ古いデータが見つかるだけだからです!(だもちろん通常で再フォーマットするので、問題はありませんmkfs。とにかくそれをゴミ箱になる。しかし、様々な奇妙な状況がない起こる- wipefs。それが必要だったので、存在する)
grawity

4
@IgDV-何man wipefsと言っていますか?(ヒント:マニュアルページの例のセクションの最初の例を見てください)
Timo

2
「キーを含む領域のみを消去する必要があります」-SSDでは、キーも回復可能です。TPMまたは強力なパスワード保護キーがより良いオプションである場合があります。blkdiscard攻撃者がキーを知っていたとしても、ディスクの残りの部分からパズルが作成されるため(古いマッピングも回復できないと仮定して)、それは素晴らしいことです。「ディスクの最初の1 MiBをスクラブして、残りのブートローダーをパージします」-追加のセクションは、最初の512Bのオーバーフローとしてのみ使用されます。最初に512Bをワイプしても、残りの1Mによって害を受けることはありません。
マチェイピエチョトカ

1
@MaciejPiechotka:残念ながら、一部のブートローダー(特にgrub)もMBRのにスペース使用します。
-grawity

14

Kamil Maciorowskiが言及しているように、ディスク全体を削除する最も書き込みの少ない最良の方法は、ATA「secure erase」コマンドを使用することです。これにより、などのツールのようにセルを繰り返し上書きするのではなく、ハードウェアに1回の完全ワイプを実行するよう指示しますshred。これはディスク全体に対してのみ行うことができます。パーティションを選択的に消去する必要がある場合は、grawityの答えblkdiscard)を参照してください。

コマンドの正確な実装はハードウェアに依存します。

  • ほとんどのSSDは、バルク電気信号を使用して、チップ全体をオールオアナッシング方式で消去します。これにより、(通常の)書き込み摩耗が発生しますが、可能な限り最小限に抑えられます(〜単一の書き込みサイクル)。

  • 自己暗号化SSD は、通常、コントローラーチップ内の暗号化キーを消去するだけです(実際に瞬時に)。自己暗号化ドライブを常に、暗号化してもすぐに(工場出荷時のデフォルトのキーで)。そのため、ユーザーキーが設定されていない場合でも、キーを消去すると、フラッシュチップ上に解読不能な寄せ集めのみが残ります。

  • Spinning-Rustハードディスクは、すべてのセクターのハードウェアベースのゼロ書き込みを実行します。これは、実行と同等(および時間がかかる)dd if=/dev/zeroです。

プロセスはここで非常によく文書化されています:https : //www.thomas-krenn.com/en/wiki/SSD_Secure_Erase(OSを再インストールするときに自分のSSDでこのプロセスを繰り返し使用しました)

編集:セキュリティの意味に興味がある場合:このSecurity.SEの質問を確認してください


Secure EraseはほとんどのATAディスクでサポートされていますか?そのサポートは一般的ではないという印象を受けました。
ルスラン

1
サポートされていない(最新のSATA)ディスクはまだ見つかりませんが、私の経験は個人所有のハードドライブに限られていることは認めます。「安全な消去」と「強化された安全な消去」の違いもあるようです。後者はあまりサポートされていません。
ジュールKerssemakers

3
@RuslanサポートしていないSATA-2仕様のディスクを見たことがない(聞いたこともない)。過去10年程度で作られたほぼすべてのSATAディスクには、それが必要です。
トニー

これは、自己暗号化SSDでTRIMコマンドがノーオペレーションであることも意味しますか?(そうでなければ、常に暗号化されているわけではないでしょう?)
Mehrdad

1
@Mehrdad:はい、暗号化されたSSDでTRIMを使用すると、どのブロックが無料かに関する情報が漏れます。それが許容できるかどうかは、セキュリティのニーズによって異なります。例については、askubuntu.com / questions / 399211 /…を参照してください。
sleske

4

ディスクをすばやく消去する方法についての解決策を求めたことを念頭に置いて、/ dev / sdxをご使用のディスクに置き換えてください。

これにより、パーティションテーブルが消去されます。

dd if=/dev/zero of=/dev/sdx bs=1024 count=50

これによりディスク全体が消去され、しばらく時間がかかります。

cat /dev/zero > /dev/sdx

4
使用しないでくださいcatddパフォーマンスを改善するために使用します。
マイケルジョンソン

6
あなたがそれを言うが、デフォルトで@Micheal ddれる、512バイトのバッファを使用して台無しのCoreutilsは(...パフォーマンスをcpし、おそらくもcat)もっと賢明なバッファサイズを持っています。ddとにかく本質的に高速化することについては何もありません。
-grawity

3
@grawityでバッファサイズを変更できますdd。前回cat、ディスクへのイメージの書き込みに使用しようとしたとき、適切なバッファーサイズで使用するよりも大幅に遅くなりましたdd
マイケルジョンソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.