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

Действительно ли возможно установить некоторый диспетчер начальной загрузки на диске с необработанным физическим томом внутри (т.е. никакая таблица разделов)? Я попробовал LILO, и объемы LVM стали недоступными (из-за повреждения структур LVM). Режимом начальной загрузки является BIOS.

1
задан 9 October 2014 в 15:36
1 ответ

Основная проблема в том, что загрузчики сегодня немного сложны, и практически их тоже нужно загружать. Даже этот «загрузочный код загрузчика» слишком велик для примерно 300 байт кода в MBR (основная загрузочная запись).

Это связано с тем, что загрузчики обычно используют дополнительную область данных, около 10-30 кбайт, после основной загрузочной записи .

В большинстве конфигураций по умолчанию данные начинаются только с первой дорожки жесткого диска, которая по существу нумеруется с 0. На цилиндре 0, так что у нас есть примерно свободная дорожка данных, которые могут свободно использоваться загрузчиками. Почти во всех случаях я обнаружил, что это было 63 * 512 = 32256 байт.

Это так и с сегодняшними жесткими дисками, которые не показывают свою физическую структуру секторов, а только эмулируемую (которая обычно содержит 16 или 255 головок и 63 сектора на дорожку).


Так обстоит дело с дисками с разделами MBR. Если вы используете LVM, таблица разделов отсутствует. В мире профессионального системного администрирования существует множество мнений о том, что «на каждом диске должна быть таблица разделов», или «вы просто не можете использовать диск без разделов» или тому подобное. Мое мнение сильно отличается от них: надо признать, раздел MBR - вещь допотопная и в эпоху логического управления громкостью устарела, и по возможности ее следует ликвидировать. Я думаю, у вас, вероятно, было аналогичное соображение, чтобы не иметь таблицы разделов MBR только чистый макет LVM на вашем диске.


Итак, но есть проблема с LVM, и это то, что его первоначальный макет не содержит это 10-30 килобайт бесплатных данных в ваш загрузчик. Кроме того, это немного необычная конфигурация даже для разработчиков загрузочной системы. Но в любом случае это можно сделать.

Я предлагаю вместо вас использовать LILO. Lilo читает свой загрузчик второй ступени, ваше ядро ​​и даже ваш initrd из списка секторов, и, следовательно, ему не нужно делать какие-либо сложные операции, такие как чтение секторов с ваших жестких дисков.

Если он выдает вам некоторые предупреждения или сообщения об ошибках, добавьте в свой вопрос новую проблему или даже откройте новый вопрос.

3
ответ дан 3 December 2019 в 18:43

Теги

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