Я просто dd'd 2 ГБ Micro SD на 16 ГБ и gparted раздел.

В первый раз я изменил размер раздела с помощью gparted на максимум. Выровнять был МиБ.

Система не загрузилась.

Затем я снова сделал то же самое, на этот раз изменил размер до максимума, используя "Выровнять по цилиндру".

Затем система загрузилась. Почему он не загружается с первого раза?

Система представляет собой куб, похожий на Raspberry Pi.

1 ответ1

0

Вы не говорите, какую ОС или загрузчик вы используете, но многие загрузчики полагаются на прямые ссылки на секторы. То есть загрузочный код в MBR представляет собой элементарную заглушку, которая, по сути, сообщает компьютеру «выполнить сектор X для продолжения», где X - это жестко закодированное значение сектора, например 63, 2048 или 27934920. LILO делает это, например. Загрузчик MBR от Microsoft не делает этого, а загрузчик второго уровня (находится в загрузочной записи раздела), поэтому эффект может быть таким же.

В прошлом выравнивание цилиндров было обычным явлением, и даже сегодня было создано множество дисков с инструментами, которые по умолчанию были выровнены по цилиндрам. Такие диски обычно запускают первый раздел в секторе 63 и последующие разделы со странными значениями, кратными любому размеру (фиктивного) цилиндра. Предположим, ваш оригинальный диск был создан с использованием старых инструментов или даже с новыми инструментами, установленными для использования этой старой системы центровки цилиндров. Далее предположим, что вы изменили размер раздела на этом диске с помощью GParted. Если он установлен для нового выравнивания 2048 секторов, результатом будет то, что начало любого измененного размера раздела будет перемещено, что приведет к неправильному значению в загрузчике. Если вы сделали это с установленным выравниванием цилиндров, начальная точка раздела, вероятно, не изменится. Кроме того, операции изменения размера раздела иногда приводят к перемещению содержимого файлов, поэтому, даже если начальная точка раздела не изменяется, при наличии ссылок на файлы на основе секторов они могут быть признаны недействительными. (Однако чаще всего это происходит при сокращении раздела, чем при его увеличении.)

В общем, изменение размера загрузочного раздела может привести к невозможности его загрузки, по крайней мере, на компьютерах с BIOS. (Системы на основе EFI безопаснее, потому что их загрузчики, насколько мне известно, никогда не полагаются на ссылки по секторам. Они могут быть отброшены другими вещами, например, изменение номеров разделов.)

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