Похожие вопросы

Перечитывая таблице разделов ошибка 22: недопустимый аргумент
Перезаписать таблицу разделов загрузочного диска с помощью gdisk; как восстановить?
Использование LVM после установки Debian
Почему разделы диска начинаются с сектора 2048 [дубликат]
LVM: как увеличить расширенный раздел без потери данных?
почему раздел начинается с сектора 2048 вместо 63
Что делает sfdisk и как он сравнивается с fdisk или parted?
Почему Clonezilla не распознает RAID0 диски - и как это исправить?
linux: утилита для поиска хорошего выравнивания разделов на ssd
Правильно сжать NTFS и изменить размер раздела с помощью linux
LVM Extend... не уверен, что файловая система
Как отформатировать диск NTFS на CentOS 7, чтобы его можно было использовать в Windows?
Секционирование SSD с sfdisk
Сжатие раздела ext4: fdisk не позволит воссоздать раздел в том же стартовом блоке
Как создать и раздел RAW образ диска?

Секционирование SSD с sfdisk

Я пытался разделить этот SSD (Samsung 840) красиво на некоторое время. Я хочу убедиться, что страницы совпадают со страницами SSD, чтобы ограничить количество записей. Я нашел этот сайт которое рекомендует использовать 224 головы и 56 участков.

у меня уже есть дамп sfdisk, который я хочу реплицировать, но немного переместите начальный раздел (я думаю). Это измеряется в секторах, и я получаю довольно запутанное перемещение между секторами, головками, цилиндрами и все (мой приятель дал мне стартовый номер 2048):

# partition table of /dev/sdb
unit: sectors

/dev/sdb1 : start=     2048, size=   995329, Id=83, bootable
/dev/sdb2 : start=   997377, size= 10242047, Id=83
/dev/sdb3 : start= 11239424, size= 24611328, Id=83
/dev/sdb4 : start= 35850752, size= 67223296, Id= 5
/dev/sdb5 : start= 35850808, size= 10235848, Id=83
/dev/sdb6 : start= 46086712, size= 56987336, Id=83

Итак, я бросил макет на диск через sudo sfdisk -H224 -S56 /dev/sdb < sfdisk.dump. Но в вышеупомянутой ссылке парень говорит, что он гарантирует, что его раздел начинается с цилиндра 2, чтобы убедиться, что он находится на границе цилиндра.

Я попытался проверить свой стартовый цилиндр, и он находится на 0: (

$ sudo sfdisk -l -uC /dev/sdb        

Disk /dev/sdb: 18689 cylinders, 224 heads, 56 sectors/track
Units = cylinders of 6422528 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdb1   *      0+     79-     80-    497664+  83  Linux
/dev/sdb2         79+    895     817-   5121023+  83  Linux
/dev/sdb3        896    2857    1962   12305664   83  Linux
/dev/sdb4       2858    8216    5359   33611648    5  Extended
/dev/sdb5       2858+   3673     816-   5117924   83  Linux
/dev/sdb6       3674+   8216    4543-  28493668   83  Linux

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

Я также пробовал другой способ настройки sfdisk:

echo "2,512,83,*
,5000,83
,10000,83
,,5
,6000,83
,6000,83
"|sudo sfdisk -uM -H224 -S56 /dev/sdb

и попытался поднять мегабайт - и проверка - начальное положение цилиндра, но может получить только до 6 мегабайт до его придушит (Warning: given size (5005) exceeds max allowable size (6)), и я все еще на нулевом цилиндре.

человек геометрии диска! Как это работай!?

есть ли более простой способ? У кого-нибудь есть формулы для вычисления между типами геометрии? Кто-нибудь знает хороший учебник, чтобы связать меня? Кто-нибудь делал это раньше для своего SSD?

С Уважением

5
задан hamstar
источник

1 ответов

на MBR-диске значения секторов хранятся двумя способами:

  • в формате CHS -- формат цилиндр/головка/сектор (CHS) использует странную 24-битную кодировку для хранения значений секторов. Немного математики, 2^24 * 512 байт = 8GiB. (На самом деле, истинный предел CHS немного ниже, чем это, потому что не все значения CHS являются законными.) Обратите внимание, что 8 гиб, что значительно ниже общей емкости большинства современных дисков (даже SSD), что означает, что кодирование CHS бесполезно и поэтому игнорируется для большинства целей сегодня. Фокусировать на значениях CHS и на геометрии CHS (которые определяют максимальные цилиндр, головку, и значения участка для диска) поэтому непродуктивная трата времени.
  • в формате LBA -- формат линейной (или логической) блочной адресации (LBA) использует одно 32-разрядное значение для указания секторов. 2^32 * 512 байт = 2TiB, следовательно предел 2TIB на MBR. Это достаточно большой для всех современных твердотельных накопителей и даже многих современных вращающихся дисков; но больше современных для дисков требуется более новая система секционирования GPT, которая использует 64-разрядные значения LBA и не использует значения CHS.

в прошлом разделы были выровнены по значениям цилиндров, потому что это могло улучшить производительность на дисках той эпохи (в 1980-х и, возможно, в начале 1990-х годов). С тех пор выравнивание цилиндров было обычным явлением только по привычке и для обратной совместимости, но на самом деле это не служило какой-либо цели. Сегодня выравнивание цилиндров вредно, потому что новые технологии (SSD, некоторые типы RAID-массивов и дисков расширенного формата) лучше работают с выравниванием на некотором множителе секторов power-of-2 (8, 512, 2048 и т. д.), но детали отличаются от одного типа диска к другому. Большинство современных средств секционирования выравнивают по умолчанию по крайней мере первый раздел на 2048 секторов, поскольку это хорошо работает для большинства современных дисков; однако некоторые твердотельные накопители требуют еще больших значений, например 4096 или даже 8192. Если вы можете получить техническую информацию о вашем SSD, вы можете узнать, что его требования. Если нет, попробуйте использовать значения по умолчанию 2048, 4096 или 8192.

мое владение sfdisk ограничено (мне никогда не нравился его набор команд), поэтому я не могу точно сказать, как это сделать с помощью инструмента, кроме как дать общий совет: укажите начальную и конечную точки раздела в секторов, не в цилиндры. Если вы настраиваете все вручную, вытащите карманный калькулятор (или используйте настольное приложение калькулятора) и убедитесь, что разделы старт для значений, которые равномерно делятся на используемое значение выравнивания. Конечные точки не важны, за исключением тех случаев, когда вы, вероятно, хотите, чтобы они заканчивали один сектор до следующей начальной точки, чтобы свести к минимуму потраченное впустую пространство.

и parted и gdisk сделайте больше для обеспечения выравнивания разделов, чем fdisk (и я подозреваю sfdisk). Таким образом, вы можете рассмотреть возможность использования одного из этих инструментов - но gdisk работает только на GPT дисках, поэтому вы должны использовать его только если вы хотите переключиться на GPT из MBR.

2
отвечен Rod Smith 2013-08-27 17:20:32
источник

Другие вопросы fdisk linux partitioning sectors ssd