1

У меня есть флешка. Вот его начальная информация, сгенерированная fdisk (Linux):

# fdisk -l /dev/sdc

Disk /dev/sdc: 8053 MB, 8053063680 bytes
16 heads, 60 sectors/track, 16384 cylinders, total 15728640 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd297c0f1

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048    15728639     7863296    b  W95 FAT32

Потом я играл с ним некоторое время с различными инструментами (например , badblocks parted fdisk gparted disks и хотел восстановить исходное состояние диска (тот же partion таблицы, такой же номер раздела / тип / размер / местоположение, то же файловой системы и ... геометрия. Но fdisk напечатал другую геометрию, когда я запустил ее снова:

# fdisk -l /dev/sdc

Disk /dev/sdc: 8053 MB, 8053063680 bytes
232 heads, 46 sectors/track, 1473 cylinders, total 15728640 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x7a249df5

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048    15728639     7863296    c  W95 FAT32 (LBA)

Собственно, что именно я сделал:

  • выполнил тест с использованием badblocks: badblocks -w -s -o /tmp/output /dev/sdc
  • создал новую таблицу разделов с помощью fdisk и parted
  • создал основной раздел с помощью fdisk и parted
  • отформатировал раздел как FAT32 и exFAT (mkfs.vfat -F32 /dev/sdc1 , mkfs.exfat /dev/sdc1)
  • изменен тип системы разделов

Конечно, я знаю, что у флэш-накопителей нет заголовков, цилиндров и т.д. И что важно иметь одинаковое общее количество секторов. Но в любом случае, я хотел бы установить конкретную геометрию для флешки, как бы я это сделал? Зависит ли это от используемого инструмента или параметра команды?

2 ответа2

1

Геометрия (цилиндры, головки, сектора) устарела и неактуальна даже на современных жестких дисках, не говоря уже о флэш-накопителях. Это в основном не используется в современных операционных системах; практически все используют линейные адреса (адресация логических блоков [LBA] или другие специфичные для интерфейса методы). Это не повлияет на производительность.

Эти значения CHS составлены, потому что таблица разделов MBR содержит адреса CHS. Текущие версии fdisk (util-linux 2.27.1) даже не показывают эту запутанную информацию по умолчанию.

0

Вы можете переопределить геометрию, используя, например, fdisk -H 32 -S 32 /dev/sda . Это приведет к тому, что все цилиндры будут иметь длину 512 КБ. Поскольку разделы в схеме разбиения msdos начинаются на границах цилиндров, это несколько изящный способ обеспечить правильное выравнивание всех разделов для большинства твердотельных накопителей (кроме первого раздела, который смещен на одну дорожку, чтобы зарезервировать место для загрузчика).

Тем не менее, лучше использовать GPT и забыть о поддельной геометрии.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .