Как я могу загрузиться с более старой версией ядра?


56

Последнее ядро ​​вызывает проблемы с моим звуком, которое отлично работало со старой версией. Поскольку у меня установлена ​​только Ubuntu, Grub не отображается во время загрузки. Как я могу вручную выбрать версию своего ядра при загрузке?

Ответы:


59

Самый простой способ отобразить ваш Grub - это нажать и удерживать 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
Я должен был использовать побег (а не сдвиг)
Джонатан Кинг

6

Во время загрузки, когда появляется GRUB с записями, выберите вторую запись, т. Е. В разделе « Дополнительные параметры» для Ubuntu вы можете увидеть различные старые версии ядра, которые были установлены ранее, вы можете выбрать одну из них, которая вам подходит. В противном случае вы идете в grub.cfg и вставляете нужную версию ядра поверх установленной в данный момент записи ядра. В обоих случаях это работает


4

Если у вас есть несколько ядер в вашей системе, вы можете вручную установить, какая версия ядра будет запускаться:

  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. После перезагрузки вы автоматически загружаетесь в ядро ​​по выбранному пути меню. Пример на моей машине 1 -> 2

4,5. Проверьте версию ядра после перезагрузки:

uname -r


3

По https://help.ubuntu.com/community/Grub2 :

GRUB_HIDDEN_TIMEOUT = 0

Этот параметр определяет, как долго будет отображаться экран без меню GRUB 2. Пока экран пуст, пользователь может нажать любую клавишу для отображения меню.

Поведение по умолчанию - скрывать меню, если присутствует только одна операционная система. Если пользователь только с Ubuntu желает отобразить меню, поместите символ # в начале этой строки, чтобы отключить функцию скрытого меню.

Понизить ядро: как понизить ядро ​​до 11.10

Обновление ядра: Как я могу обновить ядро ​​до 3.1?


2

Пожалуйста, установите предыдущее ядро ​​с помощью следующей команды:

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

Затем перезагрузите компьютер. Вам будет предложено выбрать ядро.


2
  1. Сразу после появления заставки BIOS / UEFI во время загрузки с BIOS быстро нажмите и удерживайте Shiftклавишу, которая вызовет меню GNU GRUB. (Если вы видите логотип Ubuntu, вы пропустили точку, в которой вы можете войти в меню GRUB.) С помощью UEFI нажмите (возможно, несколько раз) Escклавишу, чтобы перейти в меню GRUB. Иногда заставка производителя является частью загрузчика Windows, поэтому, когда вы включаете компьютер, он переходит прямо к экрану GRUB, а затем нажимать Shiftне нужно.

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

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

  3. Появится новый фиолетовый экран со списком ядер. Используйте клавиши ↑ и ↓, чтобы выбрать, какая запись будет выделена. Нажмите Enter для загрузки выбранного ядра, «e» для редактирования команд перед загрузкой или «c» для командной строки. Нажмите Esc, чтобы вернуться в предыдущее меню.

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


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

1

Ответ Джеккобека описывает способ просмотра 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.