在计算机启动时隐藏 grub

在计算机启动时隐藏 grub

我尝试了在 Google 中搜索“在计算机启动时隐藏 grub 菜单”的所有方法,但仍然没有运气,我猜在 Ubuntu 15.04 上情况会有所不同?

这是我的 grub

 # If you change this file, run 'update-grub' afterwards to update
 # /boot/grub/grub.cfg.
 # For full documentation of the options in this file, see:
 #   info -f grub -n 'Simple configuration'

 GRUB_DEFAULT=0
 GRUB_HIDDEN_TIMEOUT=0
 GRUB_HIDDEN_TIMEOUT_QUIET=true
 GRUB_TIMEOUT=0
 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
 GRUB_CMDLINE_LINUX_DEFAULT="libahci.ignore_sss=1 vesafb.invalid=1 quite nopat drm.debug=0xe"
 GRUB_CMDLINE_LINUX=""

 # Uncomment to enable BadRAM filtering, modify to suit your needs
 # This works with Linux (no patch required) and with any kernel that obtains
 # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
 #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

 # Uncomment to disable graphical terminal (grub-pc only)
 #GRUB_TERMINAL=console

 # The resolution used on graphical terminal
 # note that you can use only modes which your graphic card supports via VBE
 # you can see them in real GRUB with the command `vbeinfo'
 #GRUB_GFXMODE=640x480

 # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
 #GRUB_DISABLE_LINUX_UUID=true

 # Uncomment to disable generation of recovery mode menu entries
 #GRUB_DISABLE_RECOVERY="true"

 # Uncomment to get a beep at grub start
 #GRUB_INIT_TUNE="480 440 1"
 GRUB_GFXPAYLOAD_LINUX=text

