如何强制ubiquity不安装grub?

如何强制ubiquity不安装grub?

我的硬盘分区:

  • 尤其是--> sda1
  • archlinux --> sda2
  • 交换 --> sda3
  • sda4 --> 将是 ubuntu 的位置

我将在 sda4 上安装 ubuntu;目前我的启动过程由systemd-boot它是通过 bootctl 软件安装在 archlinux 中的。它很好,我想保留它。

通过安装 Ubuntu,它将尝试在 sda 或 sdaX 上安装 grub。查看此屏幕截图中的下拉菜单:

在此处输入图片描述

我想在 sda4 上安装 Ubuntu,而不处理 grub。然后我将通过在 systemd-boot 配置系统下的 archlinux 中创建一个新的入口文件来指向 Ubuntu vmlinuz 文件和 initrd 文件。

答案1

sudo ubiquity -b

刚刚通过直接在 sda 上使用 grub 的 loopmount 启动 ISO 安装了 16.10。安装程序进入终端并使用上述命令。其他安装似乎很正常。直到我点击后才注意到,但很确定缺少安装 grub 的位置组合框。在安装过程中,它通常会显示正在安装 grub,但从未显示过。

通常情况下,安装到 sdb 或任何第二个安装都会用我的主要安装的启动覆盖我的 /EFI/ubuntu 文件夹。这次我能够直接启动回我的主要安装

尽管 grub“未安装”,但运行时sudo update-grub仍发现新安装。注意 /boot/grub 中也没有 grub.cfg。

答案2

我不知道有什么方法可以阻止 Grub 的安装。但你可以避免/dev/sda/dev/sda 驱动器的其他分区受到 Grub 的影响。

将第二个 USB 插入计算机。在安装过程中将其选为启动设备。现在在 /dev/sda4 上安装 Ubuntu。安装过程不会触及 /dev/sda 的启动扇区或任何其他分区,但 除外/dev/sda4

答案3

我知道在基于 Ubuntu 16.04 的 Linux Mint 18.3 Cinnamon 上,以下命令有效:

ubiquity --no-bootloader

这显然是该选项的别名-b,已知可以在 Linux Mint 18.3 Cinnamon 上运行。

我尚未验证该--no-bootloader标签是否适用ubiquity于原始 Ubuntu 16.04(及更高版本)。也许运行 Ubuntu 16.04(或任何版本)的人可以在此处检查并评论其版本号以及命令是否ubiquity --no-bootloader有效?如果有效,则在使用 GUI 身份验证器进行身份验证后,Ubiquity 将加载。如果它不起作用,在使用 GUI 身份验证器进行身份验证后,您将返回到终端并打印一条错误消息ubiquity: error: no such option: [...]

Linux Mint 18.3 Cinnamon 中普遍存在的选项的屏幕截图:

Linux Mint 18.3 Cinnamon 上终端的 ubiquity 选项打印输出

也可以看看:

http://averagelinuxuser.com/install-linux-mint-without-a-bootloader/

答案4

默认情况下,您不能强制不安装引导加载程序。

虽然 @oldfred 提到过有-b普遍性的选项,但尚未记录,这并不明显,而且对于大多数最终用户来说,使用它可能会令人害怕。虽然以前也存在类似的选项。

过去有

过去,Ubuntu 有一个高级选项,允许用户自定义引导加载程序安装。在 Ubuntu LTS 版本之间,高级选项最后一次出现在 Lucid Lynx (10.04) 版本中。从那时起,由于我没有跟进的任何原因,该选项已被删除。

旧截图为证:

Ubuntu Lucid 中 Ubiquity 安装程序的第 8 步(共 8 步)

安装在同一个分区上

在具体步骤中,可以选择主设备以外的设备/dev/sda来安装引导加载程序。例如,Ubuntu 将安装在/dev/sda4分区上,因此引导加载程序也应安装在该分区上/dev/sda4

通过这样做,用户将获得:

  • 新的引导加载程序/dev/sda4将被隐藏,除非机器启动时选择链式加载到分区以显示它

  • 现有的引导加载程序/dev/sda将处理对新安装的操作系统的检测/dev/sda4,而无需依赖新的引导加载程序

  • 用户需要/dev/sda从第一个安装的操作系统更新引导加载程序,以便检测随后在其他分区安装的系统

除非有任何不处理引导加载程序的关键原因,否则我认为将后续引导加载程序安装到相应的分区不会产生任何副作用。

第一个引导加载程序管理所有

就我个人而言,我在同一台机器上安装了多个发行版(主要是 Ubuntu 版本和类似的衍生版本),第一个引导加载程序位于,/dev/sda其他引导加载程序位于各自的分区。唯一需要注意的是,必须从第一个安装的操作系统更新引导加载程序。

除了警告之外,为了尽量减少麻烦,人们可以忘记新的引导加载程序,让现有的引导加载程序管理检测。

总结在将要安装系统的同一分区上安装新的引导加载程序;新的引导加载程序对用户来说是隐藏的,除非链式加载到该分区。


有关的:我曾写过这个较旧的答案这解释了双启动设置,提及os-prober并通过链式加载到分区来解决。

相关内容