如何在Ubuntu中启动控制台模式

我想知道是否有一种方法可以从启动菜单切换到控制台模式。我有一块NVIDIA 1070显卡,每次更新后,图形用户界面都无法工作。我只需要重新安装驱动程序,但为此我需要进入控制台模式。

编辑:我应该在这个问题中添加更多信息,但我会对所有答案进行评论。简单来说:我尝试了将quiet splash替换为text,在文本模式下我看到了启动活动;然而,我没有得到登录屏幕,Ctrl + Alt + F1也没有帮助,因为GDM不断尝试重新启动。以前我通过多次尝试成功关闭了GDM,但自从最新的更新后就不起作用了。

编辑:在搜索运行级别(runlevel)时,我找到了如何在systemd上更改运行级别?,但我认为这需要我有一个正在运行的系统才能进行更改 -- 如果我错了,请纠正我。


9你试过在启动选项中添加一个3吗(将quiet splash改为quiet splash 3)? - muru
我会试一下,基本上只需要将quiet splash改成quiet splash 3对吗? - wisemonkey
太棒了,非常感谢!这正是我一直在寻找的。我想知道是否有办法让NVidia(专有)驱动程序在每次内核更新后能正确配置。但即使不能,这也会对我有所帮助。你可以将它作为答案添加进来,我会接受的。 - wisemonkey
1最正确的答案在这里:https://superuser.com/a/1139020/403009 - Eric
4个回答

可以的。如此处所述(ubuntuhandbook.org - Boot into text console ubuntu),您需要编辑/etc/default/grub,以使下一次启动进入文本模式。总结起来,您将设置以下参数:
GRUB_CMDLINE_LINUX_DEFAULT="text"
GRUB_TERMINAL=console

保存更改后,您需要运行:
sudo update-grub
sudo systemctl enable multi-user.target --force
sudo systemctl set-default multi-user.target

撤销文本模式

要撤销sudo systemctl set-default multi-user.target,只需键入

sudo systemctl enable graphical.target --force
sudo systemctl set-default graphical.target 

1有没有办法默认显示登录终端(就像旧时的init 3那样)?使用ctrl+alt+f1的问题是GDM会不断尝试启动,我无法进入控制台。 - wisemonkey
你有尝试过答案中描述的 grub 方法吗? - WinEunuuchs2Unix
我无法登录系统来编辑/etc/default/grub - wisemonkey
2@wisemonkey 我已经更新了答案,使用Live DVD/USB手动更新grub。 - WinEunuuchs2Unix
8这在Ubuntu 15.04及更高版本上似乎不起作用(我尝试了16.04 LTS)。在修复grub文件并运行update-grub之后,一个关键的步骤是执行:sudo systemctl set-default multi-user.target - 只有这样,它才会直接启动到控制台。这是来自你提供的链接中@yury的解决方案的评论。 - f055
谢谢@f055,这对我也有用,在我尝试使用gnome和unity之后,我的16.04出现了一些问题,但在使用xfce一段时间后,问题得到了解决。 - Juha Untinen
等一下...我要怎么撤销这个操作? - HerpDerpington
2在Ubuntu 18.04上,撤销功能无法正常工作,我也想知道如何正确恢复此更改,以免每次启动都需要输入startx。提前感谢! - hullunist
尝试这个,在我上电脑后我会将答案更新在这里:https://unix.stackexchange.com/questions/520045/startx-not-automatically-running-on-reboot - WinEunuuchs2Unix
@hullunist 我已经更新了答案 - WinEunuuchs2Unix

进入恢复模式
在计算机启动时,当主板/计算机制造商的标识屏幕出现时,立即按住Shift键(对于BIOS),这将带出一个GNU GRUB菜单屏幕。对于UEFI,按Esc键(可能需要按几次)以进入GNU GRUB菜单屏幕。有时,制造商的标识屏幕是Windows引导加载程序的一部分,所以当您开机时,它会直接进入GNU GRUB菜单屏幕,然后按Shift键是不必要的。
按住左Shift键的时机可能很困难,所以如果你错过了,有时候需要再试一次。如果这样不起作用,请尝试我无法在启动时显示GRUB菜单的解决方法中的答案。
您将看到一个类似于这样的GNU GRUB菜单屏幕。选择Ubuntu的高级选项并按Enter键。

enter image description here

一个新的紫色屏幕将出现,显示一个内核列表,其中包括正常启动内核或恢复模式的选项。

enter image description here