grub.cfg 文件:

 #
 # DO NOT EDIT THIS FILE
 #
 # It is automatically generated by grub-mkconfig using templates
 # from /etc/grub.d and settings from /etc/default/grub
 #

 ### BEGIN /etc/grub.d/00_header ###
 if [ -s $prefix/grubenv ]; then
 set have_grubenv=true
 load_env
 fi
 if [ "${next_entry}" ] ; then
 set default="${next_entry}"
 set next_entry=
 save_env next_entry
 set boot_once=true
 else
 set default="0"
 fi

 if [ x"${feature_menuentry_id}" = xy ]; then
 menuentry_id_option="--id"
 else
 menuentry_id_option=""
 fi

 export menuentry_id_option

 if [ "${prev_saved_entry}" ]; then
 set saved_entry="${prev_saved_entry}"
 save_env saved_entry
 set prev_saved_entry=
 save_env prev_saved_entry
 set boot_once=true
 fi

 function savedefault {
 if [ -z "${boot_once}" ]; then
 saved_entry="${chosen}"
 save_env saved_entry
 fi
 }
 function recordfail {
 set recordfail=1
 if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
 }
 function load_video {
 if [ x$feature_all_video_module = xy ]; then
 insmod all_video
 else
 insmod efi_gop
 insmod efi_uga
 insmod ieee1275_fb
 insmod vbe
 insmod vga
 insmod video_bochs
 insmod video_cirrus
 fi
 }

 if [ x$feature_default_font_path = xy ] ; then
 font=unicode
 else
 insmod part_gpt
 insmod xfs
 set root='hd0,gpt2'
 if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 3b12612a-44e7-448e-b6a1-692930065384
 else
 search --no-floppy --fs-uuid --set=root 3b12612a-44e7-448e-b6a1-692930065384
 fi
 font="/usr/share/grub/unicode.pf2"
 fi

 if loadfont $font ; then
 set gfxmode=auto
 load_video
 insmod gfxterm
 set locale_dir=$prefix/locale
 set lang=en_US
 insmod gettext
 fi
 terminal_output gfxterm
 if [ "${recordfail}" = 1 ] ; then
 set timeout=-1
 else
 if [ x$feature_timeout_style = xy ] ; then
 set timeout_style=hidden
 set timeout=0
 # Fallback hidden-timeout code in case the timeout_style feature is
 # unavailable.
 elif sleep --interruptible 0 ; then
 set timeout=0
 fi
 fi
 ### END /etc/grub.d/00_header ###

 ### BEGIN /etc/grub.d/05_debian_theme ###
 set menu_color_normal=white/black
 set menu_color_highlight=black/light-gray
 if background_color 44,0,30,0; then
 clear
 fi
 ### END /etc/grub.d/05_debian_theme ###

 ### BEGIN /etc/grub.d/10_linux ###
 function gfxmode {
 set gfxpayload="${1}"
 if [ "${1}" = "keep" ]; then
 set vt_handoff=vt.handoff=7
 else
 set vt_handoff=
 fi
 }
 set linux_gfx_mode=text
 export linux_gfx_mode
 menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-3b12612a-44e7-448e-b6a1-692930065384' {
 recordfail
 gfxmode $linux_gfx_mode
 insmod gzio
 if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
 insmod part_gpt
 insmod xfs
 set root='hd0,gpt2'
 if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 3b12612a-44e7-448e-b6a1-692930065384
 else
 search --no-floppy --fs-uuid --set=root 3b12612a-44e7-448e-b6a1-692930065384
 fi
 linux /boot/vmlinuz-3.19.0-15-generic root=UUID=3b12612a-44e7-448e-b6a1-692930065384 ro nopat plymouth:debug=1 vesafb.invalid=1 quite=1 libahci.ignore_sss=1
 initrd /boot/initrd.img-3.19.0-15-generic
 }
 submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-3b12612a-44e7-448e-b6a1-692930065384' {
 menuentry 'Ubuntu, with Linux 3.19.0-15-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.19.0-15-generic-advanced-3b12612a-44e7-448e-b6a1-692930065384' {
 recordfail
 gfxmode $linux_gfx_mode
 insmod gzio
 if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
 insmod part_gpt
 insmod xfs
 set root='hd0,gpt2'
 if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 3b12612a-44e7-448e-b6a1-692930065384
 else
 search --no-floppy --fs-uuid --set=root 3b12612a-44e7-448e-b6a1-692930065384
 fi
 echo 'Loading Linux 3.19.0-15-generic ...'
 linux /boot/vmlinuz-3.19.0-15-generic root=UUID=3b12612a-44e7-448e-b6a1-692930065384 ro nopat plymouth:debug=1 vesafb.invalid=1 quite=1 libahci.ignore_sss=1
 echo 'Loading initial ramdisk ...'
 initrd /boot/initrd.img-3.19.0-15-generic
 }
 menuentry 'Ubuntu, with Linux 3.19.0-15-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.19.0-15-generic-init-upstart-3b12612a-44e7-448e-b6a1-692930065384' {
 recordfail
 gfxmode $linux_gfx_mode
 insmod gzio
 if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
 insmod part_gpt
 insmod xfs
 set root='hd0,gpt2'
 if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 3b12612a-44e7-448e-b6a1-692930065384
 else
 search --no-floppy --fs-uuid --set=root 3b12612a-44e7-448e-b6a1-692930065384
 fi
 echo 'Loading Linux 3.19.0-15-generic ...'
 linux /boot/vmlinuz-3.19.0-15-generic root=UUID=3b12612a-44e7-448e-b6a1-692930065384 ro nopat plymouth:debug=1 vesafb.invalid=1 quite=1 libahci.ignore_sss=1 init=/sbin/upstart
 echo 'Loading initial ramdisk ...'
 initrd /boot/initrd.img-3.19.0-15-generic
 }
 menuentry 'Ubuntu, with Linux 3.19.0-15-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.19.0-15-generic-recovery-3b12612a-44e7-448e-b6a1-692930065384' {
 recordfail
 insmod gzio
 if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
 insmod part_gpt
 insmod xfs
 set root='hd0,gpt2'
 if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 3b12612a-44e7-448e-b6a1-692930065384
 else
 search --no-floppy --fs-uuid --set=root 3b12612a-44e7-448e-b6a1-692930065384
 fi
 echo 'Loading Linux 3.19.0-15-generic ...'
 linux /boot/vmlinuz-3.19.0-15-generic root=UUID=3b12612a-44e7-448e-b6a1-692930065384 ro recovery nomodeset
 echo 'Loading initial ramdisk ...'
 initrd /boot/initrd.img-3.19.0-15-generic
 }
 }

 ### END /etc/grub.d/10_linux ###

 ### BEGIN /etc/grub.d/20_linux_xen ###

 ### END /etc/grub.d/20_linux_xen ###

 ### BEGIN /etc/grub.d/25_custom ###

 menuentry "Windows UEFI bootmgfw.efi" {
 search --fs-uuid --no-floppy --set=root 8D03-9A18
 chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
 }

 menuentry "EFI/ubuntu/MokManager.efi" {
 search --fs-uuid --no-floppy --set=root 8D03-9A18
 chainloader (${root})/EFI/ubuntu/MokManager.efi
 }
 ### END /etc/grub.d/25_custom ###

 ### BEGIN /etc/grub.d/30_os-prober ###
 menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-8D03-9A18' {
 insmod part_gpt
 insmod fat
 set root='hd0,gpt1'
 if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 8D03-9A18
 else
 search --no-floppy --fs-uuid --set=root 8D03-9A18
 fi
 chainloader /EFI/Microsoft/Boot/bootmgfw.efi
 }
 menuentry 'Antergos Linux (2015.04-ISO-Rolling) (on /dev/sda7)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-b61cdeef-aa4b-464e-a0ec-fcc2417926f4' {
 insmod part_gpt
 insmod xfs
 set root='hd0,gpt7'
 if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt7 --hint-efi=hd0,gpt7 --hint-baremetal=ahci0,gpt7 b61cdeef-aa4b-464e-a0ec-fcc2417926f4
 else
 search --no-floppy --fs-uuid --set=root b61cdeef-aa4b-464e-a0ec-fcc2417926f4
 fi
 linux /boot/vmlinuz-linux root=UUID=b61cdeef-aa4b-464e-a0ec-fcc2417926f4 rw resume=UUID=f41d0df1-3da5-443c-9346-d66e03164c6a quiet
 initrd /boot/initramfs-linux.img
 }
 submenu 'Advanced options for Antergos Linux (2015.04-ISO-Rolling) (on /dev/sda7)' $menuentry_id_option 'osprober-gnulinux-advanced-b61cdeef-aa4b-464e-a0ec-fcc2417926f4' {
 menuentry 'Antergos Linux (on /dev/sda7)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux--b61cdeef-aa4b-464e-a0ec-fcc2417926f4' {
 insmod part_gpt
 insmod xfs
 set root='hd0,gpt7'
 if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt7 --hint-efi=hd0,gpt7 --hint-baremetal=ahci0,gpt7 b61cdeef-aa4b-464e-a0ec-fcc2417926f4
 else
 search --no-floppy --fs-uuid --set=root b61cdeef-aa4b-464e-a0ec-fcc2417926f4
 fi
 linux /boot/vmlinuz-linux root=UUID=b61cdeef-aa4b-464e-a0ec-fcc2417926f4 rw resume=UUID=f41d0df1-3da5-443c-9346-d66e03164c6a quiet
 initrd /boot/initramfs-linux.img
 }
 menuentry 'Antergos Linux - Fallback (on /dev/sda7)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux--b61cdeef-aa4b-464e-a0ec-fcc2417926f4' {
 insmod part_gpt
 insmod xfs
 set root='hd0,gpt7'
 if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt7 --hint-efi=hd0,gpt7 --hint-baremetal=ahci0,gpt7 b61cdeef-aa4b-464e-a0ec-fcc2417926f4
 else
 search --no-floppy --fs-uuid --set=root b61cdeef-aa4b-464e-a0ec-fcc2417926f4
 fi
 linux /boot/vmlinuz-linux root=UUID=b61cdeef-aa4b-464e-a0ec-fcc2417926f4 rw resume=UUID=f41d0df1-3da5-443c-9346-d66e03164c6a quiet
 initrd /boot/initramfs-linux-fallback.img
 }
 menuentry 'Antergos Linux (on /dev/sda7)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux--b61cdeef-aa4b-464e-a0ec-fcc2417926f4' {
 insmod part_gpt
 insmod xfs
 set root='hd0,gpt7'
 if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt7 --hint-efi=hd0,gpt7 --hint-baremetal=ahci0,gpt7 b61cdeef-aa4b-464e-a0ec-fcc2417926f4
 else
 search --no-floppy --fs-uuid --set=root b61cdeef-aa4b-464e-a0ec-fcc2417926f4
 fi
 linux /boot/vmlinuz-linux root=UUID=b61cdeef-aa4b-464e-a0ec-fcc2417926f4 rw resume=UUID=f41d0df1-3da5-443c-9346-d66e03164c6a quiet
 initrd /boot/initramfs-linux-fallback.img
 }
 }

 set timeout_style=menu
 if [ "${timeout}" = 0 ]; then
 set timeout=10
 fi
 ### END /etc/grub.d/30_os-prober ###

 ### BEGIN /etc/grub.d/30_uefi-firmware ###
 menuentry 'System setup' $menuentry_id_option 'uefi-firmware' {
 fwsetup
 }
 ### END /etc/grub.d/30_uefi-firmware ###

 ### BEGIN /etc/grub.d/40_custom ###
 # This file provides an easy way to add custom menu entries. Simply type the
 # menu entries you want to add after this comment. Be careful not to change
 # the 'exec tail' line above.
 ### END /etc/grub.d/40_custom ###

 ### BEGIN /etc/grub.d/41_custom ###
 if [ -f ${config_directory}/custom.cfg ]; then
 source ${config_directory}/custom.cfg
 elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
 source $prefix/custom.cfg;
 fi
 ### END /etc/grub.d/41_custom ###

