将 GRUB 从主驱动器移至外部驱动器

将 GRUB 从主驱动器移至外部驱动器

我的工作需要一个基于 Linux 的系统,而且由于我依赖 Windows 并且没有其他设备,所以我想双启动 Windows 和 Ubuntu。就我而言,我有一个外部 SSD,所以我决定在外部 SSD 上安装 Ubuntu,保持一切原样。

在我的设置中,我有 3 个驱动器:

  1. 内置 SSD:已安装 Windows 10 和 EFI 分区(稍后我会讲到)
  2. HDD:对于我的数据来说,应该完全无关紧要。
  3. 外部(USB)SSD:已安装并配置 Ubuntu 20.04,两个分区:根分区和交换分区(按此顺序,以防万一),交换分区为 7GB,根分区为其余部分。

无论是否连接了外部 SSD,我的启动菜单都有两个元素。这两个元素(按顺序)是:ubuntu和 ,Windows Boot Manager两者都具有相同的驱动器 ID,因此我相信两者都可能安装在 EFI 分区中。

如果连接了外部 SSD,GRUB 就会加载并询问我是否要加载 Ubuntu 还是加载 Windows 10。完全没问题,稍后我希望它自动加载 ubuntu,但这不是我(当前)的问题。

但是,如果外部 SSD 断开连接,GRUB仍然加载,但突然出错并给出 CLI,我不知道该如何处理。输入exit只是“崩溃?”。

切换启动顺序会完全忽略 Ubuntu;始终加载 Windows。

理想情况下,我希望移动GRUB 到外部 SSD,并使其在连接时默认加载 Ubuntu(或显示窗口),如果未连接则加载 Windows。

尝试跟随,我尝试运行sudo grub-install /dev/sdc,但它几乎立即完成,似乎没有任何变化。我知道我可以ubuntu使用类似,但我不想在没有先安装 grub 的情况下这样做,以防需要从 ubuntu 进行操作。

编辑:我还运行了grub-update。在我的外部固态硬盘中,我目前有一个boot文件夹(我不知道它是否一直在那里,还是在我grub-install编辑后添加的)。但它似乎没有出现在我的启动菜单中。

我认为我的问题与这个,但不幸的是没有得到回答,并且评论建议重新安装ubuntu(我真的不想这样做)

TLDR;GRUB 和 Windows 启动管理器当前位于同一个驱动器中,我只想将 GRUB 移动到外部驱动器。

相关内容