我有许多 UEFI 机器。其中一台装有 Kubuntu 17.04。我不能...
启动 17.04;下载并安装 17.10 iso 映像;chroot 到该映像;运行 ubiquity 以在单独的闪存驱动器上安装 17.10
通过在闪存驱动器上创建启动和移动 17.10 安装,而无需重新启动或更改 17.04 机器上的任何内容?
也许我正在尝试用困难的方式做事,但看起来尝试一下可能会很有趣。
答案1
我不知道 17.10 版的 Ubiquity 如何在 Ubuntu 17.04 启动后运行。即使你使用chroot
,你仍然会运行较旧的内核,并且有很多 17.04 的东西在后台运行。你可以随时尝试,但你可能是世界上第一个这样做的人,而且理由不多……
与其这样做,为什么不直接启动 17.10 安装程序呢?这没有理由无法在您的计算机上运行 - 或者如果有,您还没有确定原因是什么。本课程将消除由于您从较旧的操作系统环境运行安装程序而出现问题的风险。
无论你怎么做,你都会面临一个问题:默认情况下,Ubiquity 会尝试将 GRUB 安装到第一个EFI 系统分区 (ESP)它找到的,通常是硬盘上的 ESP。因此,您最终会得到一个无法自行启动的 USB 驱动器,并且除非插入 USB 驱动器,否则计算机将无法启动。(后者是因为 Ubuntu 将其 GRUB 配置为依赖于/boot/grub/grub.cfg
,在您在那里安装 Ubuntu 后,它将位于 USB 驱动器上。)解决此问题最简单的方法是告诉 Ubiquity不是安装 GRUB,然后稍后手动安装它(或其他引导加载程序)。简而言之,该过程如下:
- 以“安装前尝试”模式启动 Ubuntu 安装程序 -不要选择在计算机启动时安装 Ubuntu 的选项!
- 安装程序启动后,您会看到桌面环境,打开终端窗口。
- 输入
ubiquity -b
。该-b
选项告诉 Ubiquity 不要安装引导加载程序。 - 正常安装到 USB 驱动器,但确保它包含 ESP。
- 使用文件名将引导加载程序安装到 ESP
EFI/BOOT/bootx64.efi
。 此步骤本身相当复杂,恐怕我没有从 Ubuntu 安装环境中执行此操作的分步程序;但是...- 引导修复也许能够胜任这项工作,或者至少能提供帮助。
- 我的Linux 的 EFI 引导加载程序网页介绍了一般原则和程序,以及几个引导加载程序选项。阅读完该页面后,您应该能够拼凑出一个程序,尽管在配置细节方面可能会有一些反复试验。
引导加载程序安装的最后一步比它应该的要复杂,因为安装到 USB 驱动器不是 Ubiquity 的设计初衷,而且 GRUB 配置是一场噩梦。(大多数人不会遇到这种噩梦,因为 GRUB 提供了可以正确执行操作的配置脚本,并且 Ubiquity 为将 Ubuntu 安装到硬盘的常见情况进行了正确的设置。但您的情况并不常见。)如果您不需要安全启动支持,使用另一个引导加载程序可能比使用 GRUB 更容易,因为其他一切都比 GRUB 更容易配置;但 GRUB 是唯一一种以某种方式签名的,使其可以与安全启动配合使用而无需经过额外的麻烦。因此,如果您需要安全启动,那就更难了。
还要注意,BIOS 模式和 EFI/UEFI 模式启动依赖于完全独立的引导加载程序。因此,如果您希望 USB 驱动器在两种模式下均可启动,则需要安装 BIOS 模式和 EFI 模式引导加载程序,这会使事情变得更加复杂。我的程序假设您只想在 EFI 模式下启动,因为您明确提到了 UEFI 计算机,但没有提到 BIOS 计算机。
最后,还有其他方法可以做到这一点。最简单的方法可能是使用没有操作系统的计算机进行安装。这样,您就可以使用 ESP 设置 USB 驱动器,它将是唯一可用的 ESP。安装后,只需重命名几个文件,如所述这里,让 USB 驱动器在任何计算机上启动。暂时拔下硬盘或将其 ESP 的类型代码更改为其他代码可能是在常规计算机上执行此操作的一种方法,但这些选项存在后续问题的风险。(最值得注意的是,某些 EFI 会删除不再有效的启动选项,因此如果您拔下硬盘,您可能会发现当您重新插入时它将不再启动。)