问题描述
在Ubuntu 12.04(或以上)中,我如何设置GRUB时间和默认操作系统(我在启动时看到),因为我是dual-booting Windows(7/8)和Ubuntu(12.04或更高版本)?
最佳解决思路
-
按
Alt
+F2
,输入gksudo gedit /etc/default/grub
按Enter
并输入您的密码。 -
您将看到以下内容:GRUB_DEFAULT = 0 GRUB_HIDDEN_TIMEOUT = 0 GRUB_HIDDEN_TIMEOUT_QUIET = true GRUB_TIMEOUT = 10 GRUB_DISTRIBUTOR =`lsb_release -i -s 2> /dev /null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT = “quiet splash” GRUB_CMDLINE_LINUX =“”
-
您可以将默认值从0更改为任意数字,对应于Grub启动菜单中的条目(第一条目为0,第二条为1等)
-
您可以更改”hidden timeout”(无菜单);并显示倒计时(
GRUB_HIDDEN_TIMEOUT_QUIET=false
) -
您可以强制grub菜单通过在行的开头用
#
注释掉两个GRUB_HIDDEN
行来显示 -
并设置grub菜单超时(默认为10秒)
-
进行更改,按
Ctrl
+S
保存,Ctrl
+Q
退出 -
重要提示:使用
Ctrl
+Alt
+T
打开一个终端,然后键入sudo update-grub
以应用您刚刚完成的更改 -
重新启动,您应该看到您的超时/默认条目更改
链接问题:
次佳解决思路
如果您在上面的示例(/etc /default /grub)中读取了您正在编辑的文件,您会注意到最初的几行指示您在更改之后运行update-grub
,以便更新grub读取的实际文件“获取它的指令”(/boot/grub/grub.cfg)。请注意,您必须首先使用sudo
命令首先运行它,因为您需要root权限才能实际运行该命令(这就是上述海报所说的键入sudo update-grub
的原因)。这会导致您所做的更改写入/boot/grub/grub.cfg。接下来的几行代码告诉你可以通过输入info -f grub -n 'Simple configuration'
来阅读该文件中选项的完整文档(再次,/etc /default /grub)。
也就是说,如果要将”grub time”设置为不确定,请将GRUB_TIMEOUT设置为-1。换句话说,它永远不会自动启动。你将不得不做出选择。
最后,回答你的问题,下面是直接来自above-referenced文档的那些“grub隐藏行”的描述:
GRUB_HIDDEN_TIMEOUT
Wait this many seconds for a key to be pressed before displaying
the menu. If no key is pressed during that time, boot
immediately. Unset by default.
GRUB_HIDDEN_TIMEOUT_QUIET
In conjunction with `GRUB_HIDDEN_TIMEOUT', set this to `true' to
suppress the verbose countdown while waiting for a key to be
pressed before displaying the menu. Unset by default.
我希望这有帮助!
第三种解决思路
您可以使用名为Grub Customizer的应用程序。这更容易。
你可以通过以下方式安装它
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer
有关于它的How-To Geek文章,How to Configure the Linux GRUB 2 Boot Menu the Easy Way。另外,Ubuntu论坛上有一个解决的线索,Change boot order in GRUB 2提到了这个工具。
以下是该软件的一些屏幕截图:
第四种思路
我跟着第一个答案,但它似乎需要更新,如果你是双启动与Windows 7专业版和Ubuntu 16.04。还要确保BIOS中的安全启动已关闭。
a)首先,他说当我想他打算使用终端窗口时,使用Alt
+ F2
。在我的情况下,它是Ctrl
+ Alt
+ T
。
b)在第一个条目gksudo gedit /etc/default/grub
中,gksudo
命令在Ubuntu 16.04中默认不安装。为了解决这个问题,在终端上执行以下操作:
sudo -i
并按下Enter
,然后输入您的密码,然后重新输入Enter
。
然后键入:
gedit /etc/default/grub
并按Enter
。
c)现在您将看到回答1中所示的grub更改菜单。按照他的回答,直到他到达Ctrl
+ S
以保存更改。这在Ubuntu 16.04中不起作用,但你应该在屏幕的右上角看到一个保存按钮。点击它。
d)Ctrl
+ Q
退出。
e)下一种sudo update-grub
和Enter
f)键入exit
。你需要这样做两次。
g)重新启动
我发现在我的计算机上几次登录后,启动过程不会在启动时显示grub屏幕,因此我无法进入Ubuntu,因为我已将Windows设置为默认启动,延迟时间为7秒,以防我想要进入Ubuntu。
要解决此问题,您需要进入Windows。
-
点击开始菜单并在搜索框中输入
CMD
。 -
右键单击CMD线,该线应位于右键单击所产生的屏幕顶部。
-
点击以管理员身份运行。
-
在命令行上键入
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
。此条目具有在Windows启动管理器中注册grub菜单的效果。 (贷:Grub not showing on startup for Windows 8.1 Ubuntu 13.10 Dual boot) -
最后,我重新启动回窗户。
我希望这有帮助。
参考资料