fdiskとmkfsについて少し混乱しています。
つまり、これが典型的なUSBフラッシュドライブのパーティション分割とフォーマットです。
umount /dev/sdb
fdisk fdisk /dev/sdb
Command (m for help): d
Selected partition 1
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-960, default 1): ↵
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-960, default 960): ↵
Using default value 960
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 6
Changed system type of partition 1 to 6 (FAT16)
Command (m for help): a
Partition number (1-4): 1
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
mkfs -t vfat /dev/sdb1
私の質問は:
fdiskステップの実行中にパーティションタイプを指定するためにtオプションを使用する必要があるのはなぜですか?それはすべてにどのように影響しますか?それはvfatパーティションだけがあるはずであることを意味するUSBドライブにいくつかのマークを作成しますか?または、tステップを完全にスキップしても安全ですか? AFAIK-パーティショニングはディスクをエリアに分割するだけです-そうではありませんか?
なぜそれが機能するのかを理解しようとしているだけです:)
Mkfsはパーティションテーブルを知らないか、気にしないからです。ハードディスクとは関係のない、したがってパーティションを含む、任意のブロックデバイスで使用できます。 fdiskがmsdosパーティションテーブルに配置するパーティションタイプコードはヒントにすぎず、Microsoft以外のオペレーティングシステムではほとんど無視されます。
パーティションタイプは、ファイルシステムタイプほど具体的ではありません。ほとんどの「ネイティブ」Linuxファイルシステムは、パーティションタイプ83を使用します。例:すべてのext*
バリアント、ReiserFS、XFSなど。
parted
またはgParted
に切り替えてみてください。一部のファイルシステムタイプでは、パーティションを作成し、その中にファイルシステムをすべて同じツール内で作成できます。 (ただし、一部のファイルシステムでは、個別にmkfs
する必要があります。)
パーティションタイプは、そのパーティションに配置しているファイルシステムのタイプを知る必要があるデバイス用です。 Linuxはタイプを無視するのに十分賢いようで、ファイルシステムが何であれ何であるかを知っています。ただし、ファイルシステムの種類がディスクに配置した実際のファイルシステムと一致する場合にのみディスクを読み取ることができるデバイスがいくつかあります。
mkfs
は実際のファイルシステムを作成します。そのファイルシステムをどのようなものに置いているのかわからないので、推測することはできません。何をすべきかがわかるように、作成しようとしているファイルシステムの種類を正確に伝える必要があります。
最近、ファイルシステムの種類が重要である理由を知りました。メディアプレーヤーで使用するために曲を置くためのUSBスティックをセットアップしましたが、実際のファイルシステムがvfatであったとしても、ファイルシステムタイプを正しく設定しませんでした。音楽プレーヤーはドライブの読み取り方法を知りませんでした。パーティションタイプが正しく設定されると機能しました。 Macでも同じ問題が発生しました。実際のファイルシステムは正常でしたが、間違ったパーティションタイプのUSBスティックを読み取ることができませんでした。