Почему fdisk по-разному переводит единицы измерения между цилиндрами и секторами?

Почему fdisk по-разному переводит единицы измерения между цилиндрами и секторами?

Мы переразбивали виртуальный диск, чтобы увеличить размер физического тома LVM.

Вот как мы изначально это сделали:

$ fdisk /dev/sdb
# delete partition
fdisk> d
? 1
# create new partition
fdisk> n
? p
? 1
first cylinder? [ENTER]
last cylinder? [ENTER]
# set LVM type
fdisk> t
? 8e
fdisk> w

Это привело к тому, что LVM не распознавался Linux. Я был озадачен и посмотрел на резервную копию. Таблицы разделов обе начинались с 1, так что это не было похоже на проблему. Однако, если я изменил единицы измерения (команда fdisk u) с цилиндров на секторы, я заметил, что резервная копия начиналась с сектора 13, а новый раздел начинался с сектора 128.

Когда мы исправили начало раздела, все стало нормально.

Не могу понять разницу в переводе единиц. Может кто-нибудь помочь мне разобраться?

решение1

fdisk — старый инструмент, и по умолчанию использует старую схему цилиндров. Это будет рассчитано на основефальшивыйДанные о цилиндре/дорожке/головке, предоставленные прошивкой жесткого диска. Большинство инструментов (с момента существования LBA-разделения) не имеют к этому никакого отношения.

Переключиться в секторный режим можно с помощью команды u.

Ваша таблица разделов, вероятно, была создана другим инструментом (вероятно, функцией переразбиения установщика), который по умолчанию использовал это секторное разбиение.

Gpart, parted и еще множество инструментов делают это лучше, хотя ни один из них не обладает такой чистой точностью, как старый fdisk.

Связанный контент