我的工作需要一个基于 Linux 的系统,而且由于我依赖 Windows 并且没有其他设备,所以我想双启动 Windows 和 Ubuntu。就我而言,我有一个外部 SSD,所以我决定在外部 SSD 上安装 Ubuntu,保持一切原样。
在我的设置中,我有 3 个驱动器:
- 内置 SSD:已安装 Windows 10 和 EFI 分区(稍后我会讲到)
- HDD:对于我的数据来说,应该完全无关紧要。
- 外部(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 移动到外部驱动器。