BTRFS ファイルシステムの作成中にエラーが発生しました

BTRFS ファイルシステムの作成中にエラーが発生しました

ファイルシステムを使用して Arch Linux をインストールしようとしていますbtrfs。インストール プロセスの初期段階でドライブを準備しているのですが、問題が発生しています。

まず、次のコマンドを使用して、以前のインストール試行からの GTP および MBR レコードをすべてクリアします。

gdisk /dev/sda

x次に、コマンドを使用してエキスパート モードに入り、を使用してzGTP および/または MBR を削除します。

次に、fdiskドライブ上の全スペース (119 GB) を使用して新しいパーティションを作成します。

パーティションを作成して書き込んだ後、次のコマンドを使用してファイルシステムの作成を試みます。

mkfs.btrfs /dev/sda1

しかし、エラーが発生します:

/dev/sda1 appears to contain an existing filesystem (btrfs)

これはどうしてでしょうか? パーティションを作成しただけなのに、どうして btrfs がファイルシステム タイプとしてすでに存在しているのでしょうか?

答え1

パーティションを作成すると、以前そこにあったものがすべてそこに含まれます。たとえば、ファイルシステムが含まれていたパーティションを削除し、その間のスペースに書き込まずにまったく同じ場所にパーティションを再作成すると、以前そこにあったファイルシステムがそのまま残ります。新しいパーティションが古いものと同じ場所から始まるが、サイズが大きい場合は、ファイルシステムを引き続き使用することも、(ファイルシステムがサポートしている場合は) 拡張して余分なスペースを埋めることもできます。新しいパーティションが小さい場合は、ファイルシステムを引き続き使用できますが、古いパーティションを削除する前に、新しいパーティション サイズに縮小しておく必要があります。

つまり、同じ場所から始まったパーティションから残ったファイルシステム、あるいはファイルシステムの始まりがここにあります。の多くのバージョンでは、mkfs既存のファイルシステムと思われるものの上書きを拒否します。これは、間違ったパーティションを指定したことを示すことが多く、エラーが壊滅的な結果をもたらす可能性があるためです。既存のファイルシステムを上書きする場合は、まずその一部を消去して認識できないようにする必要があります。Linux には、wipefsそれを実行するユーティリティ。

wipefs /dev/sda1

パーティションの先頭で十分なバイト数 (たとえば、数メガバイト) をゼロにすると、同じ効果が得られる傾向があります。

答え2

dd を使用すると、パーティション テーブルを消去できます。gdisk のゼロ機能では失敗したのに、dd では成功したことを覚えています。(必ずデータをバックアップしてください)。

# dd if=/dev/zero of=/dev/sda bs=512 count=1024

関連情報