私は答えた この質問 、仮定*.img
ファイルのセクターサイズは512
。
正しいセクターサイズを見つけるために、デバイスまたはデバイスのイメージをクエリするにはどうすればよいですか?
fdisk -l
(パラメーターの下位L)は、他の情報の中でも特にセクターサイズを示します。
$ Sudo fdisk -l
Disk /dev/sda: 150.3 GB, 150323855360 bytes
255 heads, 63 sectors/track, 18275 cylinders, total 293601280 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 63 208844 104391 83 Linux
/dev/sda2 208845 209712509 104751832+ 83 Linux
これは、セクターサイズが512バイトであることを示しています。
編集:fdisk
の新しいバージョン(例:fdisk
(パッケージutil-linux 2.20.1
から))には、論理セクターサイズと物理セクターサイズも表示されます。たとえば、「WDC WD10EFRX 1TBドライブ」からの関連出力:
Disk /dev/sdn: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
キューのsysfsファイルのドキュメント によると:
# cat /sys/block/sda/queue/hw_sector_size
512
file(1)
コマンドを使用して、自分で計算を行うことができます。これは、FATシステムのイメージしかない場合でも機能します。
例えば:
$ Sudo file -s /dev/sda5 | tr , '\n'
/dev/sda5: DOS/MBR boot sector
code offset 0x58+2
OEM-ID "mkfs.fat"
sectors/cluster 64
reserved sectors 64
Media descriptor 0xf8
sectors/track 63
heads 255
hidden sectors 147632128
sectors 536870912 (volumes > 32 MB)
FAT (32 bit)
sectors/FAT 65536
serial number 0x9f981691
unlabeled
このパーティションには、クラスターごとに64セクターがあります。各セクターのバイト数はデフォルトで512であるため、クラスターサイズは32KBです。
セクターサイズは512より大きくなる可能性があることに注意してください(FAT仕様では4096に制限されていますが、さらに大きくすることもできます)。それが発生すると、出力に追加の「バイト/セクター」フィールドが表示されます。
$ Sudo mkfs.fat -S 4096 -s 16 /dev/sda5
mkfs.fat 4.1 (2017-01-24)
$ Sudo file -s /dev/sda5 | tr , '\n'
/dev/sda5: DOS/MBR boot sector
code offset 0x58+2
OEM-ID "mkfs.fat"
Bytes/sector 4096
sectors/cluster 16
Media descriptor 0xf8
sectors/track 63
heads 255
hidden sectors 147632128
sectors 67108864 (volumes > 32 MB)
FAT (32 bit)
sectors/FAT 4096
serial number 0xb059d826
label: unlabeled
もう一度一致させます。4096バイト×16セクター=クラスターあたり64 KiB。
上記の回答に感謝し、物理セクターサイズを示すfdiskについて、および/ sysパスについて...しかし、1つの注意事項...本のAbsolute FreeBSDのLucasによる......ほとんどすべてのhddはセクターサイズについてあるので、linuxの場合
/sys/block/sda/queue/hw_sector_size
ハードウェアロジックで実際に使用されている実際の物理セクターサイズを考慮に入れると、パフォーマンスが向上するため、512が常に表示されます。 fdiskで表示され、
cat /sys/block/sdc/queue/physical_block_size
4096