我在 m.2 驱动器上安装了 Windows 10,在 SATA 驱动器上安装了 Ubuntu 17.4。Ubuntu 安装已加密。
- 我使用启动顺序选项进行双重启动(HP 电脑启动时按 F9)
- Windows 和 Ubuntu 有自己的独立驱动器
- 最后安装 Ubuntu(基本选项,擦除磁盘)
- 两个独立的启动管理器
- 一切正常(可以通过 F9 启动 Windows 和 Ubuntu)
- 使用 Windows 一天后,我发现没有 Ubuntu 启动选项
- 在 Ubuntu 方面运行引导修复似乎没什么用(我认为它只修复了 Windows 分区)。GRUB 菜单中也没有选项
ubuntu@ubuntu:~$ efibootmgr
BootCurrent:000D
超时:0 秒
BootOrder:000C、000D、0011、000E、000A、0012、0000、0001、0002、0003、0004、0005、0006、0007、0008、0009、000F
Boot0000 启动菜单
Boot0001 系统信息
Boot0002 Bios 设置
Boot0003 第三方选项 ROM 管理
Boot0004 系统诊断
Boot0005 系统诊断
Boot0006 系统诊断
Boot0007 系统诊断
Boot0008 启动菜单
Boot0009 HP 恢复
Boot000A* PLEXTOR PX-256M5S
Boot000C* Windows 启动管理器
Boot000D* SanDisk Extreme [snip]
Boot000E USB:
Boot000F 网络启动
Boot0011* PLEXTOR PX-256M5S
Boot0012* SAMSUNG MZVLV256HCHP-[snip]
Boot0013* IPV6 网络 - 英特尔(R) 以太网连接 (4) I219-V
- Ubuntu 运行在 Plextor 硬盘上,而 Windows 运行在三星上
答案1
ubuntu
我在您的输出中没有看到任何条目efibootmgr
。这可能表示固件存在缺陷,导致“忘记”了 EFI 条目,或者您删除了您的 EFI/dev/sda
并在该配置下启动了计算机。许多(但不是全部)EFI 会在启动时故意删除无效的启动条目。因此,如果您拔下引导加载程序所在的磁盘并启动,则下次启动时,即使插入了磁盘,引导加载程序也将不可用。
如果你的固件有缺陷,我建议你先寻找固件更新。这可能解决问题,但不要抱有太大希望。
如果您拔下了 SATA 磁盘,则可以使用它efibootmgr
创建新条目。类似下面的操作应该可以完成这项工作:
sudo efibootmgr -c -d /dev/sda -p 1 -l \\EFI\\ubuntu\\shimx64.efi -L ubuntu
您需要调整系统的-d
(磁盘) 和(分区号) 选项。就您而言,应该是,但您没有说明要将该磁盘上的哪个分区用作 ESP。-p
-d
/dev/sda
请注意,此修复将一直有效,直到您再次拔下磁盘。因此,您不应该经常这样做。如果您需要这样做,您可能需要查看其他解决方法,例如:
- 将 GRUB 安装从 SATA 磁盘移至 M.2 磁盘。
- 安装我的重新索引在 M.2 磁盘上。
- 使用紧急磁盘、EFI shell 或 Windows 创建恢复程序来恢复丢失的启动项。
efibootmgr
例如,您可以使用 EFI shell 脚本执行与该命令等效的操作。