如何在 ubuntu 15.04 上直接启动而不显示启动菜单?
更多详细信息:我sudo update-grub在更改 grub 文件后运行了。我的 BIOS 是 UEFI

更新:我启动了三台 Ubuntu(默认,因为我 90% 的时间都在使用它)、Arch Linux 和 Windows(偶尔用于游戏)。因此,大多数时候我都会选择 Ubuntu,因为我想直接启动到它,但偶尔如果我想启动到其他操作系统,我会选择“按下 Shift 键并查看 grub 并选择所需的操作系统“,这就是为什么我想隐藏 grub

更新2:当我将 grub 超时设置为 0 时,启动时它会变成 10 秒,不知道为什么......

答案1

/etc/default/grub集合中:

GRUB_HIDDEN_TIMEOUT="1"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
#GRUB_TIMEOUT="1"

这将使你有一个1秒的极短时间间隔在启动Shift时仍按 进入高级菜单,同时不会遇到 10 秒问题

if [ "${timeout}" = 0 ]; then
set timeout=10
fi

/boot/grub/grub.cfg

(意思是,“0”是允许的,但在更深层次的配置中被设置为“10”以保护用户自己)

答案2

你试过更换

...
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
...

...
GRUB_TIMEOUT_STYLE='hidden'
...

根据文档(`info -f grub -n'简单配置'),第一个已被弃用,应该使用''不太令人困惑''风格的选项。

答案3

我已经解决了 Ubuntu 18.04 LTS 中的“启动时不隐藏 grub”问题,只需安装引导修复软件。

在此之前,我已经尝试过在谷歌上输入“如何在启动时隐藏 Ubuntu 18.04 中的 grub”找到的大量建议。


笔记:要安装上述软件,首先在终端中添加 PPA:

$ sudo add-apt-repository ppa:yannubuntu/boot-repair

$ sudo apt update

然后,安装 Boot Repair 软件:

$ sudo apt install boot-repair

安装并打开后(输入:“$ 启动修复”),“推荐修复(修复最常见的问题)”按钮使得 grub 在启动时隐藏。

来源: https://linuxconfig.org/ubuntu-boot-repair

答案4

您是否尝试过这个解决方案(对我而言从 13.10 到 15.04 都有效)?

GRUB_HIDDEN_TIMEOUT=0.0
GRUB_TIMEOUT=0.0

也许您已经尝试过,但还是想问一下。

相关内容