这个问题的根源分析及解决办法:
1.显卡驱动问题
问题很大,基本会有比这个现象更复杂的问题出现。
2.GRUB配置问题
问题的核心根源,关于显卡驱动在GUI与CLI的匹配和兼容性问题,修改/etc/default/grub (Ubuntu环境GRUB 2为例)。
确保没有低级别的明显配置错误
取消GRUB_TERMINAL=console行的注释,让其生效
场景1:
不知道搞错了什么东西,突然间Ctrl+Alt+F1-6都不工作了,只有F7的图形界面正常工作。
不工作的显示效果是:
1.切换有闪屏的动作(说明键盘映射没问题,且正常触发了切换操作)
2.tty进程没有任何问题(ps -ef | grep tty可以正常显示每次激活的tty进程)
3.切换后屏幕不是一般故障时的那种“黑屏”或“终端屏幕”,而是Ubuntu特有的紫色屏幕(Purple Screen,GUI级别像素)
查遍网络,各种解释都有,集中下来有两个解释比较靠谱,也是典型的错误:
1.驱动有问题
2.Grub配置了错误的启动分辨率,导致GUI与CLI分辨率冲突
我查了一下以上两个问题都没有。
因为我可以正常运行所有的F7图形操作,而且切换到F1-6也是图形像素级别,说明显卡没有问题,而且工作的非常好(哈哈)。
Grub我一直是默认的,没有增加过参数。唯一做过的一次操作是之前调整系统启动过程,由GUI转变为CLI(操作步骤见之前的文章)。
无奈,只能使用尝试法,先做最简单的Grub。
当修改Grub的时候才发现,之前做“GUI转变为CLI”操作的时候,复制了一行做备份,结果调整了几次后忘记删除了:
Grub错误配置
多了上述最后一行GRUB_CMD_LINUX="",注释掉这一行,update-grub再重启就恢复正常了。
这个问题其实还挺诡异的,以后可以作为恶作剧使用,没有任何其他故障现象,网上也没有任何相关解释。
场景2
上述的问题通过修改GRUB到正常的状态已经基本OK了,为什么说基本呢。现在又出现了类似的问题,而且是多次校对GRUB没有配置上的问题。目前能找到的资料都基本无解,定义为可能是显卡驱动问题。
关键是没有任何方法和思路去Troubleshooting这个问题,无法定位。伤心
目前尝试的方法是修改/etc/default/grub文件,取消GRUB_TERMINAL=console行的注释,让其生效。试用了一段时间,没有再发生过:
GRUB配置文件,修改最后一行