ubuntu 16.04后如何通过改grub2直接启动进入命令行模式?

启动讨论 grub/grub2/syslinux/grub4dos/Lilo
回复
leslielg
帖子: 125
注册时间: 2008-08-30 10:52

ubuntu 16.04后如何通过改grub2直接启动进入命令行模式?

#1

帖子 leslielg » 2017-04-23 8:50

比如grub2里有多条启动方案,一个是进入图形模式,另外一个想直接进入命令行模式,要如何通过传入不同的参数来实现这一点?

系统是ubuntu 16.04
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: ubuntu 16.04后如何通过改grub2直接启动进入命令行模式?

#2

帖子 poloshiao » 2017-04-23 9:06

一个是进入图形模式,另外一个想直接进入命令行模式,
1. 這句話 描述得 不夠精確 猜不中你的問題

2. 如果你希望 開機以後 是 進入 tty1 ~ tty6 而不是 進入 tty7 ~ tty12

2-1. 方法一 在 grub 2 開機選單 修改開機參數 GRUB_GFXPAYLOAD_LINUX 為 'text'
2-1-1. http://mcs.une.edu.au/doc/grub2-tools/g ... figuration
‘GRUB_GFXPAYLOAD_LINUX’
Set to ‘text’ to force the Linux kernel to boot in normal text mode
2-1-2. http://mcs.une.edu.au/doc/grub2-tools/g ... figuration
使用 text 關鍵字 搜尋 其它配合設定

2-2. 方法二 使用 systemctl 指令 (Ubuntu 16.04 及 以後版本 適用)
viewtopic.php?p=3172864#p3172864
sudo systemctl set-default multi-user.target
重開機
leslielg
帖子: 125
注册时间: 2008-08-30 10:52

Re: ubuntu 16.04后如何通过改grub2直接启动进入命令行模式?

#3

帖子 leslielg » 2017-04-23 9:18

poloshiao 写了:
一个是进入图形模式,另外一个想直接进入命令行模式,
1. 這句話 描述得 不夠精確 猜不中你的問題

2. 如果你希望 開機以後 是 進入 tty1 ~ tty6 而不是 進入 tty7 ~ tty12

2-1. 方法一 在 grub 2 開機選單 修改開機參數 GRUB_GFXPAYLOAD_LINUX 為 'text'
2-1-1. http://mcs.une.edu.au/doc/grub2-tools/g ... figuration
‘GRUB_GFXPAYLOAD_LINUX’
Set to ‘text’ to force the Linux kernel to boot in normal text mode

2-2. 方法二 使用 systemctl 指令 (Ubuntu 16.04 及 以後版本 適用)
viewtopic.php?p=3172864#p3172864
sudo systemctl set-default multi-user.target
重開機
你写的方法2-1是ubuntu 16.04之前的,16.04后已经不能用了,你写的方法2-2会让“一个是进入图形模式”的grub菜单无法进入图形模式
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: ubuntu 16.04后如何通过改grub2直接启动进入命令行模式?

#4

帖子 poloshiao » 2017-04-23 9:25

你写的方法2-1是ubuntu 16.04之前的,16.04后已经不能用了,
1. 請提供 不能使用的說法 的網頁網址
你写的方法2-2会让“一个是进入图形模式”的grub菜单无法进入图形模式
2. 进入图形模式
viewtopic.php?p=3172864#p3172864
sudo systemctl set-default graphical.target
重開機
leslielg
帖子: 125
注册时间: 2008-08-30 10:52

Re: ubuntu 16.04后如何通过改grub2直接启动进入命令行模式?

#5

帖子 leslielg » 2017-04-23 9:35

poloshiao 写了:
你写的方法2-1是ubuntu 16.04之前的,16.04后已经不能用了,
1. 請提供 不能使用的說法 的網頁網址
你写的方法2-2会让“一个是进入图形模式”的grub菜单无法进入图形模式
我之前搜到过这个方法,给kernel传入text参数,试了之后发现不起作用,网上也是一样的现象

2. 进入图形模式
viewtopic.php?p=3172864#p3172864
sudo systemctl set-default graphical.target
重開機
你可能没明白我的想法,我希望grub里有这样两个item:
1.进入图形模式
2.进入命令行模式

systemctl的设置对grub的所有item都一样了
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: ubuntu 16.04后如何通过改grub2直接启动进入命令行模式?

#6

帖子 poloshiao » 2017-04-23 10:56

我希望grub里有这样两个item:
1.进入图形模式
2.进入命令行模式
systemctl的设置对grub的所有item都一样了
1. 方法還是有的 例如
1-1. viewtopic.php?p=3172864#p3172864
sudo systemctl isolate graphical.target
启动登录界面(dm)。登录进哪个桌面环境在登录界面(dm)中选择。具体选择方法与使用的 dm 有关。
1-2. https://askubuntu.com/a/435322
Switching between console and GUI in ubuntu
1-3. 開機進行到 輸入密碼的 lightdm 登入畫面
按下 ctrl + alt + F1
登入 tty1
sudo systemctl stop lightdm
關閉 tty7
1-3-1. 要再回到 tty7
sudo systemctl start lightdm

2. 補充
grub 2 開機選單 會受到 Linux kernel 更新的影響
上述方法 不受到 Linux kernel 更新的影響
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: ubuntu 16.04后如何通过改grub2直接启动进入命令行模式?

#7

帖子 vickycq » 2017-04-23 11:07

您可以为进入命令行模式的 GRUB 条目添加内核参数 systemd.unit=multi-user.target
以后选择此条目即可进入 multi-user.target,其它条目不受影响,仍然进入 graphical.target
亲测有效

参考 https://www.freedesktop.org/software/sy ... -line.html
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
leslielg
帖子: 125
注册时间: 2008-08-30 10:52

