LINUX.ORG.RU
ФорумAdmin

Возня с grub2

 


0

3

Всегда пользовался такими загрузчиками как lilo и extlinux, а тут решил вылезти из криокамеры и обратить внимание на использующийся во всех современных дистрибутивах загрузчик grub2.
Почитал руководства, такие как https://ru.wikibooks.org/wiki/Grub_2, погуглил. Есть вопросы:
1. Везде, в частности тут http://forum.ubuntu.ru/index.php?topic=194809.0 сказано, что grub нужно устанавливать в MBR. На раздел установить нельзя, то есть реально нельзя, я тоже попробовал - не получилось. Но я не понимаю почему нельзя. Вот grub грузится из MBR, а конфиг свой читает с раздела. Как он определяет с какого именно раздела вылавливать свой конфиг? Что произойдёт, если одновременно на нескольких разделах будет присутствовать файл boot/grub/grub.cfg?
2. grub не требует ручной настройки, даже основной конфиг /boot/grub/grub.cfg не предназначен для редактирования и должен создаваться автоматом, все ядра должны найтись сами и попасть в этот конфиг. При этом можно редактировать файл параметров /etc/default/grub, после редактирования которого нужно выполнить «grub2-mkconfig -o /boot/grub/grub.cfg». Так?
3. Кроме редактирования файла параметров можно ставить/снимать права выполнения со скриптов в /etc/grub.d или редактировать /etc/grub.d/40_custom. А как поменять параметры, генерируемые главным скриптом /etc/grub.d/10_linux. Вот у меня в меню загрузки два пункта:

Fedora (4.2.6-301.fc23.x86_64) 23 (Twenty Three)
Fedora (0-rescue-be33690a1c684bf2a1d7e98cad7d2c7f) 23 (Twenty Three)
Как сделать чтобы второй пункт не создавался вообще?

★★★★★

Последнее исправление: sunny1983 (всего исправлений: 2)

Не читай убунту форумы. Что там у чувака не так, не понятно. И весь тред народ гадает на кофейной гуще. Путь к файлам задается при установке. При нескольких грабах сначала загрузится MBR, потом как ты настроил.

Так. Еще есть /etc/grub.d/ с кучей настроек в нем.

Смотри /etc/grub.d/10_linux или как он у тебя называется.

mandala ★★★★★
()

Когда компьютер включается, программа из БИОС записывает первые 512 байт HDD в память по адресу 0x7C00.
Первые 446 байт из этих 512 и есть boot.img - первая часть grub`a, которая ну никак не может быть записана в раздел, и содержит jmp на основное ядро core.img grub'a, которое уже сцуко знает, как устроен твой диск, и в каком каталоге лежат его модули и конфигурационные файлы, основным из которых и является grub.cfg, который можно таки править в ручную, что часто и делается при установки оного загрузчика на сменные носители, но не рекомендуется, а в инструмент предлагают пользоваться grub-tools, утилитами для конфигурирования конфигурационного файла, конфигурационные файлы, которых находятся в /etc/default/ и /etc/grub.d
Помимо всего, уже довольно таки давно, для core.img в дисках с GPT не рекомендуют, а просто требуют создавать отдельный, специальный раздел.
Но это всё не для UEFI.

andregin
()

3. /etc/default/grub параметр GRUB_DISABLE_RECOVERY
наверное.

andregin
()

Пхоже, что Fedora (0-rescue-be33690a1c684bf2a1d7e98cad7d2c7f) создает такая штука как dracut при установке нового ядра.
Пока только нашел запись в /lib/dracut/dracut.conf.d/02-rescue.conf: dracut_rescue_image=«yes».
Короче есть несколько вариантов.
Удалить из /boot нафиг все файлы с имением 0-rescue-be33690a1c684bf2a1d7e98cad7d2c7f и затем, да grub2-mkconfig -o /boot/grub/grub.cfg
до следуещего нового ядра.
Или, закомментировать запись

menuentry 'Fedora ( (0-rescue-be33690a1c684bf2a1d7e98cad7d2c7f) 23 (Twenty Three)'
...
}
до скобочки, в /boot/grub/grub.cfg, до следующего обновления.
Или заменить «yes» на «no» в вышеуказанном файлике, сделать один из предыдущих пунктов, и дождаться нового ядра.

andregin
()
Ответ на: комментарий от mandala

Почему просто не отредактировать /etc/grub.d/10_linux?

Не просто. Не все так хорошо владеют башем.

/etc/default/grub параметр GRUB_DISABLE_RECOVERY наверное.

Попробую. А где про это написано?

Первые 446 байт из этих 512 и есть boot.img - первая часть grub`a

