Як додати нове ядро ​​до grub2


24

Як ми можемо додати ядро ​​до grub2? Я знав, що ми могли зробити з колишніми версіями, але, схоже, змінилися. Які файли слід редагувати?

Відповіді:


11

Щоб додати нове ядро ​​до grub2:

  1. Перемістіть ядро ​​до / boot /
  2. Запустити оновлення sudo-grub

update-grub сканує ваш комп'ютер на наявність ядер та створить список доступних ядер під час завантаження.

Для того, щоб ви вибрали ядро ​​для завантаження під час завантаження, вам, можливо, доведеться утримувати кнопку SHIFT одразу після того, як ваш BIOS виконає публікацію.

Ви можете редагувати / etc / default / grub, щоб змінити параметри завантаження за замовчуванням та параметри, які можуть знадобитися.

Non-Debian Linux

Перегляньте нотатки, що стосуються вашого розповсюдження, наприклад, ці документи Fedora GRUB 2 .

  • grub2-mkconfig -o /boot/grub2/grub.cfg

Що робити, якщо у вас є 2 дистрибутива Linux без окремого / завантажувального розділу? Чи потрібно копіювати ядро ​​з вторинних коренів на первинне? Або "grub-update" також перевіряє інші розділи на нові ядра?
— jiggunjer

Це окреме запитання, але будь-який використаний виконуваний файл повинен читати /boot/та генерувати правильно. Файл конфігурації grub (наприклад:) /etc/default/grubможе бути різним для кожної ОС, тому переконайтеся, що ви їх синхронізували. Однак найкращою практикою може бути, щоб одна ОС генерувала записи для вас.
— земляLon

Насправді не окреме питання, OP не вказав його конфігурацію, а подвійні черевики a є загальним. Думав, що це може додати значення вашій відповіді, що вже добре. Отже, іншими словами, вторинна ОС навіть не потребує власного grub, grub з первинної буде перевіряти / завантажувати папки на всіх розділах і знаходити ядра.
— jiggunjer

1
Як перемістити ядро ​​до / завантажувати? mv kernel /boot? Де я можу знайти ядро, яке можна перемістити до / завантажувати?
— Томас Веллер

3

Я запускаю Fedora 20, і команда для оновлення grub2 є grub2-mkconfig. Крім того, весь процес можна виконати за допомогою складання ядра:

make xconfig (make config, etc)
make bzImage
make modules
sudo make modules_install
sudu make install

Цей (останній крок) скопіює ядро ​​в / boot та оновить завантажувач grub2. Дуже легко, і в моєму випадку це справно працювало. Єдине моє питання полягає в тому, що ви насправді не дізнаєтесь важливих деталей процесу, все автоматизовано. Якщо у вас є проблеми і вам доведеться з’ясувати, що не так, ви можете застрягнути.


sudo make installкаже мені : Cannot find LILO.
— Рене Ніффенеггер

Можливо, ви будуєте значно старішу версію ядра? LILO використовувався у версії ядра, старшій за 3.x (не впевнений у точній версії) З яким дистрибутивом ви працюєте?
— philbrooksjazz

Це було в Arch Linux, з найновішим rc (4.6.0-rc5), який я git клонував із сховища Linux Torvalds.
— Рене Ніффенеггер

0

/boot/grub/grub.cfg- це файл, який замінили на menu.lstgrub1

У системах Debian / Ubuntu це генерується компанією update-grub, яка запускає сценарії, /etc/grub.dвикористовуючи щось подібне до run-parts.


0

Якщо нове ядро ​​встановлено з dpkg (так, ніби воно складено з make-kpkg), достатньо update-grub2 (він також не видаляє більше існуючих ядер)


0

Ви більше не редагуєте, щоб додати ядра. Він динамічно сканує та додає їх. Якщо ви ОБОВ'ЯЗКОВО додати сканування не знайдеться, вам слід заглянути в /etc/grub.d та змінити чи скопіювати та custom40 (він додається останнім, тому це чудове місце для тестування конфігурації, перш ніж ставити його у верхній частині вашого список).


0

Спробуйте update-grubабо update-grub2залежно від вашої версії гриб. Вам доведеться запускати їх як корінь, sudo. Це працювало для мене, коли я встановив другий дистрибутив Linux без перевстановлення grub.


Я зрозумів, що моя відповідь схожа на відповідь Алана, але я додав команду grub2.
— beatgammit
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.