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的讨论。
gettyfrom 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也可能是罪魁祸首。好提示。