linux/grub2:捕获启动错误以供后续分析?

linux/grub2:捕获启动错误以供后续分析?

grub2我在我的Linux系统下运行4.15.0-30-generic x86_64

每次我启动并在 grub 菜单中选择此系统的条目(或任何其他系统的条目)时,都会有一两个记录的启动消息屏幕快速闪过,然后屏幕在大约 1 秒后变黑,然后启动序列永久挂起。

我唯一能成功启动的方法如下:

  1. 重启我的系统
  2. (recovery mode)在 grub 的菜单中选择系统的条目。
  3. 当恢复菜单出现时,选择resume

在此基于恢复的启动序列中,我可以在恢复屏幕之前和之后看到大量启动消息。控制台从未空白,并且启动始终成功。

由于失败启动的日志数据滚动得如此之快,我无法在屏幕变黑之前读到它。而且由于我只能通过后续的基于恢复的重启进入系统,所以当dmesg我登录时,上一次启动的条目已经消失了。所以我不知道如何诊断这个问题。

以下是我的/etc/default/grub文件的内容...

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.15.0-30-generic (recovery mode)"
#GRUB_HIDDEN_TIMEOUT="5"
##GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_HIDDEN_TIMEOUT_QUIET=""
GRUB_TIMEOUT="15"
GRUB_TIMEOUT_STYLE="menu"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL="console"

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE="640x480"

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID="true"

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

GRUB_SAVEDEFAULT="false"

谢谢任何人提供的见解。

答案1

根据这篇文章,我找到了如何解决我的启动问题的方法...... 为什么我的机器启动时没有显示任何内容?

默认情况下,nomodeset用于恢复菜单条目,但不用于非恢复。添加nomodeset到非恢复启动条目解决了我的启动顺序挂起的问题...

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"

但是,我还是想知道如何调试挂起并显示空白屏幕的启动顺序。有没有办法让 grub 的日志消息转到可以在后续启动会话中查看的文件中,以便我可以查看它们以查看可能导致启动问题的原因?

有什么想法吗?

相关内容