パーティション番号なしでmkfsを使用できますか?

パーティション番号なしでmkfsを使用できますか?

ペンドライブとパーティションがあります。

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のマニュアルページに移動しました。

   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パーティション番号と一緒に使用する必要があることがわかります。私の質問は、私の仕事に関するエラーメッセージがない理由です。

答え1

パーティションではなくディスク全体にファイルシステムを作成することは可能ですが、一般的ではありません。ドキュメントでは、パーティション化が最も一般的なケースなので、明示的にのみ説明します。通常)。固定サイズのファイルと同様のすべての上にファイルシステムを作成できます。つまり、特定の場所にデータを書き込んで同じ場所から読み直すと、同じデータが得られます。これには、ディスク全体、ディスクパーティション、その他の種類のディスクが含まれます。ブロックデバイス、一般ファイル(ディスクイメージ)も同様です。

これを行うと、mkfs.fat -n A /dev/sdbディスクにパーティションがなくなります。カーネルはパーティションテーブルをメモリにキャッシュするので、まだディスクにパーティションがあると思います。ただし、もはや存在しないため、もう使用しようとしないでください。ここに書くと、ファイルシステムの一部であったため、/dev/sdb1作成したファイルシステムが破損します(最初の数百バイトを除くすべて)。カーネルにパーティションテーブルを再読み込みさせるには、rootとしてこのコマンドを実行します。/dev/sdb/dev/sdb1/dev/sdbpartprobe

ディスク全体にファイルシステムを作成することは可能ですが、お勧めできません。これは一部のオペレーティングシステムで問題になる可能性があります(Windowsではこれを処理できると思いますが、一部のデバイス(カメラなど)はそうでない可能性があります)、追加のパーティションを作成する可能性が失われます。また、見ることができますパーティションレスファイルシステムの利点

答え2

デバイスに複数のファイルシステムを保持する予定がない場合は、通常、パーティションを分割してフォーマットするのではなく、デバイス全体にファイルシステムを配置できます。一貫性を保つだけです。sda代わりにファイルシステムの電源を入れたため、ファイルシステムがまったく存在しないため、sda1マウントする必要があります。sdasda1

あなたの質問のデバイスは、FAT形式のリムーバブルドライブのようです。ファイルシステムをマウントする方法についていくつかの詳細なアイデアがある可能性がある組み込みデバイスで使用されている場合は、そのデバイスがFAT形式であるかどうかをテストする価値があります。実際にサポートしています。パーティションテーブルがない完全なデバイスファイルシステム。 (たとえば、カメラは単一のパーティションを作成してフォーマットする傾向があります。パーティションのないカードを使用できないと宣言することは完全に可能です。)

関連情報