我安装麒麟系统后想要通过纯命令行来安装NVIDIA驱动,然后无法正常进入到纯命令行,进纯命令行时一直不停地弹上面的字符。
我首先采用了Ctrl+Alt+F2(F2~F6)进入纯命令行,都是像上图一样不停地弹字符,然后我就尝试关闭图形界面显示器,
sudo systemctl stop lightdm
也无效。
然后我尝试了下面的第一个解决方法尝试:
方法一:
1. 强制进入单用户/救援模式
重启机器,在 GRUB 菜单界面:
-
选中内核条目,按
e
进入编辑 -
找到以
linux
开头的那一行,末尾追加:
systemd.unit=multi-user.target
-
按
Ctrl+X
启动
这样系统会绕过 graphical.target,直接进入命令行模式(不会刷屏)。
进去后,你就能执行:
sudo systemctl set-default multi-user.target
来永久改成文本模式启动。
要恢复图形界面时再:
sudo systemctl set-default graphical.target
我按照这个方法进行操作了,最后发现还是不停地弹字符,这个方法对我的电脑无效,我尝试了方法二。
方法二:
把 systemd.unit=multi-user.target
加到 GRUB 里还是在刷屏,那多半不是 LightDM 自己的问题,而是有内核/服务在不停往控制台打日志(常见:NVIDIA/nouveau 显卡驱动、某个失败的 systemd 服务、或 journald 转发到控制台)。下面使用“强制静默 + 最小化启动 + 排查并屏蔽源头”的步骤——一步一步做就能把机器拉回可操作状态。
1、用更“狠”的内核参数进极简救援壳
重启 → 进 GRUB 菜单,选中当前内核按 e
,找到以 linux
开头那行,在行尾追加这些参数(空格分隔):
systemd.unit=emergency.target loglevel=1 systemd.show_status=false rd.systemd.show_status=false quiet plymouth.enable=0
说明
emergency.target
比 multi-user 还“干净”,几乎不启动服务,能避开循环重启/刷屏源头。
loglevel=1
+show_status=false
强制沉默大部分启动输出。
plymouth.enable=0
关启动动画,避免花屏/切虚拟终端卡住。
按 Ctrl+X
启动。正常的话,你会直接拿到 root 的紧急壳(单用户,无刷屏)。
如果仍然刷屏,改用更极端的办法:在同一位置把整串改为(或再追加):
init=/bin/bash nomodeset
init=/bin/bash
让内核启动后直接进 bash(比 emergency 还早),nomodeset
可屏蔽显卡驱动导致的刷屏(尤其装过 NVIDIA/驱动冲突时很有用)。
2、进壳后先“让它安静”
1)让根分区可写:
mount -o remount,rw /
2)立刻把内核控制台日志级别调到最低(当前会话立即生效):
dmesg -n 1
3)永久降低控制台日志级别(重启也生效):
printf "kernel.printk = 3 3 3 3\n" > /etc/sysctl.d/99-quiet.conf
sysctl --system
4)确保 journald 不往控制台狂刷(若文件不存在就创建):
sed -i 's/^#\?ForwardToConsole=.*/ForwardToConsole=no/' /etc/systemd/journald.conf
sed -i 's/^#\?TTYPath=.*/TTYPath=/' /etc/systemd/journald.conf
systemctl restart systemd-journald || true
3、先用纯命令行启动,屏蔽明显的“罪魁祸首”
设置默认启动到文本模式,并临时禁用显示管理器:
systemctl set-default multi-user.target
systemctl mask lightdm.service display-manager.service
如果你之前装/试过 NVIDIA 驱动(你此前确实遇到过相关错误),强烈建议先把可疑显卡驱动禁掉,以免它在控制台刷错误:
方式 A:开机参数(推荐)
在 GRUB 那行末尾再加:
nomodeset modprobe.blacklist=nouveau,nvidia,nvidia_drm,nvidia_modeset
4、重启到干净 TTY,并定位真正在“刷”的服务
重启:
reboot
此时应进入干净的 TTY 登录界面(multi-user.target)。
5、确认一切稳定后,再决定是否恢复图形界面(我是先在纯命令行安装好NVIDIA驱动后才回复图形界面的)
当纯 TTY 稳定、无刷屏后,如果需要 GUI:
sudo systemctl unmask lightdm.service display-manager.service
sudo systemctl set-default graphical.target
sudo systemctl enable --now lightdm
通过以上操作后,我的电脑就可以正常进入到纯命令行了,就不再存在字符刷屏的情况了。