ハードドライブは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も同様です。