我已经在 Windows 8 系统的外部 USB 磁盘驱动器上安装了 Ubuntu 14.04。如果我重新启动连接了外部磁盘的系统,那么我可以成功启动 Ubuntu 或 Windows 8。我所遵循的说明似乎表明,移除外部磁盘驱动器后,Windows 将像以前一样启动。但是我现在得到了一个 Grub 提示符(GNU GRUB 版本 2.02~beta2-9),我不确定如何启动 Windows。这是否意味着当我想要启动 Windows 时,我总是必须连接外部磁盘驱动器?我希望情况并非如此。如何让 Windows 在没有连接外部驱动器的情况下像以前一样启动,但当驱动器连接时允许启动 Ubuntu?
任何帮助我都感激不尽,非常感谢。
史蒂夫
答案1
发生这种情况是因为您将 grub 放在另一个磁盘上,但它仍然删除了内部磁盘上的引导加载程序。尝试运行“sudo update-grub /dev/sd(无论内部驱动器的名称是什么,我的是 sda)
答案2
您应该能够按照自己想要的方式进行设置。您的机器是 UEFI,因此要启动 USB 的 Ubuntu 系统,您应该为 USB 设置自己的 EFI 分区(300M,FAT32,标记为可启动),并将该分区指定给安装程序(可能有效也可能无效,指定该设备对我来说从来都不起作用)。
无论如何,安装后请检查,如果 USB 的 EFI 分区为空,只需从硬盘的 EFI 复制它即可。现在,USB 默认引导加载程序未由固件中的某些 nvram 条目指示,因此无需在 Windows 端进行任何更改(除了在硬盘之前选择 USB,并可能添加一些启动延迟以让您有机会按下功能键)。USB 引导加载程序是/EFI/Boot/bootx64.efi
。对于非安全启动,该文件应为未签名的 grubx64.efi 的副本。对于安全启动,bootx64.efi 应为文件的副本shimx64.efi
,并且签名版本也grubx64.efi
应存在于/EFI/ubuntu` 中,并且当 USB 存在时,它应该会自动启动。/EFI/Boot
grub.cfg file should be in
现在,您可能在 bootorder 中首先(USB 之后)有一个 nvram 条目指向硬盘/EFI/ubuntu/grubx64.efi
,试图从(不存在的)USB 运行配置文件。该条目是错误的 - 删除它! efibootmgr
Ubuntu 端将允许这样做,或者 Windows 程序可以做同样的事情。硬盘的第一个条目应该是 Windows 的。
现在,没有 USB,Windows 应该可以运行。有了 USB,USB/EFI/Boot/bootx64.efi
应该可以运行并启动 grub。