我试图创建一个持久的 USB 棒,将所有内容(包括 grub 或其他内容)都放在 USB 棒上。我使用 Live CD 进行安装,并且非常确定我将引导加载程序安装更改为 USB 棒,但显然我没有。至少这是我能看到这种情况发生的唯一方法。我重新启动计算机,它为我提供了一个启动选项列表,包括 Windows、ubuntu 等。
这不是我想要的,我只想在选择 USB 盘时启动 ubuntu。我重新启动 Live CD,并格外小心地重新进行 USB 安装。现在我可以像我想要的那样启动 USB。但我无法进入 Windows,也无法弄清楚如何摆脱这个 grub 东西。
当时我连接了两个硬盘,一个安装了 Windows 8 的 ssd,另一个装有某些文件的 hdd。我拔掉了 hdd,但 grub 仍然出现,所以我猜我需要担心的是 ssd。
我尝试插入 Windows 修复盘并运行所有 bootrec 命令,但都不起作用。然后我尝试在 Linux Live CD 上安装启动修复工具并运行推荐的设置,但没有任何效果。我还安装了 os-uninstaller,但它没有显示操作系统列表,它自动想要擦除 Windows 引导加载程序或类似的东西。
无论如何,这是启动修复工具生成的文件
http://paste.ubuntu.com/11927180/
当我的计算机启动时,它显示 GNU GRUB 版本 2.02,最小 bash 类等等
然后
豈> _
当然,如果我尝试从 ssd 启动,它会提示重新启动并选择正确的启动设备。我的主板是 gigabyte 990fxa-ud3。我不太确定我是否在使用 uefi。
这是另一张插入两个硬盘的日志
答案1
您有一台支持 UEFI 的机器,听起来像是您在 USB 上进行了完整安装。您可以在 UEFI 设置/BIOS(而不是传统或兼容性设置)中选择是否以 UEFI 模式运行。运行启动报告时您没有 USB,所以我们无法判断它是如何创建的,但对于 UEFI,它至少应该有一个 EFI 分区、一个交换分区和根分区。
Ubuntu 引导加载程序应该已经安装到 USB 的 EFI 分区,但一个常见的问题是它们被复制到内部磁盘的 EFI 分区,这看起来就像发生的事情(/EFI/ubuntu/ 下的文件...这些引导加载程序只是文件,因此您可以将它们复制到 USB 的 EFI 分区上的同一目录中。此外,将它们放入 USB 的 /EFI/Boot 目录:将 shimx64.efi 复制到 /EFI/Boot/bootx64.efi 并将 grubx64.efi 复制到 /EFI/Boot/grubx64.efi。无论是否启用安全启动,这都会有效。这应该从 /EFI/ubuntu/grub.cfg 中的 grub 配置文件运行 grub。
在没有 grub-bios 分区的 GPT 磁盘上,SDA 上的 MBR 引导加载程序是无用的,对于 UEFI 来说,应该被忽略。
在此过程中,用于启动 Windows 的 Windows nvram 条目被删除(请参阅 boot-repair 报告中的 efibootmgr 列表)。您可以使用 efibootmgr 自行将其添加回来(使用 bootmgfw.efi,见下文)。efibootmgr 可以在实时媒体的终端中运行。当然,Ubuntu 条目是错误的,磁盘上没有 Ubuntu,因此您可能只需将其(名称和引导加载程序)更改为 Windows 条目即可。硬盘 EFI 上的 Ubuntu 条目可能会被忽略,如果您需要空间,请删除它们,但通常 EFI 分区中有足够的空间。下面是一个示例,Windows 是 004 条目,您的条目将有所不同。
Boot0004* Windows 启动管理器 HD(2、e1800、82000、04b9edc2-fc48-11e1-8ec1-e7137b3aaf29)
文件(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS....
在 UEFI 设置中,对于启动顺序,将 USB(和 DVD)放在硬盘之前,并且当 USB 存在时您应该启动到 grub,而在没有 USB 的情况下启动 Windows。
听起来重新安装可以帮你解决问题。