ペンドライブと1つのパーティションがあります。
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
└─sda1 8:1 0 931.5G 0 part /
sdb 8:16 1 7.5G 0 disk
└─sdb1 8:17 1 7.5G 0 part
そして、私はコマンドでフォーマットしました:
# mkfs.fat -n A /dev/sdb
そしてそれはうまくいきます。
しかし、その後、mkfsのmanページを読み飛ばしました。
mkfs is used to build a Linux filesystem on a device, usually a hard
disk partition. The device argument is either the device name (e.g.
/dev/hda1, /dev/sdb2), or a regular file that shall contain the
filesystem. The size argument is the number of blocks to be used for
the filesystem.
mkfs
はパーティション番号で動作するはずです。そして私の問題は、私の操作がエラープロンプトなしで機能する理由です?
パーティションではなくディスク全体にファイルシステムを作成することは可能ですが、珍しいことです。これは最も一般的なケースであるため、ドキュメントでは明示的にパーティションについてのみ言及しています(は通常と表示されています)。固定サイズのファイルのように十分に機能するファイルシステムを作成できます。つまり、特定の場所でデータを書き込み、同じ場所から読み戻すと、同じデータが返されます。これには、ディスク全体、ディスクパーティション、およびその他の種類の ブロックデバイス 、および通常のファイル(ディスクイメージ)が含まれます。
mkfs.fat -n A /dev/sdb
を実行すると、そのディスクにはパーティションがなくなります。カーネルはパーティションテーブルがメモリにキャッシュされているため、ディスクにはパーティションがあるとまだ認識していることに注意してください。ただし、/dev/sdb1
はもう存在しないため、使用しないでください。 /dev/sdb
は/dev/sdb1
の一部であるため、これに書き込むと/dev/sdb
で作成したファイルシステムが破損します(最初は数百バイトを除くすべて)。コマンドpartprobe
をrootとして実行し、カーネルにパーティションテーブルを再度読み取るように指示します。
ディスク全体にファイルシステムを作成することは可能ですが、お勧めしません。一部のオペレーティングシステムでは問題が発生する可能性があり(Windowsでは対応できると思いますが、カメラなどの一部のデバイスでは対応できない場合があります)、他のパーティションを作成する可能性が失われます。参照 パーティションレスファイルシステムのメリット
デバイスに複数のファイルシステムを配置する予定がない場合は、パーティションを分割してフォーマットするのではなく、ファイルシステムをデバイス全体に配置するのが一般的には問題ありません。あなたは単に一貫している必要があります。 _sda1
_ではなくsda
にファイルシステムを配置したため、_sda1
_がまったく存在しないため、sda
もマウントする必要があります。
あなたの質問のデバイスは、FAT形式のリムーバブルドライブのようです:ファイルシステムをマウントする方法について多少詳細な概念がある可能性がある組み込みデバイスで使用する場合は、それらをテストする価値があるかもしれません実際には、パーティションテーブルのないデバイス全体のファイルシステムをサポートしています。 (たとえば、カメラは単一のパーティションを作成してそれをフォーマットする傾向があります。パーティションレスのメモリカードを使用できないと宣言することは完全に可能です。)