Respondí esta pregunta , suponiendo que el *.img
archivo tenía un tamaño de sector de 512
.
¿Cómo consulto un dispositivo, o la imagen de un dispositivo, para encontrar el tamaño de sector correcto?
Respondí esta pregunta , suponiendo que el *.img
archivo tenía un tamaño de sector de 512
.
¿Cómo consulto un dispositivo, o la imagen de un dispositivo, para encontrar el tamaño de sector correcto?
fdisk -l
(eso es L inferior en el parámetro) le mostrará, entre otra información, el tamaño del sector también.
$ 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
Esto muestra que el tamaño del sector es de 512 bytes.
EDITAR: Las versiones más recientes de fdisk
, por ejemplo, fdisk
(del paquete util-linux 2.20.1
), también le mostrarán los tamaños de los sectores lógico y físico. Por ejemplo, salida relevante de una "unidad 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
De acuerdo con la documentación de los archivos sysfs de la cola :
fuente
loopN
lugar desdX
. Aún así, en cierto sentido no tiene sentido, ya que los archivos de imagen realmente no tienen ningún sector, y esta información solo le dirá el tamaño del sector del dispositivo montado actualmente.Uno puede usar el
file(1)
comando y hacer los cálculos él mismo. Esto funciona incluso si solo tiene una imagen del sistema FAT.Por ejemplo:
Esta partición tiene 64 sectores por clúster. El número de bytes en cada sector es 512, ya que es el predeterminado, por lo tanto, el tamaño del clúster es de 32 KB.
Tenga en cuenta que el tamaño del sector puede ser mayor que 512 (la especificación FAT lo limita a 4096 pero puede ir más alto). Cuando eso suceda, verá un campo adicional "Bytes / sector" en la salida.
Haga el partido nuevamente, 4096 bytes × 16 sectores = 64 KiB por cluster.
fuente
gracias a las respuestas anteriores, sobre fdisk que muestra el tamaño del sector físico y sobre / sys path ... pero una nota ... de Lucas en el libro Absolute FreeBSD ... casi todos los discos duros mienten sobre el tamaño del sector, por lo que en el caso de Linux
siempre, por lo que puedo entender, mostrar 512 para un mejor rendimiento, es bueno tener en cuenta el tamaño del sector físico, real, que realmente se usa en la lógica del hardware. Se mostró por fdisk, y se presenta en
fuente