🐧 Как отладить процесс загрузки systemd в CentOS/RHEL 7 и 8

by itisgood

Вопрос: Как отладить/найти изменения или неудачные команды во время процесса загрузки?

1. В процессе загрузки, при появлении загрузочного меню grub нажмите “e” для редактирования grub, затем прокрутите вниз, пока не увидите запись boot:

echo "Loading Linux...
linux16 /vmlinuz-XXX root=XXXro crashkernel=auto rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet LANG=en_US.UTF-8

2. В строке с “linux” удалите следующие записи, если они присутствуют, чтобы получить более подробную информацию при загрузке.

splash=silent quiet showopts

3. Затем добавьте следующие записи, чтобы получить пошаговый результат.

plymouth.enable=0 systemd.confirm_spawn=true systemd.debug-shell=1 systemd.log_level=debug systemd.unit=multi-user.target console=tty1

Где:

  • plymouth.enable=0 будет отключать plymouth bootsplash
  • systemd.confirm_spawn=true запрашивает подтверждение при порождении процессов, таких как интерактивная загрузка.
  • systemd.debug-shell=1 включает оболочку root на консоли 9 (доступна по F9)
  • systemd.log_level=debug включает ведение отладочного журнала
  • systemd.unit=multi-user.target позволяет избежать переключения на консоль 7 для вывода, а ввод остается на консоли 1
  • console=tty1
    позволяет избежать переключения ввода/вывода на консоль 9, где будет подключен bash

4. Как только изменения будут сделаны, сохраните их с помощью “CTRL+x” и загрузка продолжится с этого момента с отладкой verbose systemd.

Примечание: Это временные изменения и не повлияют на следующую загрузку.

см. также:

 

You may also like

Leave a Comment