Ну вообще-то в первых 446 байтах обычно загрузчик mbr располагается.

sunny1983 ★★★★★
() автор топика
Ответ на: комментарий от sunny1983

Нет никакого «загрузчика MBR», а есть в структуре диска с классической структурой разбиения такая, простите за тавтологию, структура как MBR, главная загрузочная запись. В первых 446 байтах ее располагается код загрузчика, задачей которого является загрузка более «высокоуровнего» загрузочного кода и передача ему управления. У «обычных» загрузчиков в MBR помещается весь необходимый код, способный загрузить в память и передать управление ядру или другому загрузчику по цепочке, а у GRUB-а туда помещается только Stage1. Stage1 обычно передает управление Stage1.5, занимающей промежуток между таблицей разделов (находщейся в оставшейся части MBR) и первым разделом. Stage1.5 может и не быть, в этом случае управление передается сразу на Stage2, собственно и реализующей пользовательский интерфейс GRUB-а, поддержку файловых систем и прочей шелухи. И именно Stage2 открывает ядро как файл, считывает его в память и передает управление.

yars068 ★★★★
()

можно править руками /boot/grub/grub.cfg
всегда так делаю. проще и удобнее. никаких проблем

teod0r ★★★★★
()
Ответ на: комментарий от mandala

Почему просто не отредактировать /etc/grub.d/10_linux?

В моем варианте я еще сильно сомневаюсь но и разбираться дальше как-то тоже не собираюсь, не сильно то этот rescue и мешает.

andregin
()

grub нужно устанавливать в MBR. На раздел установить нельзя

Вроде можно и в раздел установить.

andregin
()
Ответ на: комментарий от yars068

Когда я пользовался lilo или extlinux я делал так:
1. Восстанавливал стандартный загрузчик в mbr командой «dd if=/usr/share/syslinux/mbr.bin of=/dev/sda»
2. Делал активным /dev/sda2 (он у меня обычно используется под «/») 3. Ставил загрузчик в /dev/sda2

sunny1983 ★★★★★
() автор топика
Ответ на: комментарий от sunny1983

Пункт 1 — излишество. То же самое делает LILO с ключом -M. Пункты 2 и 3 — необязательны, я всегда ставил LILO в MBR. А теперь вот перешел на GPT.

yars068 ★★★★
()
Последнее исправление: yars068 (всего исправлений: 2)
Ответ на: комментарий от yars068

Нельзя — это глупость. Просто все твои правки слетят после перегенерации. Даже в олдстейбл дебиане ядра прилетают, про всякие фёдоры и арчи я молчу.

mandala ★★★★★
()
Ответ на: комментарий от yars068

как штатный загрузчик — оверхед

Надо было в начале темы вбрасывать — тебе бы рассказали что без него как без рук :)

оверхед

Я это говорил еще тогда, когда его только начали пихать во все дистры.

на флешке

На флешке syslinux за глаза, как и на любой iso-шке.

Но как видим, побеждают бешеные комбайны: сустемдик, граб2. Кто следующий?

mandala ★★★★★
()
Ответ на: комментарий от anonymous

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

Да это дело можно и автоматизировать с помощью костылей! Предложения в студию!

mandala ★★★★★
()
Ответ на: комментарий от anonymous

Пфффф... Звание на самый дурацкий костыль присуждено!

Может легче груб2 выкинуть?

mandala ★★★★★
()
Ответ на: комментарий от mandala

Я же сказал, может, а не является :) Сам-то я syslinux и пользую на флешках, а основной загрузчик у меня lilo.

yars068 ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.