私のハードドライブの物理セクタサイズはいくらですか? fdisk、smartctlなど..他の答えを提供します。

私のハードドライブの物理セクタサイズはいくらですか? fdisk、smartctlなど..他の答えを提供します。

ハードドライブはUSB3.0を介して外付けハードドライブボックスに接続されています。

$ sudo smartctl -a /dev/sdb

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 3.5
Device Model:     ST4000DM004-2CV104
Firmware Version: 0001
User Capacity:    4,000,787,030,016 bytes [4.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5425 rpm
Form Factor:      3.5 inches
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-3 T13/2161-D revision 5
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
  • 4096 bytes physical上記の出力に表示されているものが表示されます。

  • ただし、次の結果はすべて512バイトを表示します。

$ sudo fdisk -l /dev/sdb

Disk /dev/sdb: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors
Disk model: USB3.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 4096 bytes / 33553920 bytes
$ cat /sys/block/sdb/queue/hw_sector_size
512

$ cat /sys/block/sdb/queue/physical_block_size
512
$ lsblk -o NAME,PHY-SeC /dev/sdb
NAME   PHY-SEC
sdb        512
└─sdb1     512
$ sudo blockdev --getbsz /dev/sdb
512

それでは、ハードディスクの実際の物理セクタサイズはいくらですか?

だと思います4096が、なぜ他のすべてのコマンドで間違った結果が出るのかわかりません。

  • ところで、実際の物理セクタサイズを探したいのは、-b 4096ランタイムに使用したいからですbadblocks

ありがとうございます。

  • PS:答えが「はい」の場合、4096他に実際の結果を表示できるLinuxの他のツールはありますかsmartctl

4096を表示する別のコマンドが見つかりました。

$ sudo hdparm -I /dev/sdb | grep -i physical
        Physical Sector size:                  4096 bytes

答え1

fdiskによると、USBディスクなので情報が隠されています。

smartctl にはディスクが多いデータベースがあるため、物理サイズを取得できます。

実際、過去数年間に作成されたすべてのHD、特にマルチテラバイトサイズのHDは、物理ブロックサイズが4096バイトです。

私はちょうど小さなNVMEドライブを見ましたが、gdiskでは論理/物理サイズはすべて512バイトだと言います。ただし、パーティションはソートされます。2048セクター境界(例:1Mib)。 SATA SSDも同様です。

関連情報