Linuxを起動すると、すぐに消去される行が1つまたは2つある場合があります。 dmesgに表示されないものもあると思います。それ以外の場合は、「ログイン:」プロンプトの前にクリアを抑制したいと思います。起動後にコンソール画面で読み取れるように、これを防ぐために設定できるカーネルコマンドまたはsysctlはありますか?
必要な情報のほとんどは、システムの起動後に/var/log/dmesg
および/var/log/messages
にあります。最初にこれらのファイルを確認する必要があります。
通常、Linuxマシンは仮想端末に対して mingetty を実行します。従来のsysv initシステムがある場合、それらは/etc/inittab
によって制御されます。 --noclear
オプションをmingettyに追加して、画面がクリアされないようにすることができます。これを行うには、/etc/inittab
を編集して次の行を変更します。
1:2345:respawn:/sbin/mingetty tty1
に
1:2345:respawn:/sbin/mingetty --noclear tty1
次に、マシンを再起動します。
一部の新しいLinuxディストリビューションでは、Upstart(Ubuntuなど)のようなinit置換を使用しています。これらは通常/ etc/inittabを使用せず、代わりに他の設定ファイルを使用します。これが buntuでmingettyを呼び出す方法の議論 です。
Systemdでは物事が異なります。記事 My God Damned Consoleのクリアを停止 を参照してください。要するに:
mkdir /etc/systemd/system/[email protected]
cat >/etc/systemd/system/[email protected]/noclear.conf <<EOF
[Service]
TTYVTDisallocate=no
EOF
systemctl daemon-reload
systemctl cat [email protected]
で結果を確認します
他に何も役に立たない場合は、ラップトップを入手して、次のようなものをカーネルパラメータに追加することにより、シリアルコンソールを通じてすべてのカーネルログをキャプチャできます。
console=tty0 console=ttyS0,9600n8 console=tty0
これにより、シリアルコンソール(ターミナルプログラム内)と標準のttyに出力が表示されます。 SOL(Serial Over LAN)が利用できる場合もあります。
グーグルで何時間も過ごした後、私は this thread および this question で解決策を見つけました。この手順は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
の1つ以上を編集しますまたはconsole.conf
。 getty
コマンドに--noclear
オプションを追加してすべて編集しました。たとえば、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メッセージかブートローダーの一部ですか?いずれにせよ、画面の何処に起こっているのかを正確に知らなくても、画面をブランクにすることができるものはたくさんあります。画面に残っているのは「Login:」だけですか?または、その上に他の起動項目がありますか?ログインプロンプトの直前で、画面に他に何もない場合は、おそらく/etc/issue
には画面消去コマンドがありますか?それ以外の場合は、ビデオモードを切り替えるコンソールフレームバッファを使用している可能性があります。私のコンピューターでは、コンソールフォントが読み込まれると画面が空白になります。