Как была определена геометрия диска (C / H / S) в таблице разделов флэш-памяти?

Я собираюсь написать программу создания разделов диска для съемных устройств с флэш-памятью, в основном управляемых с помощью ввода-вывода на основе SCSI и доступ с адресом LBA.

Для справки я изучаю таблицу разделов на SD-картах, которые были разделены и отформатированы дисковой утилитой Ubuntu.

Я использовал команду «unit» программного обеспечения «parted» в Linux, чтобы наблюдать за параметрами карт с блоком CHS и байтом.

Ниже приведена карта SD-8GB с 15122432 секторами 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 

Ниже приведена 4-гигабайтная SD-карта с 7585792 секторами 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 

По моим наблюдениям, значения геометрии диска (C / H / S) различаются на SD-карте различной емкости, и значения геометрии кажутся связанными с конечным CHS-адресом конца раздела. Похоже ..

Карта с разделом, который заканчивает кортеж CHS (c, h, s), будет иметь геометрию диска (c + 1 / h + 1 / s + 1). Связаны ли они?

Но как определяются значения? Это зависит от ОС или файловой системы?

2 Solutions collect form web for “Как была определена геометрия диска (C / H / S) в таблице разделов флэш-памяти?”

В 1980-х годах BIOS на ПК должен был знать геометрию жесткого диска для правильной работы. Пользователям приходилось вводить правильное количество цилиндров, голов и секторов.

В какой-то момент (с введением интерфейса IDE ? Моя память довольно нечеткая по этой теме), диски стали способны сообщать о своей геометрии на компьютер.

К началу до середины 1990-х годов прошивка диска управляла геометрией диска самостоятельно. BIOS все еще нуждался в значении для C / H / S, потому что он использовал это для вычисления размера диска. Но разбивка на значение C / H / S может быть произвольной. Таким образом, диски сообщили значения C / H / S, которые не имели никакого отношения к фактической геометрии диска, но установили разрешенный диапазон и дали правильный общий размер.

Среда хранения, к которой не применяется концепция цилиндров и головок, также будет иметь некоторую ценность, которая привела бы к правильному общему размеру.

Я мог бы решить свою проблему. Я запутался в том, как программа раздела определяет геометрию устройства при создании таблиц разделов. Но после некоторых экспериментов я обнаружил, что фиксированного геометрического для устройства флэш-памяти (на самом деле у него нет физического диска), программа раздела может самостоятельно определять номер заголовка и сектора на дорожку, а затем использовать настраиваемую геометрическую для вычисления начального CHS раздела и завершения CHS в таблице разделов. Независимо от геометрии, ОС может найти границу раздела с помощью данной информации CHS.

  • запущенный скрипт с аргументом -o, указывающим точку подключения SD-карты
  • Почему моя SD-карта не распознается?
  • может форматировать и разделять sd-карту, но не может видеть записи устройства
  • Разблокируйте Android зашифрованный файл DISK IMAGE FILE на SD-карте на настольном Linux
  • btrfs на SD-карте, что означает «Btrfs обнаружены SSD-устройства, которые поддерживают режим SSD»?
  • Автовоспроизведение SD-карты после размонтирования
  • Prepackage Arch Linux (ARM) с пакетами перед установкой
  • Что делать, если мой USB-накопитель / SD-карта защищена от записи или доступна только для чтения?
  • Устройство чтения SD-карт в Linux: протокол SPI или SD под
  • Как исправить эту ошибку ввода-вывода на SD-карте?
  • Установка Debian 8 (Jessie) из раздела жесткого диска
  • Linux и Unix - лучшая ОС в мире.