Answers:
大多数时候,你想将在信息/var/log/dmesg
和/var/log/messages
系统启动后,应先检查这些文件。
通常,Linux机器为虚拟终端运行mingetty。如果您有传统的sysv初始化系统,则这些文件由来控制/etc/inittab
。您可以将--noclear
选项添加到mingetty以防止清除屏幕。为此,请编辑/etc/inittab
并更改以下行:
1:2345:respawn:/sbin/mingetty tty1
至
1:2345:respawn:/sbin/mingetty --noclear tty1
然后重启机器。
一些较新的linux发行版使用init替代品,例如Upstart(例如Ubuntu)。这些通常不使用/ etc / inittab,而是使用其他一些配置文件。这是关于如何在Ubuntu上调用mingetty的讨论。
getty
from util-linux
,而不是mingetty
,但这也适用于Debian。谢谢!
与系统化的事物不同。请参阅停止清除My God Damned Console文章。简而言之:
mkdir /etc/systemd/system/getty@.service.d
cat >/etc/systemd/system/getty@.service.d/noclear.conf <<EOF
[Service]
TTYVTDisallocate=no
EOF
systemctl daemon-reload
验证结果 systemctl cat getty@tty1.service
经过数小时的谷歌搜索,我在此线程和此问题中找到了解决方案。此过程也适用于此处Ubuntu 12.04.1 LTS
所述,但是对于其他发行版,它应该相差不大。
首先,添加console=tty1
到您的GRUB_CMDLINE_LINUX
(我也建议添加noplymouth
抑制plymouth
及其无用的启动画面)。
#> sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX="console=tty1 noplymouth"
这将强制打印内核日志,tty1
而不是打印日志,tty7
并避免tty
在登录提示之前进行切换。
然后,只需进入/etc/init
和编辑的一种或多种tty1.conf
,tty2.conf
,tty3.conf
,tty4.conf
,tty5.conf
,tty6.conf
或console.conf
。我将它们全部添加--noclear
到getty
命令中。例如,编辑tty1.conf
:
#> sudo vi /etc/init/tty1.conf
您必须更换:
respawn
exec /sbin/getty -8 38400 tty1
与:
respawn
exec /sbin/getty -8 38400 --noclear tty1
就是这样,现在您的系统应该一次启动tty
而不清除它。
dmesg
这里回到内核的最开始,从
[ 0.000000] Initializing cgroup subsys cpuset
也许这是一些BIOS消息或您的引导程序的一部分?无论哪种方式,都有很多不同的东西可以使屏幕空白,而又不知道在过程中到底发生了什么,所以很难说要怎么做。屏幕上仅剩下“登录:”吗?还是上面有其他启动内容?如果紧接在登录提示之前,并且屏幕上没有其他任何内容,那么其中是否可能/etc/issue
存在屏幕空白命令?否则,您可能会使用某种控制台帧缓冲区来切换视频模式。在我的计算机上,加载控制台字体后,屏幕变为空白。
/etc/issue
也可能是罪魁祸首。好提示。