Je vais écrire un programme créateur de partition de disque pour les périphériques amovibles à mémoire flash, principalement contrôlés par des E/S basées sur SCSI et accessibles avec l'adresse LBA.Comment la géométrie du disque (C/H/S) a été déterminée sur la table de partition du stockage de la mémoire flash?
Pour référence, je recherche la table de partition sur les cartes SD qui ont été partitionnées et formatées par l'utilitaire de disque d'Ubuntu.
J'ai utilisé la commande 'unit' du logiciel 'parted' sous Linux pour observer les paramètres des cartes avec unité CHS et unité d'octets.
Ce qui suit est une carte SD de 8 Go avec 15122432 secteurs de LBA:
[email protected]:~ $ 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
Ce qui suit est une carte SD de 4 Go avec 7585792 secteurs de 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
De mon observation, les valeurs de géométrie de disque (C/H/S) sont différentes sur une carte SD de capacité différente, et les valeurs de géométrie sont associées à l'adresse de fin CHS de la fin de la partition. Il semble que ..
La carte avec la partition qui termine le tuple CHS est (c, h, s), quelle géométrie de disque sera (c + 1/h + 1/s + 1). Sont-ils liés?
Mais comment les valeurs sont-elles déterminées? Est-ce que ceux-ci dépendent du système d'exploitation ou du système de fichiers?
Je vote pour clore cette question hors-sujet parce qu'elle est mieux adaptée pour Unix & Linux Stack Exchange! –