ディスクイメージファイルシステムタイプの確認

ディスクイメージファイルシステムタイプの確認

ディスクイメージのファイルシステム形式を確認するには?

私はそのコマンドを使用して確認できることを知っていますが、そのfile動作を自動化したいと思います。

$ file img.raw
img.raw:   data

$ file img.ext4
img.raw:   Linux rev 1.0 ext4 filesystem data, UUID=346712e7-1a56-442b-a5bb-90ba4c6cc663 (extents) (64bit) (large files) (huge files)

$ file img.vfat
img.vfat:  DOS/MBR boot sector, code offset 0x3c+2, OEM-ID "mkfs.fat", sectors/cluster 16, reserved sectors 16, root entries 512, Media descriptor 0xf8, sectors/FAT 256, sectors/track 32, heads 64, sectors 1024000 (volumes > 32 MB) , serial number 0x4b5e9a12, unlabeled, FAT (16 bit)

特定のイメージディスクがそのフォーマットでフォーマットされていることを確認したいと思います。

たとえば、checkfs <image> <format>イメージに「フォーマット」ファイルシステムが含まれている場合は0を返し、そうでない場合は別の値を返します。

同様のことを行い、戻りコードを確認しようとしましたが、file <image> | grep <format>vfat filesystemsの出力に「vfat」は表示されませんfile

これを行うためのスクリプトを作成することもできますが、ディスクイメージのファイルシステム形式を取得するためのツールが見つかりません。

また、次のツールを試してみました:fdisk、、。parteddf

ディスクイメージファイルシステムの種類を確認し、最も一般的に使用されるファイルシステムの種類と連携できるツールはありますか?

ベストアンサー1

ついに私に必要なものを見つけました

  • blkid -o value -s TYPE <image>fs 型を返します。生データの場合は何も返されません。

編集する:

@psusiが述べたように、partedマシンに解析可能な出力があります。使いやすくないけどblkid便利だと思います。

  • parted -m <image> print | tail -n +3 | awk -F ":" '{print $(NF-2)}'各パーティションのファイルシステムタイプが印刷されます。

tail -n +3最初の2行をスキップし、
awk -F ":" '{print $(NF-2)}'fs型、つまり最後から始めて最後から3番目の要素を取得するために使用されます。

おすすめ記事