AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 942943
Accepted
xtrchessreal
xtrchessreal
Asked: 2017-08-05 00:58:20 +0800 CST2017-08-05 00:58:20 +0800 CST 2017-08-05 00:58:20 +0800 CST

Linux Multiboot 安静启动问题

  • 772

我有 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"
dual-boot
  • 1 1 个回答
  • 540 Views

1 个回答

  • Voted
  1. Best Answer
    Rod Smith
    2017-08-05T17:10:46+08:002017-08-05T17:10:46+08:00

    从广义上讲,有两种方法可以在多个 Linux 发行版之间设置多引导配置:

    • 一个发行版的引导加载程序直接引导您的所有发行版,而将其他引导加载程序完全排除在循环之外。(可能是 OpenSUSE 的 GRUB 在您的情况下处于控制之中,因为这是您最后安装的那个。)因此,您需要编辑控制发行版的 GRUB 以更改其他发行版的内核选项。
    • 每个发行版都提供自己的引导加载程序,用于引导自己的内核并链接到其他发行版的引导加载程序。在这种配置中,每个发行版都控制自己的内核选项,但是要引导除了引导管理器在引导链中排在首位的操作系统之外的任何东西,您必须通过多个引导管理器引导——例如,OpenSUSE 的 GRUB 提供了一个带有引导选项的菜单它自己的内核以及引导其他发行版的 GRUB 实例的选项。要启动(比如)Ubuntu,您需要先通过 OpenSUSE 的 GRUB,然后再通过 Ubuntu 的 GRUB。

    这两种情况并不相互排斥;您可能会看到(例如)一个 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.cfggrub.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 配置的精细性,我不建议偏离主机发行版的经过良好测试的构建。

    • 1

相关问题

  • 如何在 ubuntu 中挂载加密的 windows 分区?[关闭]

  • 如何使用 Debian 进行双引导?

  • 如何使用 Ubuntu 和 Windows XP 安装双启动配置?[关闭]

  • 如何让双启动 USB 驱动器在 Vista 中工作 [关闭]

  • 如何从双启动计算机访问加密的主文件夹?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve