Як я можу завантажуватися зі старшою версією ядра?


55

Останнє ядро ​​спричиняє проблеми з моїм звуком, який добре працював із старішою версією. Оскільки у мене встановлено лише Ubuntu, Grub не відображається під час завантаження. Як я можу вибрати вручну версію ядра під час завантаження?

Відповіді:


58

Найпростіший спосіб відобразити груб - це натиснути і утримувати SHIFTкнопку під час завантаження.

Як альтернатива, ви завжди можете відображати Grub, не завантажуючи якесь конкретне ядро:

gksudo gedit /etc/default/grub

змінити GRUB_TIMEOUTна -1 та прокоментуватиGRUB_HIDDEN_TIMEOUT

закінчити бігом

sudo update-grub

5
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported. Я прокоментував GRUB_HIDDEN_TIMEOUTі встановивGRUB_TIMEOUT=0
acidghost

Просто для явного: GRUB_HIDDEN_TIMEOUT - це змінна середовище, яку потрібно встановити під час запуску 'update-grub'?
Джонатан Хартлі

1
@JonathanHartley GRUB_HIDDEN_TIMEOUTвизначений у/etc/default/grub
wjandrea

20

Утримуючи клавішу Shift під час завантаження, відобразиться меню Grub. Тепер ви можете вибрати старішу версію ядра.

Щоб вибрати старе ядро ​​як ядро ​​за замовчуванням, перегляньте цю публікацію


2
У моєму випадку (Ubuntu 16.04) це було зрушенням вліво. Правий зсув не спрацював.
Боб

1
що робити, якщо старі ядра не відображаються в grub (їх було видалено)? Чи означає це, що ці ядра недоступні?
Каламалка Малюк

1
Мені довелося скористатися втечею (а не зміною)
Джонатан Кінг

5

Під час завантаження, коли GRUB з'являється із записами, вибирають другий запис, тобто, Розширені параметри для Ubuntu, там ви можете побачити різні старі версії ядра, які були встановлені раніше, ви можете вибрати одну з них, яка працює для вас. В іншому випадку ви переходите до grub.cfg і вставляєте потрібну версію ядра поверх поточно встановленої записи ядра. В обох напрямках це працює


3

Якщо у вашій системі є декілька ядер, ви можете встановити вручну версію ядра:

  1. Перезавантажте комп'ютер із натиснутою кнопкою Shift для відображення GRUB після запуску BIOS. Ви побачите щось на кшталт: початкова сторінка GRUB

  2. Виберіть "Додаткові параметри для Ubuntu" та запам'ятовуйте індекс цього рядка меню (кількість починається від 0) На індексі зображення 1

Виберіть конкретне ядро

  1. Виберіть конкретне ядро ​​для завантаження, а також запам’ятайте індекс цього рядка меню (кількість починається від 0) На індексі зображення вибраного ядра 2

  2. Запуск системи. Ця дія призначена для одного завантаження конкретного ядра. Якщо ви хочете весь час починати з конкретного ядра, слід зробити наступні дії:

4.1. Відкрийте та відредагуйте інсталяційний файл GRUB:

sudo nano /etc/default/grub

4.2. Знайдіть рядок GRUB_DEFAULT = ... (за замовчуванням GRUB_DEFAULT = 0) і встановіть у котируваннях шлях до конкретного ядра (Запам’ятайте індекси меню з кроків 2 та 3). У моїй системі перший індекс був 1, а другий - 2. Я ввійшов до GRUB_DEFAULT

GRUB_DEFAULT="1>2"

Зберегти файл.

4.3. Оновіть інформацію GRUB для змін застосувань:

sudo update-grub

4.4. Після перезавантаження ви автоматично завантажуєтесь на Kernel за обраним меню. Приклад на моїй машині 1 -> 2

4.5. Перевірте версію ядра після перезавантаження:

унаме -р


2

За https://help.ubuntu.com/community/Grub2 :

GRUB_HIDDEN_TIMEOUT = 0

Цей параметр визначає, як довго буде відображатися екран без меню GRUB 2. Поки екран порожній, користувач може натиснути будь-яку клавішу для відображення меню.

Типовою поведінкою є приховання меню, якщо присутня лише одна операційна система. Якщо користувач із лише Ubuntu бажає відобразити меню, на початку цього рядка поставте символ #, щоб відключити функцію прихованого меню.

Зниження ядра: як понизити ядро ​​11.10

Оновлення ядра: Як я можу оновити ядро ​​до 3.1?


1

Будь ласка, встановіть попереднє ядро ​​за допомогою наступної команди:

sudo apt-get install linux-image-3.0.0-12-generic linux-headers-3.0.0-12-generic

Потім перезавантажте. Вам буде запропоновано вибрати ваше ядро.


