GNU/Linux >> Linux の 問題 >  >> Linux

fdisk -l などのコマンドはどのようにセクター サイズを見つけますか?

デバイスのセクター サイズは MBR に保存されません。

fdisk などのユーザー空間コマンド BLKBSZGET を使用 と BLKSSZGET ioctl s ディスクからセクター サイズを取得します。それらの ioctl s はカーネル内のドライバーによって処理され、ドライブ自体から関連情報を取得します。

(関連する ioctl に関するドキュメントはあまりありません s;カーネルのソース コードを確認する必要があります。)

hdparm など、ドライブを直接クエリする他のツールを使用して、関連情報を表示できます。 .小さい SSD では、hdparm -I 教えて

[...]
Logical  Sector size:                   512 bytes
Physical Sector size:                   512 bytes
Logical Sector-0 offset:                  0 bytes
[...]
cache/buffer size  = unknown
Form Factor: 2.5 inch
Nominal Media Rotation Rate: Solid State Device
[...]

4K セクターの大きな回転ディスクでは、代わりに取得します

[...]
Logical  Sector size:                   512 bytes
Physical Sector size:                  4096 bytes
Logical Sector-0 offset:                  0 bytes
[...]
cache/buffer size  = unknown
Form Factor: 3.5 inch
Nominal Media Rotation Rate: 5400
[...]

そこにはいくつか質問があります。私が見つけた最高のものは、 ioctl から情報を取得することです .

ioctl ウィキペディアと Linux の man ページの情報

fdisk ソース コード リンク


Linux
  1. 特定のセクターでファイルを見つける方法は?

  2. ext2/ext3/ext4 ファイルシステムの inode サイズを調べる方法は?

  3. Linuxのソケットバッファサイズを見つける方法

  1. LinuxでディスクがSSDかHDDかを確認する方法

  2. デフォルトのファイルマネージャを見つける方法は?

  3. Linuxでマウントされていないパーティションのサイズを見つける方法は?

  1. findコマンドを使用して権限を監査する方法

  2. 最大スタック サイズを確認するにはどうすればよいですか?

  3. Linux で「find」の結果を mv にパイプする方法