Vou escrever um programa criador de partições de disco para dispositivos removíveis de memória flash, principalmente controlado por E / S baseada em SCSI e acessado com o endereço LBA.
Para referência, estou pesquisando a tabela de partições nos cartões SD que foram particionados e formatados pelo utilitário de disco do Ubuntu.
Eu usei o comando 'unit' do software 'parted' no Linux para observar os parâmetros dos cartões com a unidade CHS e a unidade de byte.
O seguinte é para um cartão SD de 8GB com 15122432 setores do LBA:
pi@raspberrypi:~ $ sudo parted /dev/sda
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit chs print
Model: Generic CRM01 SD Reader (scsi)
Disk /dev/sda: 1020,130,11
Sector size (logical/physical): 512B/512B
BIOS cylinder,head,sector geometry: 1020,239,62. Each cylinder is 7587kB.
Partition Table: msdos
Disk Flags:
Number Start End Type File system Flags
1 0,1,0 1019,238,61 primary ext3
(parted) unit b print
Model: Generic CRM01 SD Reader (scsi)
Disk /dev/sda: 7742685184B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 31744B 7738552319B 7738520576B primary ext3
O seguinte é para um cartão SD de 4GB com 7585792 setores do LBA:
(parted) unit chs print
Model: Generic CRM01 SD Reader (scsi)
Disk /dev/sda: 1019,71,29
Sector size (logical/physical): 512B/512B
BIOS cylinder,head,sector geometry: 1019,120,62. Each cylinder is 3809kB.
Partition Table: msdos
Disk Flags:
Number Start End Type File system Flags
1 0,1,0 1018,119,61 primary ext3
(parted) unit b print
Model: Generic CRM01 SD Reader (scsi)
Disk /dev/sda: 3883925504B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 31744B 3881656319B 3881624576B primary ext3
A partir da minha observação, os valores da geometria do disco (C / H / S) são diferentes no cartão SD de capacidade diferente, e os valores da geometria parecem estar associados ao endereço CHS final do final da partição. É como parece ..
A carta com a partição que termina com a tupla CHS é (c, h, s), cuja geometria de disco será (c + 1 / h + 1 / s + 1). Eles estão relacionados?
Mas como os valores são determinados? Isso depende do sistema operacional ou do sistema de arquivos?