按下箭头键,直到选择顶部的第二个条目(带有描述中的恢复模式),然后按两次“Enter”键。
现在您应该看到此恢复菜单:

recovery menu

使用箭头键向下滚动到“网络”(恢复菜单中从底部开始的第三个条目),然后按下“Enter”键。
使用箭头键向下滚动到“root”(恢复菜单中从底部开始的第二个条目),然后按下“Enter”键。
现在您应该看到一个root提示符,可以从中运行命令。 lightdm之所以被称为lightdm,是因为它与GDM相比是一个轻量级应用程序,加载时间更长。如果您仍然安装了lightdm,可以使用以下命令将其切换回作为默认登录显示管理器:dpkg-reconfigure gdm3。这将打开一个新窗口,允许您选择gdm3或lightdm作为默认登录显示管理器。
使用命令“reboot”重新启动计算机。
之后,键盘快捷键Ctrl+Alt+F3可能会正常工作,并允许您从控制台启动Ubuntu。
从虚拟控制台启动Ubuntu。
  1. 使用键盘快捷键 Ctrl+Alt+F3 打开一个仅文本的虚拟控制台。

  2. login: 提示符处输入您的用户名并按下 Enter

  3. Password: 提示符处输入您的用户密码并按下 Enter

  4. 现在您已经登录到一个仅文本的控制台,可以从控制台运行终端命令。要重新启动系统,请运行命令:sudo reboot。按下键盘快捷键 Ctrl+Alt+F7 退出虚拟控制台。在 Ubuntu 17.10 及更高版本中,按下键盘快捷键 Ctrl+Alt+F2 退出虚拟控制台。

    在终端中登录后,键入 sudo systemctl start graphical.target 并按下 Enter,以显示默认的登录屏幕,然后像往常一样登录到您的 Ubuntu 桌面环境。


有没有办法默认显示登录到终端(就像旧时的init 3),使用ctrl+alt+f1的问题是GDM不断重试启动,我无法进入控制台。 - wisemonkey
我通过编辑我的回答来回复了你的评论。 - karel
谢谢Karel,但这假设我可以以某种方式启动系统。这正确吗?有没有办法在不登录的情况下执行“sudo dpkg-reconfigure gdm”命令? - wisemonkey
这个不再起作用了 sudo dpkg-reconfigure gdm-> package gdm is not installed(ubuntu 16.04)。而且 sudo dpkg-reconfigure lightdm 没有任何效果。 - Robert
@Robert 你说的部分正确。我提到gdm的原因是在问题中提到了gdm,因此我需要在我的回答中解决它。然而,如果你在Ubuntu 16.04中运行命令 apt policy gdm,你会看到gdm确实是默认Ubuntu 16.04存储库中的一个包。 - karel
@karel 抱歉,但是目前我无法确定gdm是否存在。我只是试图阻止我的x11进程失控(启动和崩溃了一千次以上),导致Ubuntu无法使用。有没有建议如何在启动时禁用x11? - Robert
Ubuntu 15.04服务器-如何阻止X在启动时自动启动 - karel

按下CTRL+ALT+F1或其他功能(F)键,最多到F7,将带您回到“GUI”终端。每个不同的功能键都应将您放入文本模式终端。
否则,如果需要,您可以启动恢复模式:

https://wiki.ubuntu.com/RecoveryMode

基本上,在启动时按住SHIFT键,即可进入Grub菜单。

3有没有办法默认显示登录终端(就像旧时代的init 3),ctrl+alt+f1的问题是GDM不断重试启动,我无法进入控制台。而且对于恢复模式,如果我选择清除启动,结果也是一样的。我会研究其他恢复模式,看看它们是否有帮助。 - wisemonkey
这是我过去一直做的事情,但在Ubuntu 19.10中不再起作用了。现在Ctrl+Alt+F2-6只会带你进入一个黑屏,而Ctrl+Alt+F1实际上是登录管理器。对于新版本有什么想法吗? - Joseph Garvin

编辑/etc/default/grub使我得到了需要以恢复模式启动的引导菜单。

以下是我的步骤:

  1. 编辑/etc/default/grub并将GRUB_TIMEOUT设置为-1文档还提到您需要注释掉任何关于GRUB_HIDDEN_TIMEOUT的设置)。这将允许引导菜单弹出并停留在那里,直到您采取操作。
  2. 运行sudo update-grub以使更改生效。
  3. 重新启动并在Grub菜单中选择恢复模式选项。