在外部 SSD 上安装 Ubuntu 18 现在 Windows 无法正常启动

在外部 SSD 上安装 Ubuntu 18 现在 Windows 无法正常启动

我是新来的,也是 Linux 世界的新人。

我按照有关如何在外部 SSD(240gb SSD,带有 1x 20gb 分区和 1x 220gb 分区)上创建可启动 Linux 驱动器的说明进行操作。

我按照以下说明在 20gb 分区上安装了 Linux:如何在便携式外置硬盘上安装 Ubuntu? (除了我没有从可启动 USB 设备“尝试 Linux”,而是安装了它),并且我将引导加载程序放在我在 20gb 分区上创建的 ext4 上。

现在一切都已安装完毕并可以正常工作,但是当我启动时,我的机器现在会转到 Ubuntu,询问我是否要启动 Windows 10 或是否要启动 Ubuntu。这很烦人,我想将其改回正常状态(除非我另有说明,否则自动启动到 Windows 10)。

接下来非常成问题的是,如果我拔下外部 SSD,我原来的 Windows 10 根本无法启动,并出现一条错误消息“重新启动并选择正确的启动设备”,这意味着现在要从我的主驱动器启动 Windows 10,我需要插入外部 SSD。

我希望 Windows 能够正常启动(从主驱动器自动启动),除非我特意按下 F12 并选择从 Ubuntu 启动。有人能帮忙吗?

答案1

Ubuntu 的 Ubiquity 无法正确安装到外部设备。请参阅此错误,但您无需重新安装:

https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1396379

Windows 和 Ubuntu 均安装在 UEFI 启动模式下。不确定为什么您没有 Windows 的 UEFI 启动项。这应该会添加 Windows UEFI 启动项,或者您需要从 Windows 修复/恢复闪存驱动器运行 Windows 修复(您做了一个?)

sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi"  /dev/sda -p 2

如果从 f12 UEFI 启动菜单插入外部电源,这将允许您启动 Windows 或 Ubuntu。

但是,如果您想在另一台 PC 上进行外部启动,则需要在 SSD 上安装 grub 启动加载程序。UEFI 仅直接从 /EFI/Boot/bootx64.efi 启动外部驱动器作为 USB 驱动器启动项(与安装程序类型相同)。

由于您使用 Windows 将 SSD 设为 gpt,因此您将 Microsoft 保留分区作为第一个分区。这是 Windows 在驱动器上第一个 NTFS 可启动分区之前所要求的。但由于您无法从外部启动 Windows,因此它不是必需的。然后可以使用 gparted 将其转换为 ESP - efi 系统分区,作为带有 boot/esp 标志的 FAT32。然后,您可以使用 Boot-Repair 及其高级选项将 grub 安装到外部驱动器。之后,仔细检查 /etc/fstab 是否使用来自外部 ESP 的新 UUID 更新,而不是现有 sda2 的 UUID。否则,主要的 grub 更新可能会更新内部但不会更新外部驱动器的 ESP。

在sdb上创建ESP后,使用高级选项选择在sdb2上安装,并将grub安装到sdb驱动器。

https://sourceforge.net/p/boot-repair/home/Home/

相关内容