1
  1. Одразу після екрана BIOS / UEFI під час завантаження, за допомогою BIOS, швидко натисніть та утримуйте Shiftклавішу, яка відобразить меню GNU GRUB. (Якщо ви бачите логотип Ubuntu, ви пропустили місце, де ви можете увійти в меню GRUB.) За допомогою UEFI натисніть (можливо, кілька разів) Escклавішу, щоб перейти до меню GRUB. Іноді заставний екран виробника є частиною завантажувача Windows, тому при включенні машини він переходить безпосередньо на екран GRUB, а потім натискання Shiftне потрібне.

  2. На екрані GRUB виберіть Додаткові параметри для Ubuntu та натисніть Enter.

    введіть тут опис зображення

  3. З'явиться новий фіолетовий екран із зазначенням списку ядер. За допомогою клавіш ↑ та to виберіть, який запис буде виділено. Натисніть Enter для завантаження вибраного ядра, 'e' для редагування команд перед завантаженням або 'c' для командного рядка. Натисніть Esc, щоб повернутися до попереднього меню.

    введіть тут опис зображення


1
Хоча така ж, як і ця набагато коротша відповідь: askubuntu.com/a/584738/307523 Ваша відповідь іде набагато далі із знімками екрана та Shiftклавішею, щоб в першу чергу вивести грязь .
WinEunuuchs2Unix

0

Відповідь Джеккобека описує спосіб перегляду grub.cfgта прокрутки вихідного коду, щоб знайти номер меню. Простіший спосіб - за допомогою цього сценарію :

Grub Version: 2.02~beta2-36ubuntu3.22


         ┌───────────┤ Use arrow, page, home & end keys. Tab toggle option ├────────────┐
         │ Menu No.     ----------- Menu Name -----------                               │ 
         │                                                                              │ 
         │  1>3  Ubuntu, with Linux 4.15.0-55-generic                                  ↑│ 
         │  1>6  Ubuntu, with Linux 4.15.0-54-generic                                  ▒│ 
         │  1>9  Ubuntu, with Linux 4.14.134-0414134-generic                           ▒│ 
         │  1>12 Ubuntu, with Linux 4.14.120-0414120-generic                           ▮│ 
         │  1>15 Ubuntu, with Linux 4.14.114-0414114-generic                           ▒│ 
         │  1>18 Ubuntu, with Linux 4.14.110-0414110-generic                           ▒│ 
         │  1>21 Ubuntu, with Linux 4.14.98-041498-generic                             ▒│ 
         │  1>24 Ubuntu, with Linux 4.14.89-041489-generic                             ▒│ 
         │  1>27 Ubuntu, with Linux 4.14.78-041478-generic                             ▒│ 
         │  1>30 Ubuntu, with Linux 4.14.70-041470-generic                             ▒│ 
         │  1>33 Ubuntu, with Linux 4.4.0-157-generic                                  ▒│ 
         │  1>36 Ubuntu, with Linux 3.16.60-031660-generic                             ▒│ 
         │  1>36 Ubuntu, with Linux 3.16.60-031660-generic                             ▒│ 
         │  2    Ubuntu 18.04.1 LTS (18.04) (on /dev/nvme0n1p10)                       ▒│ 
         │  3    Advanced options for Ubuntu 18.04.1 LTS (18.04) (on /dev/nvme0n1p10)  ▒│ 
         │  3>0  Ubuntu (on /dev/nvme0n1p10)                                           ↓│ 
         │                                                                              │ 
         │                                                                              │ 
         │                     [Display Grub Boot]            Exit                      │ 
         │                                                                              │ 
         └──────────────────────────────────────────────────────────────────────────────┘ 



Примітка. У цьому прикладі grub-menu.sh shortвикористовувались для виклику сценарію. shortПараметр пригнічує ці рядки:

     │  1>10 Ubuntu, with Linux 4.14.134-0414134-generic (upstart)                 ▒│ 
     │  1>11 Ubuntu, with Linux 4.14.134-0414134-generic (recovery mode)           ▒│ 

Клавіші управління

Після прокрутки записів (ви можете використовувати колесо прокрутки миші або клавіші зі стрілками), натисніть, Escapeщоб повернутися до командного рядка.

Якщо натиснути Enterасоційований grub, відобразяться команди для запису:

menuentry 'Ubuntu, with Linux 4.14.134-0414134-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.14.134-0414134-generic-advanced-b40b3925-70ef-447f-923e-1b05467c00e7' {
recordfail
savedefault
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root b40b3925-70ef-447f-923e-1b05467c00e7
else
search --no-floppy --fs-uuid --set=root b40b3925-70ef-447f-923e-1b05467c00e7
fi
echo 'Loading Linux 4.14.134-0414134-generic ...'
linux /boot/vmlinuz-4.14.134-0414134-generic root=UUID=b40b3925-70ef-447f-923e-1b05467c00e7 ro noplymouth fastboot acpiphp.disable=1 pcie_aspm=force vt.handoff=7 i915.fastboot=1 nopti nospectre_v2 nospec mem_sleep_default=deep
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.14.134-0414134-generic
}
Press <Enter> to continue

Оновлення grub для завантаження попереднього ядра

Для кожного пункту меню існує набір команд grub. Усі складені записи зберігаються у /boot/grub/grub.cfgфайлі.

У цьому прикладі ми хочемо номер меню `1> 9> встановити за замовчуванням, тому ми використовуємо:

sudo -H gedit /etc/default/grub

і знайдіть цей рядок:

GRUB_DEFAULT=0

і змініть це на це:

GRUB_DEFAULT="1>9"

Потім збережіть файл і запустіть

sudo update-grub
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.