Есть ли способ создать один раздел размером 2 ТБ, выровненный по 4096-байтовому сектору, на диске с помощью стандартного Linux fdisk (я пробовал версию 2.17.2)?
Я пробовал следующее и столкнулся с описанной ошибкой:
-u
флаг, он устанавливает размер кластера равным одному сектору размером 512 байт. Тогда раздел должен иметь длину 3 906 250 000 кластеров, и fdisk усекает это число до 2 147 483 647 (2 ^ 31-1).-b 4096
, это позволяет мне создать раздел (с длиной 488 281 506 секторов), но если я проверю размер полученного раздела, используя blockdev --getsize64
, он показывает, что размер раздела составляет всего 250 ГБ, то есть он по-прежнему использует размер сектора 512.-S 64 -H 32
, например, тогда он всегда устанавливает счетчик секторов обратно на 63, что не делится равномерно на 4096 (я знаю, 32 деление равномерно на 8 технически достаточно, но - назовите меня перфекционистом - я бы действительно хотел иметь начало раздела в секторе 2048 (выровнено 1 МБ), как я читал, в наши дни рекомендуется устанавливать.Есть ли какая-то комбинация параметров, которую я могу передать в fdisk, которая позволит мне создать раздел, который начинается с 1 МБ (сектор 2048 [256] для 512- [4096-] байтовых секторов) и имеет длину ровно 2 ТБ (3 906 250 000 [488 281 506] ] секторов для 512- [4096-] байтовых секторов)?
(Я читал, что могу просто использовать gparted и заставить его сменить диск на разделение GPT, но мне бы очень хотелось знать, есть ли способ сделать это со стандартным fdisk и разделом MBR. Я не вижу причины почему разделы MBR не должны допускать этого ...)
Использовать parted
вместо того fdisk
. Он автоматически позаботится о выравнивании и не имеет этой ошибки, которую вы, кажется, обнаружили в fdisk
. Также не существует кластеров. Это либо секторы, либо цилиндры - это изношенный хлам, оставшийся с начала 90-х.
ОБНОВИТЬ:
Более новые версии fdisk (например, v2.20.1) больше не имеют проблемы с усечением номера кластера, как описано в вопросе. Следовательно, теперь можно просто использовать
fdisk -c /dev/sdX
чтобы создать раздел, начиная с 2048 и заканчивая 3906252047, чтобы создать желаемый макет.
ОРИГИНАЛЬНЫЙ ОТВЕТ:
Я нашел один способ сделать это:
fdisk -S 16 -H 1 -c /dev/sdX
Затем я могу создать раздел, который начинается со 129 и заканчивается 244 140 753.
Теперь, если я сделаю fdisk -l -u /dev/sdX
, Я получу:
Disk /dev/sdX: 2000.4 GB, 2000365289472 bytes
1 heads, 16 sectors/track, 244185216 cylinders, total 3906963456 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: 0xee3e796d
Device Boot Start End Blocks Id System
/dev/sdX1 2048 3906252047 1953125000 fd Linux raid autodetect
и blockdev --getsize64 /dev/sdX1
дает мне ровно 2 000 000 000 000.
Теперь большой вопрос: кто-нибудь видит проблему с -S 16 -H 1? :)
Есть причина, по которой существует GPT, и вы, кажется, ее обнаружили. Нет смысла проталкивать квадратный колышек через круглое отверстие.