web-dev-qa-db-ja.com

partedはXFSパーティションを作成しましたが、ext4を要求しました。どうして?

新しいハードドライブ(Ubuntu 14.04.4 LTS x64)をコンピューターに接続しました。これは、Sudo lshw -C diskを使用して確認できます。

  *-disk
       description: ATA Disk
       product: ST6000NM0024-1HT
       vendor: Seagate
       physical id: 0.0.0
       bus info: scsi@1:0.0.0
       logical name: /dev/sdb
       version: SN05
       serial: Z4D90E30
       size: 5589GiB (6001GB)
       configuration: ansiversion=5 sectorsize=4096

GUIDパーティションテーブル(GPT))をSudo parted /dev/sdb mklabel gptで作成しました。

username@server:~$     Sudo parted /dev/sdb print
Model: ATA ST6000NM0024-1HT (scsi)
Disk /dev/sdb: 6001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

次に、ext4を使用して、Sudo parted --align optimal /dev/sdb mkpart primary ext4 0% 6001175MBパーティションラベルを作成するために処理しました。新しいラベルが表示されます。

username@server:~$     Sudo parted /dev/sdb print
Model: ATA ST6000NM0024-1HT (scsi)
Disk /dev/sdb: 6001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  6001GB  6001GB  xfs          primary

ファイルシステムがxfsであるのに、ext4であるように要求したのはなぜですか?

その後、Sudo mkfs.ext4 /dev/sdb1を使用してパーティションを作成したときに、パーティションにext4のマークが付けられましたが、このxfsがどのように表示されたのでしょうか。

4

Partedは実際にはファイルシステムを作成しません。パーティションを作成するだけです。 mkpartに渡すファイルシステムタイプはどこにも記録されません。

Partedに情報の印刷を依頼すると、パーティションの内容が確認されます。現在のパーティション番号1と同じ場所から始まるパーティションにxfsファイルシステムがあったようです。まだパーティションにコンテンツを書き込んでいないため、古いコンテンツはまだそこにあります。xfsファイルシステムが6001GB未満であり、偶然ではなく実際にファイルシステムがそこにあった場合(たとえば、たまたまその位置に正確に配置されたファイルシステムイメージファイルの先頭)、それはまだ有効であり、マウントできます。

では、なぜmkpartを実行するときにファイルシステムタイプを指定するのでしょうか。影響はパーティション形式によって異なります。 [〜#〜] gpt [〜#〜] パーティションでは、ファイルシステムタイプを使用してパーティションタイプを決定します。 ntfsは、パーティションタイプをGUID Windowsで使用されるように設定します。swapは、パーティションタイプをGUIDスワップに設定します、など。デフォルトでは、xfsとext4の両方がマップされ、Linuxデータに対してGUIDを設定します。これは、ファイルシステムに関係なく、同じGUIDです。タイプ。これは、 [〜#〜] guid [〜#〜] がパーティションに格納されているもの(Linuxファイルなど)を示し、それらがどのように編成されているかを示すものではないため、意味があります。