我有 Ubuntu 16.04.3 LTS 有一段时间了,最近按顺序添加了 Linux Mint 和 openSUSE。在 openSUSE 安装之前,引导分区是 /dev/sda1。
问题:我希望所有发行版都没有启动画面。 我读了这篇文章。 我在 Ubuntu 上通过编辑 /etc/default/grub 文件并在首次安装时进行更新来实现这一点。我在 openSUSE 和 Mint 上使用了 Grub Customizer 来删除启动画面,然而,openSUSE 是我安装的唯一一个新发行版。然后我直接为 Mint 编辑了 grub 文件,它仍然显示启动画面。我不确定如何进行。此外,如果我决定删除或卸载 openSUSE 或 MINT 中的任何一个,我将如何进行?
dos HDD
/dev/sda1 ext3 Primary GRUB
/dev/sda2 Extended Ubuntu
/dev/sda5 linux-swap
/dev/sda6 ext4 /
/dev/sda7 ext4 home
/dev/sda8 ext3 mintboot
/dev/sda9 ext4 mintroot
/dev/sda10 ext4 minthome
/dev/sda3 btrfs openSUSE flagged boot
/dev/sda4 xfs openSUSE
openSUSE /etc/default/grub 输出:我怀疑最后滚动的位和潜在的 openSUSE grub.cfg 编辑,只是不确定究竟是什么 Oo
# If you change this file, run 'grub2-mkconfig -o /boot/grub2/grub.cfg' afterwards to update
# /boot/grub2/grub.cfg.
# Uncomment to set your own custom distributor. If you leave it unset or empty, the default
# policy is to determine the value from /etc/os-release
GRUB_DISTRIBUTOR=
GRUB_DEFAULT=saved
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=1
GRUB_CMDLINE_LINUX_DEFAULT='resume=/dev/disk/by-uuid/0b074c09-c211-407b-ad9d-f7c0c2b3bee7 splash=""'
GRUB_CMDLINE_LINUX=""
# Uncomment to automatically save last booted menu entry in GRUB2 environment
# variable `saved_entry'
# GRUB_SAVEDEFAULT="true"
#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="gfxterm"
# 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="auto"
# 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_LINUX_RECOVERY="true"
#Uncomment to get a beep at grub start
# GRUB_INIT_TUNE="480 440 1"
GRUB_BACKGROUND=/boot/grub2/themes/openSUSE/background.png
GRUB_THEME=/boot/grub2/themes/openSUSE/theme.txt
SUSE_BTRFS_SNAPSHOT_BOOTING="true"
GRUB_DISABLE_OS_PROBER="false"
GRUB_ENABLE_CRYPTODISK="n"
从广义上讲,有两种方法可以在多个 Linux 发行版之间设置多引导配置:
这两种情况并不相互排斥;您可能会看到(例如)一个 OpenSUSE GRUB 菜单,其中包含启动 OpenSUSE 和 Ubuntu 内核的选项以及启动 Ubuntu 的 GRUB 的选项。
请注意,引导管理器提供了一个操作系统选择菜单,而引导加载程序将操作系统内核加载到内存中并开始运行它。GRUB 执行这两项任务,因此 Linux 世界中的人们经常交替使用这两个术语,但在您的情况下,区别很重要,尽管事实上单个 GRUB 实例可能在许多配置中同时扮演这两个角色。
解开所有这些可能是一个真正的挑战,尤其是在基于 BIOS 的计算机上(从您的分区摘要来看,您的计算机似乎是这样,尽管我不是 100% 肯定这一点)。一些经验丰富的多引导程序预留了一个不受任何操作系统控制的引导管理器来引导每个操作系统的专用引导加载程序,但我不知道如何在基于 BIOS 的系统上执行此操作的任何现代参考资料。这样的配置将引导管理器和引导加载程序的功能分开,这为使用更专业的程序提供了可能性,并且可以简化配置任务。
另请注意,如果您从发行版 A 的引导加载程序启动发行版 B,则在您更新发行版 A 中的 GRUB 配置之前,您将无法为发行版 B 启动新内核。(这是安装可运行的工具的原因之一纯粹作为引导管理器,在每个发行版的引导加载程序之间进行选择;然后每个发行版都可以自己更新自己的引导加载程序配置,您无需手动更新。)
至于卸载操作系统,当您卸载控制第一个引导管理器的任何操作系统时,主要的担忧就出现了。如果该引导管理器是 GRUB 2,那么卸载控制操作系统的根 (
/
) 或/boot
分区将擦除 GRUB 配置文件,这将使 GRUB 几乎无用。此时,您需要使用紧急磁盘来(重新)安装 GRUB,以便另一个发行版接管作为主引导管理器。编辑:
GRUB 2 配置是一场噩梦。在运行(引导)时,GRUB 读取一个配置文件,该配置文件通常位于
/boot/grub/grub.cfg
相对于宿主操作系统的文件系统。此文件通常由在首次安装 GRUB、安装新内核或手动运行时运行的脚本构建。(grub-mkconfig -o /boot/grub/grub.cfg
是通用命令;但在 Ubuntu 中,update-grub
也可以做到这一点。)反过来,脚本依赖于多个配置文件,其中一个是/etc/default/grub
您引用的文件。请注意,此文件不会告诉您引导时 GRUB 将显示什么操作系统;这个细节因一个系统而异。该文件使您能够调整的是某些全局默认值,例如超时值。请注意,编辑这些默认值将不会立即生效;您的更改只会在您运行脚本以重新写入grub.cfg
文件后生效(或者在系统自己执行此操作之后 - 例如,在内核更新之后)。GRUB 的配置脚本也依赖于一堆文件
/etc/grub.d
来帮助它识别特定的操作系统和工具。通常,您不会自己编辑这些;但是,40_custom
如果默认的操作系统/内核检测脚本不能正常工作,您可以编辑一个称为 IIRC 的自定义条目。与更改一样/etc/default/grub
,您对这些文件所做的任何更改都不会生效,除非您重新生成/boot/grub/grub.cfg
。如果您想从OpenSUSE 的 Ubuntu 脚本quiet splash
生成的选项中删除,您可能需要编辑 中的文件之一,但恐怕我不知道您要查看的确切位置。或者,您可以手动编辑,但是您在此处所做的任何更改都将在您构建新时被覆盖/etc/grub.d/
/boot/grub/grub.cfg
grub.cfg
文件,要么是故意的,要么是因为主机操作系统安装了新内核。如前所述,另一种方法是进行设置,以便主引导管理器不直接启动 Ubuntu 的内核,而是链式加载到 Ubuntu 的 GRUB,然后管理自己的 GRUB 配置。
请注意,您的所有三个发行版都有自己的 GRUB 配置文件——包括
/boot/grub/grub.cfg
所有支持文件;但是,只有一个 GRUB 控制引导过程。如前所述,其他的要么 100% 不相关,要么仅在第一个 GRUB 配置为链式加载到辅助 GRUB 时才被调用。FWIW,GRUB Customizer是一个 GUI 工具,可帮助编辑各种 GRUB 配置文件。不过,该链接指向 Ubuntu 的 Launchpad PPA。我不知道 GRUB Customizer 是否可用于 OpenSUSE。如果不是,并且如果您想使用 GRUB Customizer,您应该重新配置您的系统,以便 Ubuntu 的 GRUB 成为主要系统,将 OpenSUSE 的 GRUB 降级为次要状态。如果您可以找到为 OpenSUSE 构建的 GRUB Customizer(或者自己构建它,或者将Ubuntu Debian 软件包转换为 RPM 形式),您可以在 OpenSUSE 中运行它来调整当前配置。不过,考虑到 GRUB 配置的精细性,我不建议偏离主机发行版的经过良好测试的构建。