Як додати нове ядро ​​до 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.