我正在我的盒子上安装Debian Wheezy(7.0rc1).由于我不会进入这里的原因,我不希望在启动期间(也不是之后)将帧缓冲区用于控制台显示.为避免这种情况,我补充说:
GRUB_TERMINAL=console GRUB_GFXPAYLOAD_LINUX=keep
到/ etc / default / grub.事实上,我在grub中获得文本模式,并且在启动时的前几秒.但是,控制台切换到那个地狱帧缓冲! :
[ 4.407402] Console: switching to colour frame buffer device 128x48 [ 4.408544] fb0: nouveaufb frame buffer device
(这是/ var / log / dmesg的摘录.)
我无法在/etc/init.d脚本中的任何地方找到它的踪迹.我想也许它与内核模块加载有关 – 我在/ etc / modules或/etc/modprobe.d中找不到任何有趣的东西.
那么,何时/何地发生?我怎样才能避免这种转变?
解决方法
(基于
@MichaelHampton’s answer)
显然,即使在init process运行之前,Linux内核也会设置显示模式.现在,内核从引导加载程序中获取parameters – 所以要做的是设置参数,告诉它不要切换显示模式.然而,这不是全部故事:在设置了显示模式之后,还有一个字体设置,它本身就会破坏你的显示器;在Debian Wheezy上,这是由/etc/init.d/console-setup完成的,所以你还必须考虑它的作用.
为了更加协调一致,你应该做的是以下几点:
>在/ etc / default / grub中,添加该行
GRUB_CMDLINE_LINUX="nomodeset"
或者,如果您已经有GRUB_CMDLINE_LINUX设置,请将nomodeset附加到它.
>在/ etc / default / console-setup中,替换
FONTFACE="Fixed"
同
FONTFACE="VGA"
或者,不要在rcS unlevel中运行/etc/init.d/console-setup(例如使用update-rc.d命令).
据我所知,“VGA”字体与您原本应该拥有的字体相同,因此如果选择此字体,字体的更改不会产生任何影响.但是,我并不完全确定这是普遍正确的,所以也许你最好完全避免字体改变.