Bez*_*oso 34 boot grub2 dual-boot
我有一个 Ubuntu - Windows 7 双启动设置,我希望我的笔记本电脑可以启动 Windows 7,除非我在启动后立即按下 Shift 键并调出 Grub2 菜单,我可以从中选择乌班图。
我研究了 Grub2 和选项,etc/default/grub
并尝试使用GRUB_TIMEOUT
和GRUB_HIDDEN_TIMEOUT
值的组合,但无济于事。我尝试设置GRUB_HIDDEN_TIMEOUT
高于GRUB_TIMEOUT
两个倒计时同时开始的想法,但没有 -GRUB_TIMEOUT
只有在另一个完成后才开始。
这种行为可以实现吗?
如果是这样,如何?
小智 16
我想我找到了一个更简单的解决方案。修改文件 /etc/default/grub 中的以下几行:
GRUB_HIDDEN_TIMEOUT= 0.0
GRUB_TIMEOUT = 0.0
当然,我们最终运行了一个 update-grub。它适用于我的电脑。
tux*_*x1c 10
这适用于 Ubuntu 16.04。
我通过上面找到的一些答案的一些组合解决了这个问题,所以没有必要修改 30_os-prober,避免在 grub 包更新时将来合并......
希望能帮助到你。
更改了 /etc/default/grub 中的一些变量以反映我想要的内容;
GRUB_DEFAULT=4
GRUB_HIDDEN_TIMEOUT=5
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_FORCE_HIDDEN_MENU="true"
export GRUB_FORCE_HIDDEN_MENU
Run Code Online (Sandbox Code Playgroud)
然后创建了一个新文件;
sudo touch /etc/grub.d/50_hidemenu
sudo chmod +x /etc/grub.d/50_hidemenu
Run Code Online (Sandbox Code Playgroud)
用这个内容填充它;
#!/bin/sh
cat <<EOF
if [ "x\${timeout}" != "x-1" ]; then
if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep --interruptible ${GRUB_HIDDEN_TIMEOUT} ; then
set timeout=0
fi
fi
fi
EOF
Run Code Online (Sandbox Code Playgroud)
并更新了 grub;
sudo update-grub
Run Code Online (Sandbox Code Playgroud)
干杯。
小智 7
在 Kubuntu 14.04 中,这不起作用,如果您设置GRUB_TIMEOUT= 0
,奇怪的是,在应用此设置并重新启动后,grub 菜单仍然可见 10 秒。
这样做的原因是在另一个 grub 脚本中,有一段代码将 grub_timeout 设置为 10,如果它的值为 0。
所以这就是我让它工作的方式:
复制grub
和30_osprober
文件!!!当出现问题时,您可以放回原始文件
在 /etc/default/grub
GRUB_DEFAULT=4 #set this value to the OS you want to boot
GRUB_HIDDEN_TIMEOUT=0
GRUB_TIMEOUT=0
Run Code Online (Sandbox Code Playgroud)
在 中/etc/grub.d/30_os-prober
,有一段代码将 grub 超时设置为 10 秒,如果在 中将其设置为零/etc/default/grub
,我不知道开发人员为什么将其放在那里,但它可以防止隐藏 grub 菜单。
set timeout_style=menu
if [ "\${timeout}" = 0 ]; then
set timeout=10 # I changed this from 10 to 0
Run Code Online (Sandbox Code Playgroud)
在这些更改之后,运行sudo update-grub
以生成新的 grub 引导序列。
我在https://sites.google.com/site/marcshomesite/Home/linux-tuning上记录了我所有的 linux 修复/修改
要自动启动 Windows 而无需从 GRUB 菜单中进行选择,我们需要使用/etc/default/grub
类似于以下的值编辑该文件:
GRUB_DEFAULT= <number of default entry starting from 0>
GRUB_TIMEOUT= 0 # time in seconds to boot default
# GRUB_HIDDEN_TIMEOUT=0 # warning: activating this may lock you out from GRUB menu
Run Code Online (Sandbox Code Playgroud)
在编辑这些文件之前,最好对其进行备份。进行更改后,我们需要激活它们
sudo update-grub
Run Code Online (Sandbox Code Playgroud)
GRUB_DEFAULT 的值取决于我们各自的系统。为了始终启动 Windows,我们也可以输入与 Grub 菜单中显示的条目名称完全相同的名称(例如"Microsoft Windows XP Professional"
),而不是条目号。
重要提示:Shift在某些机器上,在启动时按住左键无法显示 GRUB 菜单(请参阅bug #425979)。因此,首先将 Ubuntu(而不是 Windows)设置为默认操作系统进行测试可能是个好主意。然后,如果您受到影响,您将能够轻松撤消 GRUB 设置。
安装grub优化器
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
Run Code Online (Sandbox Code Playgroud)sudo apt-get update sudo apt-get install grub-customizer
Grub 定制器现在将显示在“应用程序”>“系统工具”菜单中。
或者您可以从命令行打开它。
gksudo grub 定制器
归档时间: |
|
查看次数: |
97962 次 |
最近记录: |