USBペンドライブでいくつかの手順を実行し、検出したパーティションを削除して新しいパーティションを作成するスクリプトを作成しようとしています(詳細は このリンク )。
GPartedを使用して手順を実行すると、すべてが正常に機能します。特に、ファイルシステムで新しいパーティションが作成された場合、古いデータはすべて失われます(この操作は、作業中のコンテンツにそれほど時間はかかりません)。
しかし、fdisk
で同等の手順を実行すると、以前と同じ古いパーティションに古いデータが常に見つかります。
古いパーティションのデータが完全に消去されるように(そしてGPartedで発生するのと同じ速さで)どのように進めることができますか?
コマンドを試しましたdd if=/dev/zero of=/dev/sdb bs=512 count=1
およびshred -vzn 0 /dev/sdb
または同様のものですが、実際にはファイルを消去しないか、GPartedと比較した場合に消去に時間がかかりすぎます。
fdisk
にはそのようなものはありません。 GPartedとは異なり、ファイルシステムやパーティションの内容にはまったく関係ありません。手動で行う必要があります。
また、「古いデータがなくなった」とどのように判断したかについても説明しませんでした。実際のパーティションデバイスを調べたのですか、それともマウントしてインストールしただけですか。ファイルシステムが「ルートディレクトリに0個のファイルが含まれている」と表示されている限り、パーティションはジャンクでいっぱいになる可能性があり、問題ではありません。
GPartedにパーティションを完全に空白にする機能があるのではないかと思います。以前にあったものの新しいファイルシステム上を作成しただけである可能性が高いです。 (とはいえ、SSDでは、mkfs
ツールdo TRIMを使用してパーティション全体を破棄します。これはほぼ瞬時です。ただし、HDDでは、ディスクの回転を速くすることはできません– dd GPartedよりも遅くすることはできません。)
したがって、以下で十分です。
wipefs --all /dev/xxx
認識可能なファイルシステム構造を消去するには、mkfs.ext4 /dev/xxx
(またはmkfs.whatever-else)を使用して、空のファイルシステムを作成します。