Re: ubuntu 16.04后如何通过改grub2直接启动进入命令行模式?

#8

帖子 leslielg » 2017-04-23 11:20

vickycq 写了:您可以为进入命令行模式的 GRUB 条目添加内核参数 systemd.unit=multi-user.target
以后选择此条目即可进入 multi-user.target,其它条目不受影响,仍然进入 graphical.target
亲测有效

参考 https://www.freedesktop.org/software/sy ... -line.html
我尝试一下,@vickycq看到你很多回复都非常准确明了,我另外有个帖子在尝试linux to go,你有什么这方面的经验吗?

viewtopic.php?f=77&t=483609

目前的状态是ubuntu 16.04和mint18已经基本被否定可以完成linux to go,我正在安装opensuse lead 42.2 KDE桌面,还不知结果。
最大的问题是当硬件变动后,比如显卡,cpu,声卡的变动,ubuntu似乎仍然尝试沿用之前的硬件配置而导致无法进入图形界面,而不是检测到硬件的变化换为使用安装ubuntu时那套通用驱动
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: ubuntu 16.04后如何通过改grub2直接启动进入命令行模式?

#9

帖子 vickycq » 2017-04-23 14:35

leslielg 写了:最大的问题是当硬件变动后,比如显卡,cpu,声卡的变动,ubuntu似乎仍然尝试沿用之前的硬件配置而导致无法进入图形界面,而不是检测到硬件的变化换为使用安装ubuntu时那套通用驱动
前段时间换了台电脑,但不想重做系统。于是把安装 Debian 的旧电脑硬盘拔下来插在新电脑上,可以直接使用。
这篇文章可以参考:https://linuxtoy.org/archives/small-tes ... ation.html
leslielg 写了:一个实用场景就是,我在家里电脑是nvidia的显卡,主要用来打游戏,到公司要用虚拟机跑u盘上的linux,或者真机上是ATI的显卡,要能自动加载相应的驱动。其他硬件的驱动类似。
开源驱动的话,完全不用管。闭源驱动恐怕很难实现。不过打游戏应该是要闭源驱动的。其它硬件驱动同理,如果是内核自带的开源驱动,完全不用管。闭源驱动就够呛了。
leslielg 写了:我又重装了ubuntu 16.04(unity 桌面),真机运行装好nvidia驱动后,换用虚拟机启动,完全进不了unity桌面
这里有两个基本路线错误:一是使用 NVIDIA 闭源驱动,二是使用 Unity 桌面。
闭源驱动本身是个黑箱子,安装闭源驱动时是否会检测显卡型号,并在内部创建一个“固定”的配置呢?由于闭源驱动的封闭性,恐怕很难得知。换句话说,我们也许可以通过一些小技巧,让 Linux 系统在新硬件环境中仍然加载闭源驱动,但闭源驱动自身认不认新显卡呢?这就难说了。
Unity 桌面重度依赖 3D 加速,稍微出一点岔子就不能启动了。如果是 xfce/lxde 一类“普通”桌面环境,相信结果会有所不同。
另外实机系统移入虚拟机是否需要特殊关照有待确认。有条件可用两台实机测试。
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
leslielg
帖子: 125
注册时间: 2008-08-30 10:52

Re: ubuntu 16.04后如何通过改grub2直接启动进入命令行模式?

#10

帖子 leslielg » 2017-04-23 15:38

vickycq 写了:
leslielg 写了:最大的问题是当硬件变动后,比如显卡,cpu,声卡的变动,ubuntu似乎仍然尝试沿用之前的硬件配置而导致无法进入图形界面,而不是检测到硬件的变化换为使用安装ubuntu时那套通用驱动
前段时间换了台电脑,但不想重做系统。于是把安装 Debian 的旧电脑硬盘拔下来插在新电脑上,可以直接使用。
这篇文章可以参考:https://linuxtoy.org/archives/small-tes ... ation.html
leslielg 写了:一个实用场景就是,我在家里电脑是nvidia的显卡,主要用来打游戏,到公司要用虚拟机跑u盘上的linux,或者真机上是ATI的显卡,要能自动加载相应的驱动。其他硬件的驱动类似。
开源驱动的话,完全不用管。闭源驱动恐怕很难实现。不过打游戏应该是要闭源驱动的。其它硬件驱动同理,如果是内核自带的开源驱动,完全不用管。闭源驱动就够呛了。
leslielg 写了:我又重装了ubuntu 16.04(unity 桌面),真机运行装好nvidia驱动后,换用虚拟机启动,完全进不了unity桌面
这里有两个基本路线错误:一是使用 NVIDIA 闭源驱动,二是使用 Unity 桌面。
闭源驱动本身是个黑箱子,安装闭源驱动时是否会检测显卡型号,并在内部创建一个“固定”的配置呢?由于闭源驱动的封闭性,恐怕很难得知。换句话说,我们也许可以通过一些小技巧,让 Linux 系统在新硬件环境中仍然加载闭源驱动,但闭源驱动自身认不认新显卡呢?这就难说了。
Unity 桌面重度依赖 3D 加速,稍微出一点岔子就不能启动了。如果是 xfce/lxde 一类“普通”桌面环境,相信结果会有所不同。
另外实机系统移入虚拟机是否需要特殊关照有待确认。有条件可用两台实机测试。
感谢回答。

1. systemd.unit=multi-user.target 添加到grub的kernel参数中测试有效
2. 对于linux to go,我现在在u盘安装了mint18,全部用开源驱动,用真机和虚拟机都可以正常启动到图形界面,不用做任何更改。
3. 真机上测试了下开源显卡驱动和u盘磁盘读写性能(sandisk cz880 128GB),steam的一些游戏能够流畅运行(试了LIMBO和Amnesia:The Dark Descent)
回复