LINUX.ORG.RU

grub находит конфиг не на том диске и грузит не то что надо

 


0

1

Добавил sata-диск, ребутнулся, итог:

1) после запуска гуи (lightdm+x11 с автологином) перестаёт работать клавиатура и мышь (alt+prtscr+b работает, ctrl-alt-f1, numlock итд не работают)

2) qemu-system-x86_86 (он в автозапуске) пишет про отсутствующий модуль kvm

Оказалось, что откуда-то запустилось ядро 3.16 вместо 4.19 и от этого всё пошло наперекосяк. В видимом после запуска /boot/ есть только 4.19, и в /boot/grub/grub.cfg тоже прописано 4.19. В биосе в качестве загрузочного на первом месте стоит правильный диск который был и раньше. Добавленный диск виден как sdb. В dmesg правильный диск - «sd 0:0:0:0», неправильный - «sd 1:0:0:0». Но походу grub цепляет с него и конфиг и ядро, хотя дальнейшая загрузка делается с правильного диска. Как так вышло и как исправить?

Этот второй диск - старый системный для текущей ОС, возможно там какие-нить идентификаторы совпадают, но до мая этого года тот диск был подключён вторым и всё работало (но была другая материнка хоть и той же модели - возможно отличается ревизия биоса или какие-то опции в нём). Старые системные разделы просто висели неиспользуемыми (у них тип mdraid, это половина миррора) и ничему не мешали. Никаких обновлений ядер/grub/initramfs за прошедшее время (с отключения диска) не было.

Подозреваю что всё починится если их просто снести и оставить только один нужный, но хочется разобраться в ситуации.

Обновление:

Заметил, что груб с не тем конфигом сам тоже не тот - над меню показывается версия пакета, там deb8. Осталось узнать кто же запускает не тот grub. Или эта строчка в конфиге прописана?

1) grub-install /dev/sda - не помогает (я думал возможно прошитый на sda груб почему-то считает что его домашний раздел на sdb)

2) затирание загрузочного кода в mbr sdb - не помогает (думал может быть биос грузит с sdb несмотря на явное указание грузить с sda)

3) убирание флага активности с sdb1 - не помогает

4) затирание описания раздела sdb1 (то есть этого раздела теперь вообще нет) - помогло, стал грузиться правиьный груб с правильным конфигом итд

Но тему решённой не помечаю, т.к. вопрос никуда не девается: каким образом и кто запускает груб не с того диска. Мастер-бутсектор на старом диске (кроме таблицы разделов) затёрт, то есть грузится точно MBR правильного диска, который в свою очередь вряд ли может по своей инициативе лезть на другой (или может?).

★★★★★

Последнее исправление: firkax (всего исправлений: 7)
Ответ на: комментарий от d

Всмысле как названы? По uuid, они там правильные - это просто старая версия конфига от этой же ОС.

Да, id-ы миррора и id-ы файловой системы на правильном диске и на старом одинаковые, но раньше это ничему не мешало, да и сейчас ядро всё видит правильно, а груб почему-то нет.

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

У меня не то, ядро всё видит правильно всегда и юзерспейс грузится тот что надо. Неправильно видит grub и тоже стабильно всегда. Никакого рандома.

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

Хватит демагогию, лучше по теме ответь.

Вопрос в том почему так происходит. И повторю - происходит детерминистично без всяких рандомов, то есть зависит от какой-то вполне конкретной штуки.

firkax ★★★★★
() автор топика

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

Следующий момент это как система определяет порядок использования дисков, когда их несколько в компьютере. И тут вы делали методом научного тыка, старый диск с записями оказался на первом месте. Поздравляю, Шарик, ты балбес!

И в завершении, вам уже ответили про UUID.

Но вы же настолько умный, аж ★★★★★
Воткнули диск не глядя, что на нём, а потом удивляетесь, откуда ядро 3.16 вместо 4.19? Как-то энергетику сказал, что я же читал ПУЭ, на что он мне ответил в хорошем смысле, что одного прочтения не достаточно, нужно понимать написанное. В данном случае чтение было чисто техническое и применение написанного методом совпадений, то есть, без понимания. Именно так устанавливают Arch Linux и Gentoo, а потом гордятся нереальными достижениями по сравнению с убунточкой или виндой.

У меня всё.

wonit
()

А у Вас точно BIOS, а не UEFI? Если UEFI - так он имеет 2 варианта загрузки (обычно настраивается, нужно ли использовать один какой-то или оба):

  • CSM (Legacy Boot), как раз с помощью MBR
  • EFI - в этом случае наличие MBR на диске не имеет значения, а загрузка будет идти со специального раздела, называемого EFI System Partition; а чтобы загрузка с него стала возможна, в энергонезависимую память добавляется запись (со ссылкой на раздел и на файл загрузчика на разделе), причём эту запись UEFI вроде как и сам может добавить при подключении нового диска.

Т.о. я предполагаю следующую ситуацию: при подключении нового диска UEFI обнаружил на нём раздел EFI System Partition, добавил запись о нём (с максимальным приоритетом) и стал с него грузиться по умолчанию.

PeleWin
()
Ответ на: комментарий от vel

Ты бы прочитал стартовое сообщение темы (полностью) перед тем как отвечать, что ли.

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

Что значит «как»? Продублирую сюда из заглавного сообщения темы:

1) на первом месте указан правильный диск

2) для надёжности бут-сектор второго я вообще затёр, оставив только таблицу разделов

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

Разумеется у меня традиционная загрузка и никаких efi-разделов нет.

firkax ★★★★★
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.