Eu respondi a essa pergunta , assumindo que o *.img
arquivo tivesse um tamanho de setor 512
.
Como faço para consultar um dispositivo, ou a imagem de um dispositivo, para encontrar o tamanho correto do setor?
Eu respondi a essa pergunta , assumindo que o *.img
arquivo tivesse um tamanho de setor 512
.
Como faço para consultar um dispositivo, ou a imagem de um dispositivo, para encontrar o tamanho correto do setor?
fdisk -l
(menor L no parâmetro) mostrará, entre outras informações, o tamanho do setor também.
$ 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
Isso mostra que o tamanho do setor é de 512 bytes.
EDIT: As versões mais recentes de fdisk
, por exemplo, fdisk
(do pacote util-linux 2.20.1
), também mostrarão os tamanhos do setor lógico e físico. Por exemplo, saída relevante de uma "unidade 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 acordo com a documentação para os arquivos sysfs da fila :
fonte
loopN
vez desdX
. Ainda assim, é inútil em certo sentido, já que os arquivos de imagem realmente não possuem setores, e essas informações apenas informam o tamanho do setor do dispositivo atualmente montado.Pode-se apenas usar o
file(1)
comando e fazer as contas ele mesmo. Isso funciona mesmo que você tenha apenas uma imagem do sistema FAT.Por exemplo:
Esta partição possui 64 setores por cluster. O número de bytes em cada setor é 512, como é o padrão, portanto, o tamanho do cluster é 32 KB.
Observe que o tamanho do setor pode ser maior que 512 (a especificação FAT o limita a 4096, mas você pode ir mais alto). Quando isso acontece, você verá um campo "Bytes / setor" adicional na saída.
Faça a correspondência novamente, 4096 bytes × 16 setores = 64 KiB por cluster.
fonte
obrigado acima das respostas, sobre o fdisk mostrando o tamanho do setor físico e o caminho sobre / sys ... mas uma nota ... de Lucas no livro Absolute FreeBSD .... quase todo disco rígido fica sobre o tamanho do setor, por isso, no caso do linux
sempre, pelo que entendi, mostrará 512 para obter melhor desempenho; é bom levar em consideração o tamanho do setor físico, real, realmente usado na lógica de hardware. Mostrado pelo fdisk, e presente em
fonte