1

Попытка настроить двойную загрузку Windows 7 и Arch Linux.

Samsung 840 EVO 120GB SSD.

Размер блока стирания: 1536 КБ. Секторы: 3072 (512 * 3072 = 1572864 = 1024 * 1536)

Это кажется простым при разбиении диска с помощью GPT.

Однако у меня уже установлена Windows 7, где я это сделал, загрузив установочный носитель USB через USB (а не UEFI), поэтому Windows 7 установилась на диск с MBR.

Поэтому, когда я пытаюсь установить Arch и запускаю fdisk -b 3072 /dev/sda это не удается, поскольку 3072 недопустимо, но принимает -b 4096 . Похоже, предполагается, что не существует SSD, который не является блоком, выровненным по границам 1 или 2 МБ.

Точно так же раздел Windows 100MB System Reserved начинается в секторе 2048. Это тоже не выравнивается!

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

1 ответ1

3

Не используйте опцию fdisk -b в этом контексте! Эта опция устанавливает размер логического сектора диска, который вам не нужно устанавливать, потому что ядро почти всегда определяет его правильно. Эта опция понадобится вам только в том случае, если у вас есть драйвер с ошибками или вы разрабатываете виртуальный диск или что-то в этом роде.

Вместо этого вам нужно вручную вычислить оптимальное значение выравнивания. Например, если вы знаете, что хотите, чтобы раздел начинался где-то около сектора 200000, вы бы:

  1. Разделите 200 000 на 3072, получив 65,1.
  2. Округлите вверх (или, возможно, вниз, если есть место перед вашей начальной точкой отсчета), получив 66.
  3. Умножьте на 3072, получив 202,752.
  4. Введите это значение в качестве начальной точки для раздела.
  5. Введите желаемую конечную точку или длину раздела. Обратите внимание, что конечная точка не должна быть выровнена, хотя, если вы сделаете ее на 1 меньше, чем кратное 3072, результатом будет отсутствие потерянного пространства между разделами.

Это проще всего сделать с помощью fdisk или parted , хотя если вы хотите использовать parted вы должны набрать unit s чтобы установить единицы в сектора. (В последних версиях fdisk умолчанию используются единицы измерения секторов.) GParted в значительной степени безнадежен для этой задачи. Обратите внимание, что вам не нужно выравнивать расширенный раздел; он содержит только одну собственную 512-байтовую структуру данных, поэтому в реальном смысле его нельзя выровнять должным образом. Однако логические разделы, содержащиеся в расширенном разделе, должны быть правильно выровнены.

Когда вы закончите, разделите все начальные точки вашего раздела на 3072. Все они должны быть целыми числами (опять же, с возможным исключением расширенного раздела).

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