質問: fdiskを使って、パーティションタイプをntfsにしてパーティションを切ったのですが、ファイルシステムは結局mkfsで作成する必要がありました。 ではMBR形式のディスクのパーティションテーブルのオフセット0x04に書き込まれている"パーティション識別子"とは一体何なのですか?これがあることで何かメリットがあるのですか? 逆にこれを合わせないと何か不都合があるのでしょうか?デフォルトのLinuxにしておいてmkfs.ntfsしたりしてはいけないのでしょうか?
回答: こんにちは。順番に回答させていただきます。 > > MBR形式のディスクのパーティションテーブルのオフセット0x04に書き込まれている"パーティション識別子"とは一体何なのですか? > > > 「パーティション識別子/パーティションID(Partition ID)」(Partition type, System IDとか呼び名に差がある ) は、PCが電源ONして、BIOS(やUEFI BIOS)によってHDDから起動するときに、LinuxやWindows等のOSを起動するブートローダーがその**パーティション識別子をヒントにしてファイルシステムを特定**し、OSのイメージを格納したファイルをロードする為に使用されます。古いWindowsではこれをもとにNTFS等のファイルシステムドライバーを選択してWindowsカーネルを読み出したりしていました。ただ、昔からの仕様の為、今の頭の良いLinux用のブートローダーではパーティションIDを利用することも無く、適切にファイルシステムを検出しているようです。 Partition type > > これがあることで何かメリットがあるのですか? > > > 「このパーティションはこのファイルシステムでフォーマットされている。」と簡単に認識できるメリットがあります。 > > 逆にこれを合わせないと何か不都合があるのでしょうか? > > デフォルトのLinuxにしておいてmkfs.ntfsしたりしてはいけないのでしょうか? > > > 合ってなくても動作するかもしれませんが、動作しなくても文句は言えないのでお勧めできない行為と考えられます。ブートローダーやその他、パーティションやファイルシステムを扱うツールプログラムによっては混乱する危険があると思います。「パーティションIDとしてLinux ext4 がセットしてあるのに、実際のファイルシステムがNTFS?、これをセットアップした人はどちらがやりたかったの?」と判断できず、操作した人の思惑通りには動作しない可能性があります。 ちなみに同様の質問/回答が海外のサイトでありましたのでご案内しておきます。 Why do we need to specify partition type in fdisk and later again in mkfs?