🐧 Как изменить дефолтное ядро (загрузка со старого ядра) в CentOS / RHEL 8

by itisgood
Если в системе установлено несколько ядер, вы можете загружаться с определенного ядра.
Прежде чем двигаться дальше, давайте разберемся, как посмотреть текущую загруженную систему ядра по умолчанию.

Просмотр текущего ядра по умолчанию

1. Вы можете просмотреть ядро по умолчанию, установленное в вашей системе в данный момент, используя grubby.

grubby – это инструмент командной строки для обновления и отображения информации о файлах конфигурации для различных архитектурно-зависимых загрузчиков.

Он в первую очередь предназначен для использования в скриптах, которые устанавливают новые ядра и нуждаются в поиске информации о текущей загрузочной среде.

# grubby --default-kernel
/boot/vmlinuz-4.18.0-147.0.3.el8_1.x86_64
2. Каждое ядро, установленное в системе, имеет свой индекс.
Для просмотра индекса ядра используйте команду:
# grubby --default-index
0

3. Перечислите доступные ядра, используя команду:

# ls -l /boot/vmlinuz-*
-rwxr-xr-x. 1 root root 7872864 Apr 26  2019 /boot/vmlinuz-0-rescue-d026443091424a74948f9f62d2adb9b5
-rwxr-xr-x. 1 root root 7868768 Jun 19  2019 /boot/vmlinuz-0-rescue-ec2b9a54dc859388d7bc348e87df5332
-rwxr-xr-x. 1 root root 8106848 Nov 11 13:07 /boot/vmlinuz-4.18.0-147.0.3.el8_1.x86_64
-rwxr-xr-x. 1 root root 7876960 Sep 15  2019 /boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64
-rwxr-xr-x. 1 root root 7881056 Jul 26  2019 /boot/vmlinuz-4.18.0-80.7.2.el8_0.x86_64

4. Чтобы получить подробную информацию о конкретной версии ядра, вы можете снова использовать grubby:

# grubby --info /boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64
index=1
kernel="/boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64"
args="ro console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau crashkernel=auto $tuned_params"
root="UUID=58013e4a-11c0-4195-8fd8-e4b33e5b17d6"
initrd="/boot/initramfs-4.18.0-80.11.2.el8_0.x86_64.img $tuned_initrd"
title="Red Hat Enterprise Linux (4.18.0-80.11.2.el8_0.x86_64) 8.0 (Ootpa)"
id="ec2b9a54dc859388d7bc348e87df5332-4.18.0-80.11.2.el8_0.x86_64"

Как видно из приведенного выше вывода, вы можете легко найти индекс ядра любого ядра, доступного в вашей системе.

Последнее ядро всегда будет иметь индекс 0.

Теперь, когда вы знаете, с какого ядра вы загрузились, и список доступных ядер, с которых вы можете загружаться, мы можем продолжить и загрузиться с более старого ядра.

Есть два способа загрузки со старого ядра:

  • используя имя файла ядра
  • используя индекс ядра

Способ 1 – загрузка со старого ядра с использованием имени файла

1. Перечислите доступные имена файлов ядра, доступные в вашей системе:

# ls -l /boot/vmlinuz-*
-rwxr-xr-x. 1 root root 7872864 Apr 26  2019 /boot/vmlinuz-0-rescue-d026443091424a74948f9f62d2adb9b5
-rwxr-xr-x. 1 root root 7868768 Jun 19  2019 /boot/vmlinuz-0-rescue-ec2b9a54dc859388d7bc348e87df5332
-rwxr-xr-x. 1 root root 8106848 Nov 11 13:07 /boot/vmlinuz-4.18.0-147.0.3.el8_1.x86_64
-rwxr-xr-x. 1 root root 7876960 Sep 15  2019 /boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64
-rwxr-xr-x. 1 root root 7881056 Jul 26  2019 /boot/vmlinuz-4.18.0-80.7.2.el8_0.x86_64

2. Используйте команду grubby, когда вы определились, с какого ядра загружаться:

# grubby --set-default [kernel-filename]

Например:

# grubby --set-default boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64

Способ 2 – загрузка со старого ядра с использованием индекса

1. Перечислите доступные имена файлов ядра, доступные в вашей системе:

# ls -l /boot/vmlinuz-*
-rwxr-xr-x. 1 root root 7872864 Apr 26  2019 /boot/vmlinuz-0-rescue-d026443091424a74948f9f62d2adb9b5
-rwxr-xr-x. 1 root root 7868768 Jun 19  2019 /boot/vmlinuz-0-rescue-ec2b9a54dc859388d7bc348e87df5332
-rwxr-xr-x. 1 root root 8106848 Nov 11 13:07 /boot/vmlinuz-4.18.0-147.0.3.el8_1.x86_64
-rwxr-xr-x. 1 root root 7876960 Sep 15  2019 /boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64
-rwxr-xr-x. 1 root root 7881056 Jul 26  2019 /boot/vmlinuz-4.18.0-80.7.2.el8_0.x86_64

2. Для просмотра индекса любого из перечисленных выше ядер:

# grubby --info [kernel-filename] | grep index

Например:

# grubby --info /boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64 | grep index
index=1

3. Теперь, когда вы знаете индекс ядра, с которого хотите загрузиться, используйте команду:

# grubby --set-default-index=[kernel-entry-index]

Например:

# grubby --set-default-index=1

 

You may also like

1 comment

Никита 07.05.2020 - 22:56

Система управления пакетами Red Hat поддерживает сохранение нескольких версий ядра, чтобы можно было загрузить старую версию ядра в случае возникновения проблем с самой новой.

Reply

Leave a Comment