web-dev-qa-db-ja.com

sgdiskでLinuxストレージデバイスをクリアする

sgdisk を使用して、ストレージデバイスからすべてのパーティション定義とデータを削除してから、 [〜#〜] gpt [〜#〜] と2つのパーティションを作成したいと思います。 。私が見つけた最善の解決策は、-Zおよび-oオプションを使用することです。

sgdisk -Zo \
    -n 1::16M -t 1:EF00 -c 1:ZNX_BOOT \
    -N 2 -t 2:8300 -c 2:ZNX_DATA /dev/[device]

ただし、ドライブがMBRパーティションテーブルを使用して作成された場合、またはディスクイメージがそれに書き込まれた場合、これは失敗します。使用されているパーティションテーブルのスタイルに関係なく、このコマンドでディスクをワイプするにはどうすればよいですか?

4
Luis Lavaire

これが質問を変えていることは知っていますが、 wipefsutil-linuxパッケージの一部として提供されます)を使用することは可能ですか? wipefsは、あらゆる種類のパーティションメタデータをクリアする方法を理解しており、MBR、GPT(およびバックアップGPT)、ファイルシステム署名などを正しく削除します。

wipefs manページの下部にあるEXAMPLESセクション の例は、これを行う方法を示しています。

wipefs /dev/sda*

Sdaおよびsda上のすべてのパーティションに関する情報を出力します。

wipefs --all --backup /dev/sdb

デバイス/dev/sdbからすべての署名を消去し、署名ごとに署名バックアップファイル~/wipefs-sdb-<offset>.bakを作成します。

[〜#〜]警告[〜#〜]:名前が示すようにwipefs破壊データ!お気をつけください...

3
Anon

Sgdisk内でのみそれを行う方法がないことを思い出しますが、幸いなことに、Virtualhelp.meの親切な人々は ddの使用を提案しました 最初に、つまり、

dd if=/dev/zero of=/dev/sda bs=512 count=1

これは、ループに対してsgdiskと gdisk の両方をスローする厄介なMBRキャリアパーティションを上書きすることを目的としています。

2
K7AAY

このコマンドは仕事をしました:

wipefs -af $DEVICE

sgdisk -Z \
    -n 1::132M -t 1:EF00 -c 1:ZNX_BOOT \
    -N 2 -t 2:8300 -c 2:ZNX_DATA $DEVICE

Firsコマンドはパーティションのメタデータをクリアし、2番目のコマンドはデータをクリアします。

0
Luis Lavaire