LINUX.ORG.RU

Дубликат grub

 


0

2

Подозреваю, что у меня стоит два grub'a. При загрузке я вижу одно, а в update-grub я вижу совсем иное. Как я могу это доказать/исправить?



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

Вывод update-grub сюда. И содержимое файла /boot/grub/grub.cfg . Выполнял ли команду grub-install ?

rumgot ★★★★★
()

Во время работы загрузчика выбери любой пункт и нажми клавишу «e» откроется конфигурация выбранного пункта меню и где-то вверху ты увидишь строки set root=что-то там, так же обрати внимание на строки «search --fs-uuid ... --set root» и сравни с тем, что генерирует update-grub.

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

Как уже советовали:

  • Смотри что сгенерировалось в /boot/grub/grub.cfg и соответствует ли тому, что предалает груб на старте.
  • Смотри внимательно на вывод update-grub, нет ли ошибок.
  • Если уефи, то посмотри как организовано /boot/efi/, дай нам вывод команды tree /boot/efi/
mandala ★★★★★
()
Ответ на: комментарий от glowgrew

Убрать лишний сможешь? Нужно отмонтировать обратно, переименовать «не настоящий» /boot, добавить «настоящий» /boot в /etc/fstab чтобы монтировался автоматически.

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

Оказалось, что установлено >1 граба.

Не совсем так. У тебя, видимо, разметка MBR и в нулевом секторе и первых 2048 сектора прописан код загрузчика grub2, этот код сконфигурирован искать свой конфигурационный файл и прочие файлы только на определённом разделе. Этот раздел ты просто не монтировал перед выполнением update-grub.

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

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

В /etc/fstab запись о /boot уже должна присутствовать, просто необходимости его монтирования нет, только в случае установки пакета с новым ядром или обновления пакета с загрузчиком, в этом случае пакетный менеджер при установке таких пакетов сам смонтирует /boot, если он находится на отдельной файловой системе.

Сейчас, если на несмонтированном /boot, т.е. просто в директории /boot на корневой файловой системе находятся только файлы загрузчика и новый конфиг, а файлоы ядер там нет, то можно попросту удалить оттуда все файлы. И далее перед выполнением update-grub запомнить, что нужно предварительно смонтировать /boot. Если там уже есть файлы ядер и initramfs, то их придётся перенести на реальный /boot.

Перед удалением файлов удостовериться, что реальный /boot точно отмонтирован.

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

в этом случае пакетный менеджер при установке таких пакетов сам смонтирует /boot, если он находится на отдельной файловой системе.

Хм, ни когда не задумывался. Век живи, век учись...

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

Это всё должно быть прописано в сценарии preinst deb, rpm, arch linux или другого пакета.

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