ファイルシステムを使用して Arch Linux をインストールしようとしていますbtrfs
。インストール プロセスの初期段階でドライブを準備しているのですが、問題が発生しています。
まず、次のコマンドを使用して、以前のインストール試行からの GTP および MBR レコードをすべてクリアします。
gdisk /dev/sda
x
次に、コマンドを使用してエキスパート モードに入り、を使用してz
GTP および/または 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