GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo los comandos como fdisk -l encuentran el tamaño del sector?

El tamaño de sector de un dispositivo no se almacena en el MBR.

Comandos de espacio de usuario como fdisk usa el BLKBSZGET y BLKSSZGET ioctl s para recuperar los tamaños de sector de los discos. Esos ioctl Los controladores en el kernel manejan los mensajes de correo electrónico y recuperan la información relevante de las propias unidades.

(No hay mucha documentación sobre el ioctl relevante s; necesita comprobar el código fuente del kernel.)

Puede ver la información relevante utilizando otras herramientas que consultan las unidades directamente, por ejemplo, hdparm . En un SSD pequeño, hdparm -I me dice

[...]
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
[...]

En un disco giratorio grande con sectores de 4K, obtengo en su lugar

[...]
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
[...]

Hay algunas preguntas allí, traté de rastrear la respuesta a "¿Dónde encuentra fdisk el tamaño del sector de un disco?" Lo mejor que he encontrado es que obtiene la información de ioctl .

ioctl información en Wikipedia y la página de manual de Linux.

enlace del código fuente de fdisk


Linux
  1. ¿Cómo encontrar archivos en un sector dado?

  2. ¿Cómo encontrar el tamaño de inodo de un sistema de archivos ext2/ext3/ext4?

  3. ¿Cómo encuentro el tamaño máximo de pila?

  4. Cómo canalizar los resultados de 'buscar' a mv en Linux

  5. ¿Cómo encontrar el tamaño de una partición desmontada en Linux?

Cómo encontrar el número de puerto de un servicio en Linux

Cómo encontrar el tamaño de un directorio en Linux

Cómo encontrar la dirección IP de una máquina virtual KVM

Cómo encontrar el tamaño total de un directorio en Linux

Cómo encontrar archivos con el comando fd en Linux

Cómo encontrar la lista de repositorios instalados en Linux