Linuxでファイルシステムの種類を確実に決定する方法は?

Linuxでファイルシステムの種類を確実に決定する方法は?

パーティションがフォーマットされたFATバージョン/サブタイプ(FAT12 / FAT16 / FAT32 / VFAT / exFAT)を印刷するコマンドを実行できるようにしたいです。

一部の人々は、次のコマンドに従うことを提案します。

# stat -f -c %T /boot/efi
msdos

または

# df -T | grep boot
/dev/sda2      vfat        262144     67916    194228  26% /boot/efi

statexFATの印刷内容です。

# stat -f -c %T /media/a1ex/7B57-DCAA/
fuseblk

これらの出力は混乱しているようです。そうですか?

答え1

これが質問に対する実際の答えです。

このfile -sコマンドは、FAT タイプに関する情報を提供します。

$ sudo file -s /dev/nvme0n1p2

/dev/nvme0n1p2: DOS/MBR boot sector, code offset 0x58+2, OEM-ID "MSDOS5.0", sectors/cluster 2, reserved sectors 6654, Media descriptor 0xf8, sectors/track 63, heads 255, hidden sectors 1085440, sectors 204800 (volumes > 32 MB), FAT (32 bit), sectors/FAT 769, reserved 0x1, serial number 0xbe4b6aa0, unlabeled

関連部分 =>FAT (32 bit)

答え2

vfatこれは、パーティションテーブルとfstabに基づくFATパーティションであることを示します。fdisk -lorなどの内容をお知らせします。df -Tmount

私は使用しないで、より良いアイデアを得るために、またはstatを使用します。file /dev/sda2parted /dev/sda -l

注:サイレントインストール用のfuseblkメディアです。示した例/boot/efiには明らかな違いがあります。/media/...

答え3

このコマンドは次のことを行います。

lsblk -o FSTYPE

より便利なフラグの組み合わせは次のとおりです。

lsblk -o FSTYPE,MOUNTPOINT,TYPE,NAME

FSTYPE      MOUNTPOINT TYPE  NAME
                       disk  sda
ntfs                   part  ├─sda1
ntfs                   part  └─sda2
            [SWAP]     disk  zram0
                       disk  nvme0n1
ext4        /boot      part  ├─nvme0n1p1
crypto_LUKS            part  └─nvme0n1p2
btrfs       /home      crypt   └─luks-69980091-6c68-42a0-adf9-4d7e07c7239f

関連情報